Windows Installer通过Visual Studio:在应用程序中使用多个cab?可能?

时间:2012-02-16 13:33:28

标签: c# setup-project setup-deployment

我有一个从Visual Studio 2010的安装和部署项目创建的Windows Installer项目。在安装程序中,我有许多需要安装的文件,但只有少数文件发生了变化(比如说文件总数的5%,但是文件和它们的名称保持相同但密码更改为数据库文件),而其余95%保持相同(如图像文件)。

对于那些5%的文件,我的安装程序必须始终从头开始运行。是否有可能VS支持多个cab创建,如

永久95%文件的第一个出租车

可更改5%文件的第二个驾驶室

此95%驾驶室将预先创建,我只需要制作第二个驾驶室,但是当我安装msi时,它会安装两个驾驶室内容。有可能????

2 个答案:

答案 0 :(得分:0)

Visual Studio安装项目不支持此功能。一些商业设置创作工具确实支持配置每个CAB,但很可能你不会得到你想要的行为。

CAB只是文件的容器。实际的文件信息存储在MSI中。因此,单独生成CAB不是解决方案,因为它们可能与MSI数据库不匹配。

您可以做的最好的事情是尝试找到一个具有良好缓存机制的设置工具。这样,您可以缩短安装程序的构建时间。

答案 1 :(得分:0)

我做了我想做的事,但有点扭曲。

在我的安装项目中,我删除了永久文件(图像文件)。这使我的msi减少到其收集器尺寸的1/4,并且仅占创建时间的1/4。

然后,对于那些永久文件,我编写了一个自定义操作,将这些文件从sourcedir传输到targetdir。