MSI行为不一致

问题描述

我们使用InstallAware18。我注意到某些不一致的行为。

安装上下文在我不知情的情况下发生了变化。 如果我双击已建立的MSI,通常可以按用户安装。对我们来说很好。 HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ MyApp.msi

但是,在Powershell脚本中测试了msi几个小时之后,MSI最终进行了每台计算机的安装 HKLM \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ MyApp.msi

注意:
即使我使用msiexec.exe,也会遇到此问题。我既没有从命令行使用 ALLUSERS 属性,也没有在MSI中设置该值。

解决方法

[贷给:Stein Asmul。他发布的链接给了我更好的问题,让我步入了最终的答案]

如果您自己未将 ALLUSERS 属性设置为某个值,系统将选择最合适的选项(例如,安装是以管理员身份还是常规用户身份运行)

现在,我在MSI脚本中将ALLUSERS设置为“ TRUE”。当我双击该文件时,将获得每台计算机的安装。

注意:(/ q 标志似乎忽略了'ALLUSERS'属性
msiexec.exe / i myapp.msi-按计算机安装。
msiexec.exe / i myapp.msi / qn-按用户安装。

经过反复测试,我可以说/ q肯定会导致MSIEXEC.exe忽略ALLUERS = TRUE(或将其更改为FALSE)。我不知道为什么。也许这是InstallAware产品所独有的。我不能确定;我还在学习