2

我想在 WiX 中创建一个 MSI,以便它可以采用命令行参数来指示它是按机器安装还是按用户安装,因此是否引发 UAC 对话框。

实现这一目标的最佳方法是什么?

4

3 回答 3

2

这是来自MSDN的 per-machine/per-user 的链接。

所以要改变命令行参数的值,你需要这样的东西:

msiexec /i myinstaller.msi ALLUSERS=[1|2]

另外,请查看wix-users的此链接

于 2008-11-24T17:06:21.277 回答
1

UAC 对话框由 SummaryInformation 流中的位控制。不幸的是,这意味着它无法在“运行时”(安装/修复/卸载)进行控制。您必须构建不同的 MSI 文件才能真正更改 UAC 提示。

于 2008-11-24T17:34:33.793 回答
0

我还不能在 Vista 中进行测试,但是对于每个用户安装的受限用户和每个机器安装的管理员用户,XP 中的工作如下:

msiexec /i myinstaller.msi ALLUSERS="" INSTALLDIR="C:\Documents and Settings[用户名]\Local Settings\Application Data\My COMpany\My Program"

INSTALLDIR 可以是受限用户可以写入的任何内容。以上是谷歌浏览器使用的目录。从以下链接中发现 ALLUSERS 属性实际上可以为空白,与 1 或 2 不同,并且正确设置了 ProgramDir 和桌面位置

http://blogs.msdn.com/astebner/archive/2007/11/18/6385121.aspx

于 2008-12-04T18:52:36.460 回答