我正在使用InstallShield基本MSI安装程序,该安装程序中包含另一个MSI链接以及自定义操作。
以管理员身份安装我们的应用程序效果很好,MSI运行,启动我们的自定义操作以及链式MSI。 但是,如果在Windows 7上以非管理用户身份运行它,则会获得两个UAC提升提示(一个用于原始执行,一个用于链式MSI),但自定义操作可能由于缺少高程而失败。
如果用户不是管理员,我想停止安装程序运行(我们可以控制软件环境,因此我可以假设管理员已关闭UAC)或确保此自定义操作提示用户提升(再次)在跑步之前。
我在使用InstallShield工具的常规信息部分中添加了“AdminUser”条件(如下所示),但Windows 7中的非管理员用户未收到警告并可以安装该应用程序。
这里有什么我想念的吗?
答案 0 :(得分:1)
是。对于您要执行的操作,您需要设置MSIUSEREALADMINDETECTION
property。但是我建议只使用相同的证书签署两个.msi文件,因为Windows Installer不会发出第二个UAC提示。