/quiet 和 /qn 选项似乎不适用于使用 WIX 创建的安装程序的 /x{guid}



当我发现它在作为管理员执行时确实有效时进行了编辑

请善待我,因为我对Wix安装程序还很陌生,所以我还不完全清楚如何有效地询问这个问题。

话虽如此。。。。

我创建了一个.wixproj,它运行良好。当我运行它生成的.msi时,它会安装产品,所有文件都在那里。产品Id设置为{guid}。

当我运行msiexec.exe/x{guid}时,它工作正常。它显示UI,询问用户是否要卸载产品,当用户确认后,它将卸载产品。

当我运行msiexec.exe/x{guid}/passive时,它工作正常。UI弹出并向用户显示正在卸载产品。

作为管理员:当我运行msiexec.exe/x{guid}/q时,只要我以提升的权限运行它,它就会工作,例如从启动的命令提示符"作为管理员">

非管理员身份:当我运行msiexec.exe/x{guid}/qn或/quiet或/qn/passive时。。。。它只是直接返回到命令行,并且产品仍然安装,即使我在没有提升权限的情况下安装了产品。

我是否可以在.wxs文件中设置一些属性来让msiexec/x{guid}/q工作,即使它是由没有提升权限的用户调用的?

我很乐意在这里添加.wxs文件中的代码片段,但我不确定该包含什么。这里有一部分:

<Product Id="guid here"
Name="our name here"
Language="1033"
Version="5.9.2.65"
Manufacturer="our company here"
UpgradeCode="a different guid here">
<Package InstallerVersion="500"
Compressed="yes"
InstallScope="perMachine"
Platform="x86" />

您的MSI被声明为perMachine(请参阅Package/@InstallScope(。如果您希望包能够由非管理员管理,则需要将其更改为perUser

注意:每个用户的软件包不会提示标高,因此无法安装到每个机器的位置。

我不清楚您是如何在没有管理权限或提升提示的情况下安装perMachine软件包的,但您没有在问题中提供有关详细信息。

附言:这些都不是关于WiX工具集。这一切都与Windows安装程序的行为有关。

最新更新