我可以使用Install Privilege值设置为限制运行带管理员权限的msi吗?

时间:2014-01-24 11:11:37

标签: installer

我想运行由此创建的msi:

<Package Id="" InstallerVersion="300" InstallPrivileges="limited">....

默认以管理员身份运行。

拥有有限的installprivileges属性值是什么意思? 我可以使用它默认以管理员身份运行msi吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,您无法使MSI以管理员身份运行(例如,您可以右键单击EXE并选择“以管理员身份运行”)。 MSI不是独立的可执行文件,它只是一个存储安装所需的所有信息的数据库,此数据库与Windows Installer服务(msiexec.exe)相关联,因此当您双击MSI时实际运行msiexec .exe并传递MSI作为要使用的服务的信息。

只能构建EXE文件,因此默认情况下它们作为admin运行,当用户按下“安装”按钮时,MSI将在安装时提升(从Vista开始,UAC),如果Windows Installer检测到包被配置为每台计算机安装(即ALLUSERS property设置为corespondent值,MSI在Program Files文件夹或HKLM注册表配置单元的每个机器位置安装资源。)。

请注意,只有在机器上启用了UAC(默认设置为Vista以后)时,按“安装”按钮才会出现提升MSI的提示。如果禁用UAC,则安装将失败,因为默认情况下,未经用户事先同意,操作系统不会升级。

如果您需要从头开始以管理员身份运行安装,则需要将MSI包装到bootstrapper。作为EXE的引导程序可以将执行级别设置为“requireAdministrator”。