我正在尝试通过 GPO 安装已安装在某些机器上的程序的新版本。目前,如果没有安装以前版本的程序,该策略是基于用户的,并且可以正常工作。如果安装了旧版本的程序,则该策略不执行任何操作,但仍认为成功。旧版本的程序是在每台机器上手动安装的,所以我无法进行升级。
有没有一种简单的方法可以替换或删除旧版本?我想过让另一个策略删除旧版本,但这似乎有点草率。
我正在尝试通过 GPO 安装已安装在某些机器上的程序的新版本。目前,如果没有安装以前版本的程序,该策略是基于用户的,并且可以正常工作。如果安装了旧版本的程序,则该策略不执行任何操作,但仍认为成功。旧版本的程序是在每台机器上手动安装的,所以我无法进行升级。
有没有一种简单的方法可以替换或删除旧版本?我想过让另一个策略删除旧版本,但这似乎有点草率。
如果该应用程序列在添加/删除程序中,您可以确定要执行先前的 msi 命令以进行全新安装。通常该条目位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall和特定的 UninstallString 上,例如 MsiExec.exe /I{23170F69-40C1-2702-0920-000001000000}。
因此,您可以执行 GPO 以在之前运行 CMD 执行该命令 con Computer 启动,然后推送新应用程序。
这是使用 VBS 的最后一个版本重新安装我的 Jabber 的一个示例:
检查一下,这是使用批量查找软件的 UninstallString 注册表项,然后静默卸载软件,这与我发现的 wmic 相比要可靠得多。https://community.spiceworks.com/topic/2143980-deploy-or-upgrade-java-8-via-shutdown-script-remove-old-javas