如何在不提示UAC的情况下允许程序更新?

我们有大约15-20个用户谁安装了这个软件 。

我们已经通过GPO启用了UAC,这意味着如果标准用户试图安装,则软件会提示pipe理员批准。 这很好,他们可以打电话给服务台安装软件。

我的问题是,我们的服务台每天都受到轰炸,因为用户无法更新软件,几乎每天都有更新提示UAC。

使用procmon.exe找出它试图写入的位置,然后我创build了一个GPO,允许文件权限访问这个特定软件的程序文件文件夹,包括程序数据文件夹,但是它仍然提示pipe理员批准。 似乎软件正在使用msiexec.exe运行.msp修补程序文件。

我唯一可以在procmon中看到的“ACCESS DENIED”就是这样的:

procmon日志

除了禁用UAC之外,我还可以做些什么来阻止这个软件使用pipe理员密码提示UAC?

不幸的是,这个不方便的问题并不容易解决,因为你真的在讨论行为不当的软件 – 不适用于工作站被locking的企业环境。 您将需要select可以运行的软件,而无需积极应用修补程序,然后您可以pipe理日程安排并在签名后自行推出。 这就是为什么系统pipe理员要避免经常更新的消费级软件。

我不知道为什么你说UAC enabled through GPO as you should 。 我不同意这种说法。 用户不应该有pipe理权限,解决UAC问题。

为了避免这个问题,为什么要让用户安装更新,而不是通过启动脚本或软件安装策略通过GPO推送更新? 听起来这比用procmon来debugging这个要容易,除了“正确地做”和确保一个一致的环境之外,还应该拯救地狱一些悲伤。

您需要签署MSI包和MSP包。 这是一个详细的MSI SDK中的详细步骤: 用户帐户控制(UAC)修补

我已经有这样的问题,我的工作是在不同的用户帐户下运行特定的程序。 如果您的软件可以使用LSA帐户,那么您可能会有更好的运气。