组策略是否会在从网络下载 MSI 之前检测已安装的版本

组策略是否会在从网络下载 MSI 之前检测已安装的版本

我使用组策略部署了 Adob​​e Reader X .msi 文件,该文件成功更新了目标机器。

这些机器所属的计算机组仍与 GPO 有联系部署了.msi。

它是在运行新安装之前检查已安装软件版本的 .msi 文件,还是另一个 Windows 或 AD 服务?

安装后,msi 文件还留在计算机上吗?

我之所以问这个问题,是因为我担心如果 msi 文件可以检测软件是否已经安装,并且如果 msi 文件没有保存在计算机上,每次重新启动时,msi 文件是否会继续复制到计算机

答案1

我不是 GPO 软件部署方面的专家。但是这个该死的系统过去给我带来了很多问题,我读了一些资料,并总结了我的观点。除非你能找到技术文档来证明/反驳它,否则我不会称之为事实。

  • 当您通过组策略部署 MSI 时,MSI 会检测并卸载或升级旧版本/不兼容版本。这是 msi 和 Microsoft Installer 的功能。

    Adobe 在这方面做得相当不错,并且似乎在适当的情况下对其 MSI 进行了完全编程以进行升级。

    (我怀疑在安装新版本之前卸载后需要重新启动的升级会因组策略失败而发生故障,原因如下,但这尚未测试。)

  • 我非常确定 MSI 从未进入本地计算机。机器帐户从您在 GPO 中提供的共享位置 (UNC) 运行它。

  • 这取决于 GPO 中的软件安装设置,但是当您的客户端启动时,它会运行机器 GPO,检测软件 GPO,并记录已处理过的日志,因此它会转到下一个 GPO。

    这可能会导致必须运行两次(即卸载旧版本、重新启动,然后安装新版本)的安装程序失败。我之所以产生这种看法,是因为当我在一系列桌面上部署 Acrobat 时,其中一个桌面卸载了旧版本,但 GPO 从未安装新版本,而我是手动安装的。

  • 如果软件不再链接等,则 GPO 中有一些设置可以删除该软件,并且显然如果这些条件发生变化,就会发生一些重新处理(即卸载)。

答案2

Windows 安装程序会记住安装了哪个软件的哪个版本。

精简版的 msi 文件存储在本地,用于卸载。它仅包含逻辑,而不包含文件,因此体积小得多。

当您将具有较新版本的 msi 文件添加到现有 GPO 时,您应该指定用此较新版本替换哪些其他 msi 文件。一些 msi 文件内部设置了特殊标志,允许服务器自动检测哪些其他 msi 文件只是同一应用程序的旧版本。在这种情况下,将自动填充要替换的 msi 文件列表。您可以选择是先卸载旧文件,还是仅在其上安装新文件。此外,一些 msi 文件包含特殊位,可告诉服务器哪种方法适合它们。首先让其卸载旧文件总是更安全。许多 msi 文件包含一个安装程序,它也会查找旧版本并将其删除。

相关内容