Windows mobile 防止更改对智能设备设置CAB的依赖关系

Windows mobile 防止更改对智能设备设置CAB的依赖关系,windows-mobile,dependencies,installation,cab,smart-device,Windows Mobile,Dependencies,Installation,Cab,Smart Device,我有一个Windows Mobile应用程序,它由一个外壳和几个模块组成。每个模块都有自己的安装项目,用于生成CAB文件以进行安装,对于作为基本应用程序的shell,也有一个安装项目。我遇到的问题是,每次打开模块的解决方案(每个模块都有自己的解决方案,根据需要引用其他项目),Visual Studio都会刷新安装项目的依赖项,实际上会中断整个安装项目 与此相关,我遇到了两个主要问题,第一个是安装CAB引入了几个DLL的两个版本。一个来自Compact框架,一个“普通”DLL。这会使CAB大小呈指

我有一个Windows Mobile应用程序,它由一个外壳和几个模块组成。每个模块都有自己的安装项目,用于生成CAB文件以进行安装,对于作为基本应用程序的shell,也有一个安装项目。我遇到的问题是,每次打开模块的解决方案(每个模块都有自己的解决方案,根据需要引用其他项目),Visual Studio都会刷新安装项目的依赖项,实际上会中断整个安装项目

与此相关,我遇到了两个主要问题,第一个是安装CAB引入了几个DLL的两个版本。一个来自Compact框架,一个“普通”DLL。这会使CAB大小呈指数级膨胀,并导致警告,因为有两个文件具有相同的名称

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

还注意到,这些项目被检查到Team Foundation Server,但不知何故,在不签出的情况下,可以进行更改。 我正在运行VisualStudio2008,它是针对.NET3.5框架开发的,适用于WindowsMobile 5.1-6.5


如果您能深入了解这个问题,我将不胜感激,因为每次我需要发布一个版本时,都需要花费大量时间来修改依赖项。

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

我也不使用VS2008部署项目,我总是使用WinCE Cabmanager by OCP软件构建安装。@josef-是的,几乎任何东西都比CAB部署项目好。