Visual Studio安装程序指出,最佳做法是将每个文件作为安装程序组件进行安装。 Wix随附的heat实用程序似乎也遵循将每个文件放在其自己的组件中的做法。

InstallShield的组件向导使用InstallShield的设置最佳实践,即将可移植的可执行文件放置在其自己的组件中,但将所有其他文件(例如,未版本化的文件)按公用目标文件夹分组。

练习一的优点(每个文件都位于其自己的组件中)是将每个文件设置为密钥文件,如果您希望这些文件触发修复,则这很重要。由于您正在为每个文件创建组件,因此还可以更轻松地自动创建组件(例如加热)。

实践一的缺点包括管理如此多的组件的开销以及安装应用程序后注册表的膨胀。

在将数百个图形文件安装到一个目录的安装中可以看到实践2的优点。如果您不关心修复功能,是否有任何理由为此安装创建数百个组件?

这两种不同的做法相互矛盾,我想知道人们实际使用的是哪一种,为什么。

最佳答案

我一直使用Microsoft方法(类似于InstallShield的方法):
http://msdn.microsoft.com/en-us/library/aa368269(VS.85).aspx

我认为这是最好的,因为:
-重要文件(EXE,DLL等)具有自己的组件,因此可以轻松修复
-资源文件分组在一起
-它可以提供最佳的组件数量(长时间安装并不需要太多,但易于维修)

我还注意到,大多数商业设置创作工具都使用这种方法。

07-24 09:45
查看更多