WiX:如果以前安装过,强制安装程序重新安装文件

时间:2016-09-07 22:53:47

标签: wix windows-installer

所以我们有MSI安装一个由两个文件和一个注册表主题组成的补丁。它在初始安装时工作正常,但是如果您尝试重新安装它,它将不会替换它应该的文件。有没有办法我可以让WiX强制MSI进入重新安装模式而不是修复模式(我认为这就是它正在输入的内容)?

编辑: 被要求澄清用例,所以这里是我留下的评论的副本。

所以这里的用例是客户端安装了所有软件,包括这个补丁。有些东西不起作用,所以他们卸载一切,然后尝试重新安装软件。当他们这样做时,这个补丁(msi)将不会重新安装。它将看到它已经安装,并进入修复模式。从那里它将看到文件存在,而不是关心文件较旧,并且不会更新它们。我们需要更新这些文件,无论补丁是否认为它当前已安装。

1 个答案:

答案 0 :(得分:0)

如果您确切地说出发生这种情况的原因可能会有所帮助。

安装补丁时,会替换文件(等等),现在补丁是产品的一部分,而不是可以重新应用的单独的东西。尝试重新应用时进入修复模式应该没问题,因为修复将基于初始产品和补丁,因此任何需要修复的文件都将被修复。您不能再安装两次相同的补丁,只能安装两次相同的MSI文件 - 它已经安装好了!因此,我关于你所看到的问题是一个问题。它不能正确修复吗?

看到你的编辑后,补丁是一个msp文件,而不是一个MSI文件。为了卸载所有东西,需要卸载MSI产品,而不仅仅是第一个。