J'ai eu un nombre horrible d'échecs apparemment aléatoires (voir ma note à la fin de cette réponse) avec certains des MSI Adobe Flash v9, v10 et v11 qui ne se désinstallent pas ou ne se mettent pas à niveau correctement, laissant la base de données MSI sur le PC dans un état cela me rend méfiant. J'ai fini par recourir à un script de démarrage qui:
Vérifie la HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
valeur de registre pour voir si la version actuellement installée est actuelle (en ajoutant un WOW6432NODE
dans ce chemin, si nécessaire) et mise en cache si la version est actuelle
Utilise l'ancien msizap.exe
utilitaire , non pris en charge et désormais pratiquement impossible , pour supprimer les MSI défaillants connus de "retour dans la journée" (y compris {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} et {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Utilise le programme de désinstallation EXE fourni par Adobe pour supprimer silencieusement toutes les versions actuelles de Flash
Utilise le programme d'installation EXE fourni par Adobe avec l' -install activex
argument (j'installe uniquement le contrôle ActiveX dans la plupart des sites) pour installer la version actuelle
Écrit un 'mms.cfg. fichier pour empêcher les mises à niveau automatisées
Voici une version nettoyée de mon script de démarrage. Vous auriez besoin de sortir et de saisir les EXE appropriés si vous vouliez faire cela.
@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%
Les problèmes que j'ai rencontrés lors de la désinstallation d'anciens MSI Flash ont principalement été:
"Adobe Flash Player 11 ActiveX - Erreur 1714. L'ancienne version d'Adobe Flash Player 11 ActiveX ne peut pas être supprimée. Contactez votre groupe de support technique. Erreur système 1612."
"Erreur 2753: le fichier 'installax.exe' n'est pas marqué pour l'installation"
La paille qui a brisé le dos du chameau, pour moi, était de voir ces erreurs se produire de manière aléatoire dans un site client avec plus de 1000 ordinateurs clients. Je dois être sûr que les mises à jour Flash se produisent et que la désinstallation des MSI échoue de manière aléatoire n'est pas une option. Le fait que les échecs MSI se produisent à chaque démarrage suivant, ralentissant le processus de démarrage, ne fait qu'ajouter l'insulte à la blessure.
Je n'ai pas examiné en détail un MSI v11. Les MSI v9 et v10 ne sont rien de plus qu'une action personnalisée pour exécuter le programme d'installation Flash basé sur EXE avec des arguments de ligne de commande. Je n'ai pas été impressionné par la qualité des MSI, car l'utilisation de Windows Installer pour exécuter simplement votre configuration basée sur EXE n'utilise pas Windows Installer.