WiX安装程序应始终以管理员身份运行

rum*_*fx0 15 .net wpf installer wix

我为.NET WPF应用程序开发了一个带有WiX的自定义安装程序.如果我右键单击并以管理员身份运行,它可以正常工作,但是当没有运行时,由于权限不足,某些组件无法安装.

这些组件包括SQL Server Express 2008 R2,FoxIt Reader,ActiveX组件和其他一些组件.它还要求在新安装的数据库上运行一些SQL脚本 - 无论如何,它们都需要管理员权限.


我尝试将InstallScope ="perMachine"和InstallPrivileges ="elevated"属性添加到Package节点,但这似乎没有什么区别.

我确定这是愚蠢的,但我在参考或在线找不到任何东西.

Chr*_*ins 23

我想如果你加上

<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
Run Code Online (Sandbox Code Playgroud)

它应该解决问题.如果没有,请告诉我,我可以再做一些检查.

  • 不适合我。我仅需要按用户安装范围,并且需要提升的安装程序,因为某些文件被复制到系统计算机范围文件夹中。我可以使用命令运行,但我需要它在启动时提示 uac 对话框 (2认同)

Moh*_*eza 5

将其添加到您的包元素中

<Property Id="ALLUSERS" Value="1" />    <!--equals to install="permachine" at package element but this element depricated -->
<Property Id="MSIUSEREALADMINDETECTION" Value="1" /> 

<Condition Message="Please Run as Administrator.">
      Privileged
</Condition>
Run Code Online (Sandbox Code Playgroud)

然后使用 Winrar 和以下选项为 msi文件创建一个简单的sfx 存档文件:

  • 设置选项卡 >执行后运行输入:您的 msi 文件名

  • 高级选项卡 > 标记请求管理访问选项复选框