我们有一个内部开发的程序。我们正在升级以使用Visual Studio 2012,因此必须将Visual Studio安装程序项目放在后面。如果已经安装了应用程序,InstallShield LE会给我们提供快捷方式的问题。这让我最终选择了WiX。
我已经研究了几天,并阅读了几篇关于如何获得管理员权限的帖子,但似乎都没有。 Package
元素的InstallPrivileges =“1”,并且存在以下Property
元素:
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
启动时不会请求管理员权限,因此在尝试在C:\Program Files(x86)
中创建程序文件夹时会失败。
答案 0 :(得分:25)
回答如何让WiX安装程序请求管理权限
Opus Krokus在comment中找到的解决方案。
<强>答案强>
我添加了以下内容(对于Package元素),我不确定哪个(或什么组合)给了我我需要的东西,但它现在有效:InstallPrivileges =“elevated”AdminImage =“yes”InstallScope =“perMachine “
答案 1 :(得分:1)
查看this Stack Overflow question的答案。
以下是答案的精髓:
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
Opus Krokus建议的解决方案对我不起作用。
答案 2 :(得分:0)
对我来说,这对我在Windows 7(及更高版本)上安装的MSI起了作用:
<!-- Set per-machine installation as default.
See See http://msdn.microsoft.com/en-us/library/dd408007.aspx for an explanation of ALLUSERS=2 and MSIINSTALLPERUSER="".
-->
<Property Id="ALLUSERS" Value="2" />
<!-- Needs to be empty value (and empty value must be commented out to get rid of error message when compiling):
<Property Id="MSIINSTALLPERUSER" Value="" />
-->
如上述XML注释中所述,有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd408007.aspx。
答案 3 :(得分:0)
您需要2条命令:
100
请注意,您必须用<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
<Condition Message="Installation requires Administrator privileges">
<![CDATA[Privileged]]>
</Condition>
和Privileged
包围<![CDATA[
。