每个组件一个文件或每个组件多个文件?
-
05-07-2019 - |
题
我应该将所有要安装的文件包装在单个组件中吗? 将多个文件放在一个组件中有什么好处?
解决方案
“每个组件一个文件”的一个原因。是弹性。启动应用程序时,Windows Installer可以检查任何组件的密钥路径不见了。如果缺少密钥路径,则重新安装/修复组件。
如果某个组件有多个文件,那么只能有一个文件可以作为密钥路径。在wix中,您可以通过在文件<上设置 KeyPath = yes
来表明这一点。 / a>元素。其他文件将不受Windows Installer弹性的完全保护。只有在丢失密钥路径文件时才会重新安装它们。
拥有“每个组件一个文件”的另一个原因是将文件安装到可能已存在的位置(例如,应用程序升级,或安装到 c:\ windows \ system32
)。 Windows安装程序通过检查密钥路径来确定是否需要安装组件。如果密钥路径是文件且文件已经存在(具有相同版本或更高版本),则组件不安装。如果组件中的其他文件实际需要安装/升级,则会出现问题。
其他提示
我遵循InstallShield也使用的Microsoft方法: http://msdn.microsoft.com/en-us/library/aa368269(VS.85)的.aspx
上述链接给出了这种方法的优点。
不隶属于 StackOverflow