MSIZAP仍然有用,还是已过时?


12

我使用组策略安装的MSI文件更新闪存。但是,每次更新都会导致大约三分之一的工作站无法更新(Windows Vista和Windows 7 32/64位版本)。在事件日志中,出现以下消息:

“ Adob​​e Flash Player 11 ActiveX-错误1714。无法删除旧版本的Adobe Flash Player 11 ActiveX。请与您的技术支持组联系。系统错误1612。”

我能够解决该问题的唯一方法是使用Microsoft Fit It工具。但是,这是一个非常耗时的过程,每个工作站手动执行该过程大约需要15分钟,因此,每次更新闪存时,它都会有效地杀死一整天。

我遇到了包含MSIZAP的脚本,以删除失败的Flash卸载。因此,我的问题是: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%

资料来源:我通过软件安装策略部署了Flash Player。如何升级?


如果您有GUID列表,为什么不走动并卸载它们呢?像这样的东西:msiexec /x {the-product-guid} /qn-应该卸载产品。我不支持MsiZap
jscott

1
请记住,这些程序无法通过组策略完全卸载,并且只有在使用fix it工具将其清除后才能重新安装或升级。据我所知,msiexec仅在实际运行正常时才起作用。
力流

您是使用MSI还是使用它们提供的MSI重新包装Flash安装程序?MSI几年来并没有发生太大变化,因此底层机制并没有真正改变。就是说,首先切换是一种蛮力机制,可能会导致将来的失败。如果您熟悉PowerShell,那么从根本上来说,Fix It是可以自动执行的,尽管我不会正式推荐它。(我为Microsoft工作,所以我不推荐使用它-我只是说胆量是PowerShell,从理论上讲可以做到。)
Matthew Wetmore

Answers:


0

您是否要在旧版本上安装新版本,并依靠其安装程序进行删除?还是您让Windows安装程序先卸载旧版本,然后再安装新版本?

如果您选择前者,我建议您切换到后者,因为我对此几乎只有很好的经验。唯一的例外是Adobe一次将错误的版本号放入msi内的卸载命令中(但这是100%可复制的,因此在部署前可立即在测试计算机上看到)。

参见/server//a/441131/144344/server//a/564881/144344

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.