我想运行由此创建的msi:
<Package Id="" InstallerVersion="300" InstallPrivileges="limited">....
默认以管理员身份运行。
拥有有限的installprivileges属性值是什么意思? 我可以使用它默认以管理员身份运行msi吗?
答案 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”。