【问题标题】:CAB project targetting only Windows Mobile 6.1 or 6.5.3 devices - Way to restrict the install?CAB 项目仅针对 Windows Mobile 6.1 或 6.5.3 设备 - 限制安装的方式?
【发布时间】:2014-10-21 00:11:02
【问题描述】:

我希望在 Visual Studio 2008 中创建一个 CAB 项目,以便将应用程序部署到多个 Windows Mobile 设备。在这些设备中,有些运行的是 Windows Mobile 6.1,有些运行的是 Windows Mobile 6.5,最后运行的是 Windows Mobile 6.5.3。 p>

我想限制将我的 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 和 6.5.3 兼容但不兼容 6.5 的 1 个 CAB。

看来我应该做2个CAB,每个针对一个版本。有什么想法吗?

【问题讨论】:

    标签: visual-studio-2008 windows-mobile cab


    【解决方案1】:

    创建一个自定义setup.dll,在安装前检查操作系统版本。

    MSDN Documentation is here(尽管他们似乎一直在移动链接)。
    Another example of the code is here

    【讨论】:

    • 太棒了!谢谢克里斯,我不知道这部分 CAB 部署!我读到如果 CAB 是通过 Visual Studio 制作的,那么包含 DLL 没有问题,使用属性,很酷。但是我必须找到在 C++ 中检查操作系统版本的方法,因为这个设置似乎必须用 C++ 进行,对吧?
    • 可能是 GetVersionExSystemParametersInfoSPI_GETPLATFORMVERSION 是的,这必须在 C 中完成。
    猜你喜欢
    • 2010-12-11
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多