在 WIX 命令行中指定 InstallPrivileges 是受到限制还是提升的最佳方法是什么?
我想在 WiX 中创建一个 MSI,以便它可以使用命令行参数来指示它是按计算机安装还是按用户安装,从而指示是否引发 UAC 对话框。
实现这一目标的最佳方法是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是来自 的每台计算机/每用户的链接MSDN。
因此,要更改命令行参数的值,您需要如下所示的内容:
msiexec /i myinstaller.msi ALLUSERS=[1|2]
另外,请查看此 来自 wix-users 的链接
This is the link for per-machine/per-user from MSDN.
so to change the values from the command line parameter, you'll need something like so:
msiexec /i myinstaller.msi ALLUSERS=[1|2]
Also, have a look at this link from wix-users
UAC 对话框由 SummaryInformation 流中的一位控制。 不幸的是,这意味着它无法在“运行时”(安装/修复/卸载)进行控制。 您必须构建不同的 MSI 文件才能真正更改 UAC 提示符。
The UAC dialog is controlled by a bit in the SummaryInformation stream. That, unfortunately, means it cannot be controlled at "run time" (install/repair/uninstall). You have to build different MSI files to truly change the UAC prompt.
我还无法在 Vista 中进行测试,但在 XP 中,对于每用户安装的有限用户和每台计算机安装的管理员用户,有效的方法如下:
msiexec /i myinstaller.msi ALLUSERS="" INSTALLDIR="C:\Documents和 Settings[用户名]\Local Settings\Application Data\My COmpany\My Program"
INSTALLDIR 可以是受限用户可以写入的任何内容。 以上是 Google Chrome 使用的目录。 从以下链接发现 ALLUSERS 属性实际上可以为空,与 1 或 2 不同,并且可以正确设置 ProgramDir 和桌面位置
http://blogs.msdn.com/astebner/archive/2007/11/18/6385121.aspx
I haven't been able to test in Vista yet, but what works in XP for limited user per user install and admin user per machine install is the following:
msiexec /i myinstaller.msi ALLUSERS="" INSTALLDIR="C:\Documents and Settings[Username]\Local Settings\Application Data\My COmpany\My Program"
The INSTALLDIR can be anything that a limited user can write to. The above is the directory Google Chrome uses. Found from the following link that the ALLUSERS property can actually be blank which is distint from 1 or 2 and that correctly sets the ProgramDir and Desktop locations
http://blogs.msdn.com/astebner/archive/2007/11/18/6385121.aspx