He tenido números horrendos de fallas aparentemente aleatorias (vea mi nota al final de esta respuesta) con algunos de los Adobe Flash MSI v9, v10 y v11 que no se desinstalan o actualizan correctamente, dejando la base de datos MSI en la PC en un estado eso me hace desconfiar. Terminé recurriendo al uso de un script de inicio que:
Comprueba el HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
valor del registro para ver si la versión instalada actualmente es actual (agregando una WOW6432NODE
en esa ruta, si es necesario) y rescatando si la versión es actual
Utiliza la msizap.exe
utilidad antigua, no compatible y ahora casi imposible para eliminar MSI con fallas conocidas de "atrás en el día" (incluyendo {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} y {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Utiliza el desinstalador EXE proporcionado por Adobe para eliminar en silencio cualquier versión actual de Flash
Utiliza el instalador EXE proporcionado por Adobe actual con el -install activex
argumento (solo estoy instalando el control ActiveX en la mayoría de los sitios) para instalar la versión actual
Escribe un 'mms.cfg. archivo para evitar actualizaciones automáticas
Aquí hay una versión limpia de mi script de inicio. Tendrías que salir y tomar los EXE apropiados si querías hacer esto.
@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%
Los problemas que he visto al desinstalar viejos MSI de Flash han sido principalmente:
"Adobe Flash Player 11 ActiveX - Error 1714. La versión anterior de Adobe Flash Player 11 ActiveX no se puede eliminar. Póngase en contacto con su grupo de soporte técnico. Error del sistema 1612".
"Error 2753: el archivo 'installax.exe' no está marcado para la instalación"
La gota que colmó el vaso, para mí, fue ver estos errores ocurriendo aleatoriamente en un sitio de Cliente con más de 1,000 PC de clientes. Necesito estar seguro de que las actualizaciones de Flash están sucediendo y que los MSI no se desinstalen al azar no es una opción. El hecho de que las fallas de MSI ocurran en cada arranque posterior, lo que ralentiza el proceso de arranque, solo agrega insulto a las lesiones.
No he visto un MSI v11 en detalle. Los MSI v9 y v10 no son más que una acción personalizada para ejecutar el instalador Flash basado en EXE con argumentos de línea de comandos. No me impresionó la calidad de los MSI, porque usar Windows Installer para ejecutar su configuración basada en EXE no es usar Windows Installer.