我使用组策略安装的 MSI 文件更新闪存。但是,每次更新时,大约三分之一的工作站都会更新失败(Windows Vista 和 Windows 7 32/64 位版本)。在事件日志中,会出现以下消息:
“Adobe Flash Player 11 ActiveX - 错误 1714。无法删除旧版本的 Adobe Flash Player 11 ActiveX。请联系技术支持小组。系统错误 1612。”
我能解决这个问题的唯一方法是使用Microsoft Fit It 工具。然而,这是一个非常耗时的过程,每个工作站大约需要 15 分钟手动执行,因此每次发布闪存更新时,这实际上会浪费一整天的时间。
我偶然发现了这个包含 MSIZAP 的脚本,用于删除失败的闪存卸载。所以我的问题是:MSIZAP 实用程序是否是程序化删除闪存的最佳方法,还是目前已经过时了?我之所以问这个问题,是因为我发现的有关该主题的大多数书面材料都来自 2009 年或 2010 年。
@echo off
SET MSIZAP=\\my.domain.com\netlogon\bin\msizap.exe
SET DFSPATH=\\my.domain.com\dfsroot\Packages\Adobe
SET UNINSTALL=%DFSPATH%\uninstall_flash_player_x86.exe
SET INSTALL=%DFSPATH%\install_flash_player_11.4.402.278_active_x.exe
rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET WOW6432NODE=WOW6432NODE\
SET VER_FLAG_KEY=HKEY_LOCAL_MACHINE\SOFTWARE\%WOW6432NODE%Macromedia\FlashPlayer
SET VER_FLAG_VALUE=11,4,402,278
REG QUERY "%VER_FLAG_KEY%" /v CurrentVersion | find /i "%VER_FLAG_VALUE%" > NUL 2>NUL
if errorlevel 1 goto do_install
goto :EOF
:do_install
rem Uninstall all old versions of Flash.
start /wait /min "" "%UNINSTALL%" -uninstall activex
rem MSIZAP all old versions
start /wait /min "" "%MSIZAP%" TW! {2BD2FA21-B51D-4F01-94A7-AC16737B2163}
start /wait /min "" "%MSIZAP%" TW! {B7B3E9B3-FB14-4927-894B-E9124509AF5A}
start /wait /min "" "%MSIZAP%" TW! {FA1D6742-0515-4A94-AD5D-F0484026E4A2}
rem Run new installer
start /wait /min "" "%INSTALL%" -install activex
rem Block future automatic updates
SET DEST="%windir%\system32\Macromed\Flash\mms.cfg"
rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET DEST="%windir%\SysWOW64\Macromed\Flash\mms.cfg"
rem I'm using "sort" here because the redirect is being interpreted as "1>" and
rem doing "1 >" causes a space to be stored in the file, which "breaks" the file.
echo AutoUpdateDisable=1|sort>%DEST%
答案1
您是否尝试在旧版本上安装新版本,并依靠其安装程序进行删除?或者您是否告诉 Windows 安装程序先卸载旧版本,然后再安装新版本?
如果您选择前者,我建议您改用后者,因为我对此几乎只有很好的体验。唯一的例外是 Adobe 曾经在 msi 中的卸载命令中输入了错误的版本号(但这是 100% 可重现的,因此在部署之前在测试机器上立即可见)。
看https://serverfault.com/a/441131/144344和https://serverfault.com/a/564881/144344