Ich hatte eine schreckliche Anzahl von scheinbar zufälligen Fehlern (siehe meinen Hinweis am Ende dieser Antwort), bei denen einige der Adobe Flash-MSIs der Versionen 9, 10 und 11 nicht ordnungsgemäß deinstalliert oder aktualisiert wurden und die MSI-Datenbank auf dem PC in einem Zustand belassen wurde das macht mich vorsichtig. Am Ende habe ich ein Startskript verwendet, das:
Überprüft den HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
Registrierungswert, um festzustellen, ob die aktuell installierte Version aktuell ist ( WOW6432NODE
ggf. Hinzufügen eines Pfads zu diesem Pfad) und ob die Version aktuell ist
Verwendet das alte, nicht unterstützte und jetzt msizap.exe
nahezu unmögliche Dienstprogramm, um bekannte fehlerhafte MSIs aus "back in the day" zu entfernen (einschließlich {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} und {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Verwendet das von Adobe bereitgestellte Deinstallationsprogramm EXE, um aktuelle Flash-Versionen stillschweigend zu entfernen
Verwendet das aktuelle von Adobe bereitgestellte EXE-Installationsprogramm mit dem -install activex
Argument (ich installiere nur das ActiveX-Steuerelement auf den meisten Websites), um die aktuelle Version zu installieren
Schreibt eine 'mms.cfg. Datei, um automatisierte Upgrades zu verhindern
Hier ist eine bereinigte Version meines Startskripts. Sie müssten rausgehen und sich die entsprechenden EXE-Dateien schnappen, wenn Sie dies schaffen möchten.
@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%
Die Probleme, die ich beim Deinstallieren alter Flash-MSIs gesehen habe, waren hauptsächlich:
"Adobe Flash Player 11 ActiveX - Fehler 1714. Die ältere Version von Adobe Flash Player 11 ActiveX kann nicht entfernt werden. Wenden Sie sich an Ihren technischen Support. Systemfehler 1612."
"Fehler 2753: Die Datei 'installax.exe' ist nicht für die Installation markiert."
Der Strohhalm, der dem Kamel den Rücken gebrochen hat, war für mich, dass diese Fehler zufällig auf einer Kundenseite mit mehr als 1.000 Client-PCs auftraten. Ich muss sicherstellen, dass Flash-Updates stattfinden und dass eine zufällige Deinstallation von MSIs keine Option ist. Die Tatsache, dass die MSI-Fehler bei jedem nachfolgenden Start auftreten und den Startvorgang verlangsamen, führt nur zu einer Beleidigung der Verletzung.
Ich habe mir ein v11 MSI nicht im Detail angesehen. Die MSIs v9 und v10 sind nichts anderes als eine benutzerdefinierte Aktion zum Ausführen des EXE-basierten Flash-Installationsprogramms mit Befehlszeilenargumenten. Ich war in der Qualität der MSIs nicht beeindruckt, denn mit dem Windows Installer nur Ihrem EXE-basierten Setup ausgeführt wird , nicht mit Windows Installer.