可以 Windows 具有管理员用户帐户的服务启动 msiexec 更新应用程序以更新应用程序

Can Windows Services with Admin User Account to start msiexec updating app for update an app

如标题,我想知道,如果任何管理员用户帐户windows服务可以启动并运行(成功,即没有失败!)一个更新,基于 msiexec 的应用程序,用于更新安装有 msi 软件包的另一个应用程序。

感谢您的帮助。

在适当的情况下(已签名的 MSI 和 MSP 补丁文件)您甚至不需要成为管理员即可安装补丁更新,非管理员也可以安装:

https://msdn.microsoft.com/en-us/library/aa372388(v=vs.85).aspx

我不确定,如果我理解你是对的:是的,任何提升的(具有本地系统或管理员权限)Windows 服务我们称之为 A , 可以启动一个应用程序 B,它具有 "enough" 权限来更新每个基于 MSI 的应用程序 C

你不必为权利继承而烦恼:权利被干净地继承,甚至更进一步,所以B也可以开始D,以 E 开头,E 可以更新 MSI(基于 C)。

要清楚,什么是 不是 ("normally" 和容易)可能的,C 的 .MSI 设置启动另一个应用程序的 MSI 设置,让我们调用他们 F。 通常一次只有一个 MSI 可以 运行。 (免责声明:当然这不是完全不可能,但不是现在的最佳实践,如果,应该由真正的 MSI 专家来完成)。

如果你想更新多个 MSI,推荐的方法是,B 首先更新 C MSI,然后可能其他人喜欢 F.

备注:通常您不需要三个级别,两个就足够了 - 一个 .exe 和一个 .msi 是最好的建议:首先启动具有提升权限的 .exe(服务或普通应用程序)(例如 setup.exe,对于 MSI 也称为 'bootstrapper'),并让它调用 MSI 文件,这是最推荐的方法来避免可能的烦人或令人惊讶的效果,特别是对于非 MSI 专家。
这与双击 .msi 文件本身并依赖 UAC 相比,UAC 来得相当晚,但有影响。