MSI卸载UAC提示

时间:2013-07-07 18:19:01

标签: windows-installer uac

我们的数字签名MSI设置为仅按用户安装。这有效,并没有按预期提供UAC提示。文件按预期安装到AppData。问题是卸载或升级MSI需要通过UAC提示输入admin un / pass。什么特定的配置可能导致这种情况,或者我可以看一下调试它?

  • 使用Visual Studio的安装项目
  • 创建MSI
  • 目标操作系统是XP或7,其中7是理想目标

1 个答案:

答案 0 :(得分:0)

哪个操作系统?你如何设法为每个用户安装它,特别是如何将ALLUSERS属性设置为空安装和卸载?您确定没有自定义操作(例如来自installshield)设置ALLUSERS。也许搜索msi表以确保此属性未设置。

我只是尝试安装和卸载这样的简单测试msi,它在没有UAC的Win7(64,SP1)下工作正常。 所以我至少可以证明它是可能的:

安装:
msiexec / i testmsi.msi / qb ALLUSERS =“”

卸载:
msiexec / x testmsi.msi / qb ALLUSERS =“”

(同样的,如果在没有该命令行参数的msi中根本没有设置ALLUSERS,则与用于卸载的productcode一样。)

因此主要的前提条件得以实现:
- 我的安装路径设置为适当的AppData路径
- 没有在HKLM上创建注册表项而不在其他资源上创建 - ALLUSERS为空或未定义
- 在摘要信息中,未设置UAC标志 - 没有需要提升权利的自定义操作

我没有尝试使用已签名的MSI,但我认为这不会产生任何影响。

这意味着没有你查看日志文件或msi本身的相应行,这似乎不能更好地回答。