Aktualizuję Flash, używając plików MSI zainstalowanych według zasad grupy. Jednak przy każdej aktualizacji około jedna trzecia stacji roboczych nie aktualizuje się (wersje 32/64-bitowe dla systemu Windows Vista i Windows 7). W dziennikach zdarzeń pojawia się ten komunikat:
„Adobe Flash Player 11 ActiveX - Błąd 1714. Nie można usunąć starszej wersji Adobe Flash Player 11 ActiveX. Skontaktuj się z pomocą techniczną. Błąd systemu 1612.”
Jedynym sposobem, w jaki udało mi się rozwiązać ten problem, jest użycie narzędzia Microsoft Fit It . Jest to jednak bardzo czasochłonny proces, którego ręczne wykonanie zajmuje około 15 minut dla każdej stacji roboczej, więc skutecznie zabija cały dzień za każdym razem, gdy pojawia się aktualizacja flash.
Natknąłem się na ten skrypt, który zawiera MSIZAP, aby usunąć nieudane odinstalowania Flasha. Moje pytanie brzmi zatem : czy narzędzie MSIZAP jest najlepszym podejściem do programowego usuwania flasha, czy jest w tym momencie przestarzałe? Pytam dlatego, że większość materiałów pisemnych, które znalazłem na ten temat, pochodzi z 2009 lub 2010 roku.
@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%
Źródło: wdrożyłem Flash Playera za pomocą zasad instalacji oprogramowania. Jak zaktualizować?
źródło
msiexec /x {the-product-guid} /qn
- To powinno odinstalować produkty. Nie sądzę, że MsiZap jest obsługiwany .Odpowiedzi:
Czy próbujesz zainstalować nową wersję na starej i polegasz na swoim instalatorze? Czy powiesz instalatorowi systemu Windows, aby najpierw odinstalował stary, a dopiero potem nowy?
Jeśli zrobisz to pierwsze, polecam przejście na później, ponieważ miałem prawie tylko dobre doświadczenia z tym. Jedynym wyjątkiem był przypadek, gdy Adobe raz wstawił nieprawidłowy numer wersji do polecenia deinstalacji wewnątrz msi (ale było to w 100% możliwe do odtworzenia, a więc natychmiast widoczne na maszynie testowej przed wdrożeniem).
Zobacz /server//a/441131/144344 i /server//a/564881/144344
źródło