Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WIX中,在命令行中指定InstallPrivileges是受限还是提升的最佳方式是什么?_Wix_Uac_Limited User - Fatal编程技术网

在WIX中,在命令行中指定InstallPrivileges是受限还是提升的最佳方式是什么?

在WIX中,在命令行中指定InstallPrivileges是受限还是提升的最佳方式是什么?,wix,uac,limited-user,Wix,Uac,Limited User,我想在WiX中创建一个MSI,这样它就可以接受一个命令行参数来指示它是每台机器还是每用户安装,以及是否引发UAC对话框 实现这一点的最佳方法是什么?这是针对每个机器/每个用户的链接 因此,要更改命令行参数中的值,您需要如下所示: msiexec/i myinstaller.msi alluser=[1 | 2] 另外,请从wix用户处了解这一点,UAC对话框由摘要信息流中的一个位控制。不幸的是,这意味着无法在“运行时”(安装/修复/卸载)对其进行控制。您必须构建不同的MSI文件才能真正更改UAC

我想在WiX中创建一个MSI,这样它就可以接受一个命令行参数来指示它是每台机器还是每用户安装,以及是否引发UAC对话框


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

这是针对每个机器/每个用户的链接

因此,要更改命令行参数中的值,您需要如下所示:

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


另外,请从wix用户处了解这一点,UAC对话框由摘要信息流中的一个位控制。不幸的是,这意味着无法在“运行时”(安装/修复/卸载)对其进行控制。您必须构建不同的MSI文件才能真正更改UAC提示符。

我还无法在Vista中进行测试,但在XP中,对于每个用户安装的有限用户和每台计算机安装的管理员用户,可以执行以下操作:

msiexec/i myinstaller.msi alluser=”“INSTALLDIR=“C:\Documents and Settings[用户名]\Local Settings\Application Data\My COmpany\My Program”

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