【问题标题】:Prevent changes to Dependencies on Smart Device Setup CAB防止更改对智能设备设置 CAB 的依赖项
【发布时间】:2012-11-30 15:33:36
【问题描述】:

我有一个 Windows Mobile 应用程序,它由一个 shell 和几个模块组成。每个模块都有自己的安装项目,用于生成 CAB 文件来安装它,还有一个用于作为基础应用程序的 shell。我遇到的问题是,每次我打开一个模块的解决方案(每个模块都有自己的解决方案,根据需要引用其他项目)时,Visual Studio 会刷新安装项目的依赖项,实际上会破坏整个设置项目。

我有两个与此相关的主要问题,第一个是安装程序 CAB 正在提取多个 DLL 的两个版本。一个来自 Compact Framework,另一个是“普通”DLL。这会使 CAB 大小呈指数增长并导致警告,因为有两个同名文件。

我遇到的第二个问题是每个模块的安装程序应该只包括模块 DLL,而不是任何依赖项(因为它们都是外壳 CAB 的一部分)。但是每次打开解决方案时,我都必须在构建 CAB 之前手动删除每个依赖项。

另外值得注意的是,这些项目已签入 Team Foundation Server,但不知何故设法在未签出的情况下进行更改。

我正在运行 Visual Studio 2008,针对 .NET 3.5 框架进行开发,适用于 Windows Mobile 5.1-6.5。

我将不胜感激有关此问题的任何见解,因为每次我需要进行发布时都重新处理依赖项非常耗时。

【问题讨论】:

    标签: windows-mobile dependencies installation cab smart-device


    【解决方案1】:

    智能设备 CAB 项目令人厌恶。它仅适用于最简单的部署(即使那样它也是有限的)。我们最终为所有安装采用的解决方案是手动滚动 INF 文件(您可以使用当前 CAB 项目创建的基线 INF 文件),然后直接从批处理文件/命令行调用 CABWIZ 以生成安装 CAB。这听起来很痛苦,但实际上并非如此,而且它也适用于通过 MSBUILD 实现自动化,因此构建部署包更容易实现自动化。

    【讨论】:

    • 我也不使用 VS2008 部署项目,我总是使用 OCP Software 的 WinCE Cabmanager 构建我的安装。
    • @josef - 是的,几乎任何事情都比 CAB 部署项目好。
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2010-09-07
    • 2018-08-12
    • 1970-01-01
    • 2017-09-08
    • 2010-09-26
    相关资源
    最近更新 更多