1

我们使用 InstallAware 18。我注意到一些不一致的行为。

安装上下文在我不知情的情况下发生了变化。 如果我双击我构建的 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 中设置值。

4

1 回答 1

0

[归功于:斯坦·阿斯穆尔。他发布的链接给了我更好的问题,让我找到了最终的答案]

如果您自己没有将ALLUSERS属性设置为某个值,系统将选择它认为最好的任何值(例如,安装是以管理员身份运行,还是以普通用户身份运行)

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

注意:(/q标志似乎忽略了 'ALLUSERS' 属性
msiexec.exe /i myapp.msi -- 获取每台机器的安装。
msiexec.exe /i myapp.msi /qn -- 获取每个用户的安装。

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

于 2020-09-04T05:45:30.703 回答