我希望在Visual Studio 2008中创建一个CAB项目,以便将应用程序部署到多个Windows Mobile设备。在这些设备中,其中一些设备运行Windows Mobile 6.1 ,其他设备运行Windows Mobile 6.5 ,最后一部设备运行Windows Mobile 6.5.3 。
我想限制将我的CAB安装到6.1& 6.5.3终端,而不是6.5终端。
我已经在过去的CAB项目中使用过,所以我查看了项目的属性窗口,看看我是否可以设置操作系统最小/最大版本,或者是否有一个字段来排除某些操作系统版本。这里描述了字段:http://msdn.microsoft.com/en-us/library/ms228717%28v=vs.90%29.aspx
特别是:
OSVersionMax
指定最大Windows CE操作系统版本号 哪个.cab文件可以安装。有几种方法可以 确定设备的操作系统版本号:
- 请参阅Windows Mobile设备的操作系统版本。
- 查看设备上的“关于”页面。
- 使用OSMajor和OSMinor以编程方式查询设备。
OSVersionMin
指定最低Windows CE操作系统版本号 哪个.cab文件可以安装。有几种方法可以 确定设备的操作系统版本号:
- 请参阅Windows Mobile设备的操作系统版本。
- 查看设备上的“关于”页面。
- 使用OSMajor和OSMinor以编程方式查询设备。
操作系统的版本基于Windows CE版本(http://msdn.microsoft.com/en-us/library/dd722874%28v=vs.90%29.aspx):
Windows Mobile 6.5.3 ==> 5.2.23090
Windows Mobile 6.5 ==> 5.2.21234
Windows Mobile 6.1.4 ==> 5.2.20757
Windows Mobile 6.1 ==> 5.2.19202
我无法解决任何只能生成与我的6.1& A兼容的1个CAB的解决方案。 6.5.3但不是6.5。
我似乎应该做2个CAB,每个CAB都针对一个版本。有什么想法吗?
答案 0 :(得分:2)
创建一个自定义setup.dll
,在安装前检查操作系统版本。
MSDN Documentation is here(虽然他们似乎一直在移动链接) Another example of the code is here。