由KB2918614引起的MSI错误"计算机必须受信任以进行委派"

Gre*_*ray 11 wmi windows-installer windows-server-2008-r2

我们有一个基于MSI的安装程序,最近停止在Windows 2008 R2环境中工作.使用\\servername\c$\admin UNC共享将安装程序复制到目标计算机,然后使用WMI Win32_Process类上的create方法远程执行.远程执行现在失败,并在事件查看器中显示以下错误消息:

找不到来自源MsiInstaller的事件ID 10837的描述.引发此事件的组件未安装在本地计算机上,或者安装已损坏.您可以在本地计算机上安装或修复该组件.

如果事件源自另一台计算机,则必须随事件一起保存显示信息.

活动中包含以下信息:

产品:我们的产品名称 - 无法完成所要求的操作.必须信任计算机以进行委派,并且必须将当前用户帐户配置为允许委派.

搜索后看起来这是由最近发布的Windows Installer安全补丁引起的.当我卸载KB2918614时,安装程​​序再次开始工作,如果我重新安装KB2918614,MSI将再次停止工作.

错误消息表明要解决此问题,我们必须让域管理员使用Active Directory用户和计算机编辑目标计算机以允许委派,但MSI不使用任何远程资源,所以我不明白为什么这是需要.相同的MSI和远程执行过程在Windows Server 2012上运行正常,所以我想知道这是否是2008 R2补丁的问题.

有没有其他方法来解决此错误消息?

更新:这似乎不是WMI远程执行的问题,因为当我们尝试使用Powershell,WinRM和Invoke-Commmand -ComputerName TargetComputer ...cmdlet 远程安装MSI时也会出现这种情况.安装KB2918614后,2008 R2上的Windows Installer的工作方式发生了变化,现在阻止自定义操作完成它的任务.

Deb*_*eak 5

据我所知,

对于KB2918614,MS显然已尝试在Windows Installer服务中修复某些内容.

新的东西:

  • 他们正在%windir%\ Windows\Installer下创建一个名为"SourceHash {PRODUCT-GUID}"的文件.这适用于机器上安装的每个产品(已安装KB2918614).
  • SECREPAIR-他们正在计算给定MSI的"存储哈希值"和"当前哈希值".

错误:

  1. 并且,在这种比较中,出于某种原因,这些不匹配!(在MSI详细日志中找到这些).

  2. 一旦失败,它将查找计算机策略值'AlwaysInstallElevated'用户策略值'AlwaysInstallElevated'

  3. 现在,如果您正在运行静默安装"qn",则会抛出此错误:MSI_LUA:已禁用静默安装的提升提示.

  4. 删除msiexec- ex.,"qr"或"qb"的静默安装cmdline选项将抛出UAC提示符.(这很可能不是预期的行为).

附加信息:

我的MSI通过bootstrapper exe进行了ivk.但是,这并不重要.即使通过cmd行手动调用msiexec的行为也是一样的.

任何输入/解决方案,任何人?


小智 1

我也遇到这个问题。我得到了 powershell 脚本来在远程计算机上安装 MSI(使用 Invoke-Command cmdlet 并随脚本一起提供凭据),但突然无法安装 MSI,我想这也是来自此安全补丁的。
使用域帐户(从远程桌面)在目标计算机上手动运行 MSI 安装文件后,突然 powershell 脚本可以使用域帐户运行 MSI 安装,但如果我使用目标计算机本地管理员帐户,仍然无法安装。
我更喜欢将其添加为评论,但我没有足够的代表来做到这一点。如果其他人对此有任何解决方案或解释,我也很想知道。谢谢。