不幸的是,我拒绝使用DFS的请求,我需要为我们环境中的每个站点创建一个GPO(每个站点都是自己的子网).我遇到的问题是很多用户在站点之间旅行,因此当他们移动到另一个站点时,他们将获得新的GPO并且不在以前的GPO范围内.
我找不到任何具体的文档,如果GPO软件安装是否会重新安装应用程序(如果它已经存在于当前的PC上).当计算机超出范围时,我将使用该选项离开应用程序.
根据我的研究,我发现GPO只适用于GPO版本发生变化的情况,这很好,但实际的MSI呢?
我发现了两种人们提出但不能支持的情景:
> GPO调用Windows Installer服务来检查已安装的程序列表,并且仅在当前的MSI版本不存在时才会安装.
> GPO安装使用自己的软件列表保留自己的APP缓存,如果应用程序不在该列表中,即使已安装该应用程序,也会安装该应用程序.
任何人都可以为我确认正确的信息吗?
编辑:感谢响应人员,我知道其他部署软件的方法,但是我所追求的是关于GPO部署是否会重新安装包(如果已经存在于工作站上)的具体答案.
编辑:为了响应您的编辑,是,软件安装GPO可以并将重新安装已安装的软件. (这是它们造成的问题之一 – 远非唯一的问题.)在您的方案中,如果您选择使用软件安装GPO,那么您必须在某些工作中加以预防,例如the suggestion in Greg’s answer.
当我不得不使用GPO来安装软件时,我过去的方式是使用GPO启动脚本安装,检查以确保没有安装该东西.请参阅下面的示例,将PC * Miler26抖动安装到一堆XP机器上.
截图显示启动脚本GPO指向我们公司DFS上的一个位置(我已经编辑过),脚本本身就是一个bat文件,由于我们环境的限制 – 使用XP机器,WMI经常被打破我们的客户,这是唯一可靠的工作.
echo off reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ALK Technologies\PC*Miler 26.0" if %errorlevel%==1 (goto Install) else (goto End) REM If errorlevel returns a value of 1,it means the key is not present,thus the program is not installed. So install it. :Install \\[Our DFS software share]\PCMiler26\Network\setup.exe /s REM If errorlevel returns a value other than 1,the key is present,and the program is already installed,or something odd's going on. No installation. :End