运行 RemovePreviousVersion 时 MSI 不会安装所有文件 [英] MSI does not install all files when RemovePreviousVersion is run
问题描述
我有一个使用 WiX 版本 3 构建的 MSI.
I have a MSI build using WiX version 3.
我们正在部署的产品的所有以前的安装程序都可以在指定的配置下正常工作(即:如果以前的版本存在,请删除,然后安装新版本) - 但是,我们构建的新 MSI 不会在以下情况下安装所有文件它贯穿删除第一个"路径.
All previous installers for the product we are deploying worked fine with the configuration specified (that is: if previous version exists, remove, then install the new version) - however, the new MSIs we build don't install all files when it runs through the 'remove first' path.
如果我们手动删除现有安装,然后运行新版本,则所有文件都已安装 - 当我在 Orca 中检查 MSI 文件时,文件和功能会显示出来,并且看起来很好.
If we manually remove the existing installation and then run the new version all the files are installed - and when I examine the MSI file in Orca the files and features are shown and seem to be fine.
我们已尝试在打开详细日志和额外日志记录的情况下运行 (/l*vx
),但我们只能看到文件是否未注册 &然后安装.
We have tried running with verbose and extra logging turned on (/l*vx
) however all we can see if that the files are not being registered & then installed.
有什么想法或建议吗?这把我们逼上绝路了.
Any thoughts or suggestions? This is driving us up the wall.
推荐答案
好的,与其他人交谈,帮助我找到问题的解决方案.
OK, well talking to someone else where I am helped me find a solution to the problem.
我们添加了属性 REINSTALLMODE
并将其设置为 amus
.这是什么意思?
We added the property REINSTALLMODE
and set it to amus
. What does this mean?
默认情况下,该属性设置为 omus
,这意味着:如果文件丢失或更旧,则重新安装,为机器和用户配置单元重写注册表,重新安装快捷方式.将其更改为 amus
基本上是说:重新安装所有文件.
By default the property is set to omus
which means: Reinstall if the file is missing or older, rewrite registry for machine and user hives, reinstall shortcuts. Changing this to amus
basically says: Reinstall all files.
所以,不是 100% 确定原因是什么 - 我怀疑可能有奇怪的锁或其他东西,但设置为 amus
不会产生任何不利影响,所以我们会坚持用那个.
So, not 100% sure what the cause was - I suspect there may have been strange locks or something, but setting to amus
doesn't being on any adverse effects, so we'll stick with that.
感谢您的建议.
(此外,可以在此处找到有关此属性的更多详细信息:MSDN: REINSTALLMODE 属性
(Also, more details on this property can be found here: MSDN: REINSTALLMODE Property
这篇关于运行 RemovePreviousVersion 时 MSI 不会安装所有文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!