安装更改不要求UAC权限

Sas*_*sha 5 repair windows-installer uac wix

我为我们的产品实现了一个安装程序。安装程序需要管理员权限,因此我使用带有清单文件的安装引导程序(按照推荐那样)在启用了 UAC 的 Windows 计算机上获得这些权限。安装和卸载都很顺利——用户会被请求许可,安装程序会做它需要做的事情。

\n\n

但是,如果您运行“控制面板\xe2\x86\x92程序和功能”并为已安装的程序选择“更改”*,则会出现错误(自定义,来自安装程序 LaunchConditions),告知安装程序需要管理权限。在这种情况下,我找不到任何方法来请求权限 - Windows 只是运行 MSI 文件,并且不知道有关所需权限的任何信息。

\n\n

更奇怪的是修复功能 - 它请求许可,但随后无法使用 SetupBootstrapper 执行安装期间允许的某些操作。

\n\n

我在这里发现了类似的问题

\n\n

但所提出的解决方案在我们的案例中是不可接受的。

\n\n

现在更改功能的唯一解决方法是始终使用SetupBootstrapper,而不使用程序和功能菜单,但这对用户不太友好,并且迫使用户将安装程序保留在他/她的硬盘上。

\n\n

有没有人更好的建议?

\n\n

PS:我用的是WiX来创建安装程序,因此很高兴听到有关 WiX 解决方案的信息,但我很确定它不依赖于安装程序创建语言,而仅依赖于 MSI 细节。

\n

Mic*_*man 4

哪些行动失败了?如果它们是您添加到安装中的操作,请确保这些操作是用Impersonate="no"and Execute="deferred"(或"commit"或)定义的,并且它们在和 之间"rollback"排序。InstallInitializeInstallFinalize