在Visual Studio.NET中生成Smartphone安装包
现在如何制作Smartphone安装包,已经成为常见问题了。在Smartphone中,cab文件是标准的安装文件,在安装结束后,CAB文件将被自动删除。通常情况下,使用CabWiz程序进行Windows Mobile程序的打包。在Visual Studio.NET中提供了生成CAB文件的选项,并可以在Pocket PC程序中正确运行,但是在Smartphone中却会报错。这里,我们通过修改几个配置文件来实现在Viusal Studio.NET中生成Smartphone安装包。
首先,我们打开一个Smartphone的解决方案(sln文件),将配置选为“Release”,并选择“生成”菜单下的“生成解决方案”。如果Build过程正确,则选择“生成”菜单下的“生成Cab文件”。
然后,我们进入项目的文件目录中的obj/Release目录下,我们可以看到BuildCab.bat和xxxx_SMP.inf文件(xxxx表示项目名称),还有已经生成的可执行文件。如果可执行文件需要混淆,则可以将混淆后的可执行文件替换该目录下的可执行文件。
我们右键单击BuildCab.bat文件,选择“编辑”,可以编辑bat文件。Bat文件中的第一部分为"C:/Program Files/Microsoft Visual Studio .NET 2003/CompactFrameworkSDK/v1.0.5000/Windows CE/Smartphone/../bin/../bin/cabwiz.exe",可是Smartphone的打包文件是CabWizSP,我们可以在Smartphone的SDK的tools目录下找到它。所以将上面的部分替换为"C:/Program Files/Windows CE Tools/wce420/SMARTPHONE 2003/Tools/CabwizSP.exe"。然后保存BuildCab.bat文件。
然后,我们打开xxxx_SMP.inf文件,这是一个标准的INF文件。我们可以将公司或开发者的名字写到[Version]下的Provider中;将程序名写入[CEStrings]下的AppName中。
我们还需要修改两处错误的文件路径。将[SourceDisksNames.ARMV4]下改为4=,"ARMV4_Setup",,"C:/Program Files/Microsoft Visual Studio .NET 2003/CompactFrameworkSDK/v1.0.5000/Windows CE/wce400/ARMV4/"。[SourceDisksNames.X86]下的改为6=,"X86_Setup",,"C:/Program Files/Microsoft Visual Studio .NET 2003/CompactFrameworkSDK/v1.0.5000/Windows CE/wce400/X86/"。这样,运行BuildCab.bat就不会报错了。
您还可以根据INF标准,修改该文件。但需要提醒大家的是,Smartphone项目的INF文件中不能使用中文,否则会报错。而在Pocket PC项目中没有这个问题。
修改完成后,我们执行BuildCab.bat文件。注意,在修改了BuildCab.bat和xxxx_SMP.inf文件后,请不要再执行IDE环境中“生成Cab文件”命令。否则,VS.NET会重新生成BuildCab.bat和xxxx_SMP.inf文件。
BuildCab.bat执行完成后,我们可以在工程目录下的cab/Release目录下找到xxxx_SMP.ARMV4.CAB和xxxx_SMP.X86.CAB文件。CabWiz.SMP.log中记录着CabWizSP的运行信息。其中ARMV4.CAB在实际设备中运行,而X86.CAB文件在模拟器中运行。
我们将Smartphone连接到PC机上,通过ActiveSync将CAB文件拷贝至“/Storage/Windows/Star Menu”中。然后我们在Smartphone中,选择“开始”菜单,在菜单中找到CAB文件,执行,就可以完成程序的安装了。
这样,在每次Build程序之后,IDE会将最新的可执行文件自动拷贝至obj目录中,你只要执行一下BuildCab.bat,就可以得到Smartphone的安装包了。
aawolf原创,转载请注名原出处:Blog.csdn.net/aawolf