Active Directory无法安装msi,原因是:安装了较新的版本。但它从未在目标系统上安装过

时间:2016-02-19 14:15:38

标签: windows active-directory windows-installer installer msiexec

我尝试使用Active目录安装我的.msi包来清理Windows 8.1。 无法安装到目标系统,sysytem日志包含错误: 已安装“较新版本” 一件重要的事情:那就是清洁系统。 注册表不包含我的软件的“产品代码”或“升级代码”。 但如果安装软件manualy - 它安装正确。 其他一些软件安装正确(grepWin x64)。

  • msi从setup.exe解压缩 - 由Installshield 2013构建
  • 活动目录:Windows Server 2012
  • 目标:Windows 8.1

有任何解决方案吗?

2 个答案:

答案 0 :(得分:0)

您在注册表中找不到ProductCodes或UpgradeCodes,因此搜索它们并不能告诉您任何事情。他们被混淆了。像MsiEnumRelatedProducts(和等价物)这样的API更准确。

一般问题可能是特定的ProductCode已经安装在您可能不知道的某些上下文中(每个用户vs每台计算机)。严格来说,它是ProductCode和安装上下文的组合,意味着已经安装了"已经安装了#34;。重复的PackageCodes也可以触发此错误,但这似乎不太可能是您所说的。

如果您打算使用主要升级进行全新安装或升级现有产品,也不清楚。

因此,如果您可以手动安装但不安装AD,请检查AD安装和手动安装的上下文。如果系统上有每个用户安装且AD尝试安装另一个用户,那么您将看到此错误。在AD中,它类似于向用户(每个用户)发布而不是分配给机器(每台机器)。反之亦然,如果每台机器已经存在,则可以按用户安装,但如果已经有一台机器,则AD无法在每台机器上安装另一台机器。请注意,如果您以其他用户身份登录,则会使事情变得复杂。 AD正在抱怨的另一个帐户下可能有每个用户安装,而您和您的帐户可以安装每个用户或每台计算机。

答案 1 :(得分:0)

我找到了答案。 Sequences->安装 - > Execute-> ISPreventDowngrade

条件很奇怪,检查版本和主要升级。 当它被设置为" ISFOUNDNEWERPRODUCTVERSION"安装与AD一起工作。

我仍然不明白为什么安装在使用AD之前无法正常工作,并且在正常(和静音模式)安装下正常工作。