У меня было чудовищное количество, казалось бы, случайных сбоев (см. Мою заметку в конце этого ответа), когда некоторые из Adobe Flash MSI v9, v10 и v11 не удалялись и не обновлялись должным образом, оставляя базу данных MSI на ПК в состоянии это заставляет меня насторожиться В итоге я прибег к использованию сценария запуска, который:
Проверяет HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
значение реестра, чтобы увидеть, является ли текущая установленная версия текущей (добавление WOW6432NODE
в этот путь, если необходимо), и сбросить, если версия является текущей
Использует старую, неподдерживаемую и теперь практически невозможную msizap.exe
утилиту для удаления известных MSI с ошибками из «назад в день» (включая {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} и {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Использует предоставленный Adobe деинсталлятор EXE для автоматического удаления любых текущих версий Flash
Использует текущий установленный Adobe установщик EXE с -install activex
аргументом (я устанавливаю элемент управления ActiveX на большинстве сайтов) для установки текущей версии
Записывает 'mms.cfg. файл для предотвращения автоматического обновления
Вот исправленная версия моего скрипта запуска. Вам нужно выйти и взять соответствующие EXE-файлы, если вы хотите сделать это.
@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 MSI, были в основном:
«Adobe Flash Player 11 ActiveX - Ошибка 1714. Старую версию Adobe Flash Player 11 ActiveX невозможно удалить. Обратитесь в группу технической поддержки. Системная ошибка 1612».
«Ошибка 2753: файл« installax.exe »не помечен для установки»
Для меня соломинка, которая сломала спину верблюду, заключалась в том, что эти ошибки происходили случайным образом на сайте Заказчика с более чем 1000 клиентских ПК. Мне нужно быть уверенным в том, что обновления Flash происходят и что MSI-файлы случайно не удаляются, это не вариант. Тот факт, что сбои MSI происходят при каждой последующей загрузке, замедляя процесс загрузки, просто добавляет оскорбление травме.
Я не смотрел на MSI v11 в деталях. MSI v9 и v10 - это не что иное, как настраиваемое действие для запуска установщика Flash на основе EXE с аргументами командной строки. Я не был впечатлен в качество ССИ, потому что с помощью установщика Windows , чтобы просто запустить EXE-Based Setup не с помощью установщика Windows.