У меня было чудовищное количество, казалось бы, случайных сбоев (см. Мою заметку в конце этого ответа), когда некоторые из 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.
msizap
неудачных установок.Если вы добавите более новую версию flash.msi в тот же объект групповой политики, Windows обнаружит, что это обновление предыдущей версии (более старая версия указана на вкладке «обновления»). Он также будет знать, что он может установить новый поверх старого, не удаляя сначала старый (установлен флажок на вкладке обновления).
Это волшебство стало возможным благодаря GUID в msi-файле, которые вставляет Adobe.
Вы можете добавить любое количество новых flash.msi в тот же объект групповой политики, но вы также можете в конечном итоге удалить старые.
Единственным исключением была версия 11.4.402.278, потому что в этом случае Adobe указала неправильный номер версии в некоторых местах, поэтому она не смогла правильно обновиться.
По этой причине я настоятельно рекомендую всегда иметь отдельный объект групповой политики, который применяется только к тестовому компьютеру, и пробовать его для каждой новой версии: обновление, понижение, обновление.
Обратите внимание, что эта магия не работает со всеми MSI-файлами. Затем вы должны добавить старые вручную в список на вкладке обновлений, и затем вы должны оставить флажок не отмеченным.
источник