Я развернул Flash Player через политику установки программного обеспечения. Как обновить?


8

У меня есть компьютер с Windows Server 2008 в качестве моего DC. Ранее в этом году я создал GPO для установки программного обеспечения для развертывания плагина Adobe Flash Player MSI. Я назначил политику для компьютеров, примерно половина Windows XP x86 и другая половина Windows 7 x64. Это все работает как по маслу.

Когда я создал Политику установки программного обеспечения, я отключил функцию автоматического обновления плагина Flash Player, отредактировав MSI в Orca. Я сделал это, потому что хотел, чтобы на всех моих машинах работала одна и та же версия плагина.

Теперь прошло некоторое время, и была выпущена новая версия плагина Flash Player. Пришло время выпустить обновленную версию плагина. У меня уже есть новый MSI, но я заблудился, что делать дальше.

  • Я вижу вкладку «Обновления» в GPO «Установка программного обеспечения», но все, что там читается так, будет использоваться для дополнений в основной программе большего размера, а не для обновлений, которые выпускаются с течением времени.
  • Я прочитал, что лучше всего создать новую политику установки программного обеспечения с новым MSI, отозвать старый объект групповой политики и назначить новый объект групповой политики. Я чувствую, что со временем у меня будет больше отмененных политик, чем активных.
  • Я также читал, что некоторые люди добились успеха, заменив старый MSI новым MSI и просто попросив GPO перераспределить. Это похоже на бэкдор, который только доставит мне неприятности.

Короче говоря, каков правильный, передовой или предпочтительный способ развертывания новой версии с помощью групповой политики?

Ответы:


16

Я делал это много раз с Flash Player (и другим программным обеспечением). Что вы хотите сделать, это:

  • Используйте ORCA, чтобы отредактировать его с любой необходимой вам настройкой и сохранить как преобразование (или сохранить его как совершенно новый MSI, что бы у вас ни работало).

  • Поместите этот новый MSI (и преобразует) в общий ресурс развертывания программного обеспечения.

  • Добавьте это программное обеспечение (и преобразуйте) в существующую политику. Он автоматически определит его как обновление до предыдущих версий Flash Player. Вы можете добавить все версии в одну и ту же политику, если вы уже настроили ее (x86: плагин и ActiveX, x64: плагин и ActiveX) или можете продолжить работу с любым макетом объекта групповой политики, который у вас уже есть. Просто убедитесь, что вы добавляете аналогичные в вашей политике, и он автоматически обнаружит их как обновления.

  • Если по какой-либо причине они не будут автоматически определены как обновления, вы можете установить это самостоятельно в политике. Это правильный способ справиться с этой ситуацией.

В этом нет ничего особенного.

Одна вещь, о которой вы должны подумать - вместо того, чтобы редактировать MSI с ORCA каждый раз, когда появляется новая версия, вы можете создать файл mms.cfg, как описано здесь, с настройками Flash Player. Этот файл не будет затронут во всех обновлениях, поэтому вам нужно всего лишь отправить этот файл один раз, а затем вы сможете развернуть установку Vanilla Flash Player. Я использовал настройки файлов групповой политики с таргетингом на уровне элементов, чтобы правильно разместить его на компьютерах x86 и x64 в смешанной среде.


5

Я считаю, что апгрейд - это лучший метод для этого. Я использовал этот метод довольно широко в прошлом без проблем.

Добавьте новый MSI в качестве другого пакета в объект групповой политики, выбрав метод расширенного развертывания. Это должно быть обнаружено как обновление до ранее развернутого Flash Player. Если это не так, вы можете добавить его на вкладку обновлений вручную.


5

У меня было чудовищное количество, казалось бы, случайных сбоев (см. Мою заметку в конце этого ответа), когда некоторые из 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.


Те же проблемы с более поздними версиями (14-16). Я потратил несколько часов, пытаясь разобрать один поврежденный MSI, и, наконец, разобрался со всем, удалив и загрузив свежий файл MSI для поврежденной версии. Сложность в том, что исходная установка скрыта из-за сбоя при установке поврежденного MSI. Сначала необходимо выполнить очиститель (или сценарий для очистки с помощью объекта групповой политики), чтобы удалить неудачную установку, прежде чем новый пакет будет установлен без ошибок.
фырье

1
@fyrye - я перестал использовать флэш-дистрибутивы на основе MSI несколько лет назад, потому что они были такими плохими. Я решил использовать скрипт для msizapнеудачных установок.
Эван Андерсон

@ Эван Андерсон, у меня был такой же опыт с обновлениями Flash Player. Большое количество ошибок и сбоев с теми же записями журнала событий, которые вы описываете. Совсем недавно я использовал процесс удаления старой версии и в следующем приглашении выбрал «Немедленное удаление». Затем я добавляю новую версию в тот же объект групповой политики. Интересно, будет ли добавление новой версии в качестве обновления работать лучше? В то же время я хотел спросить, использовали ли вы MSIZAP на компьютерах с Windows 7? Я не думаю, что это поддерживается Microsoft, но если это сработает в большинстве случаев, я бы хотел попробовать.
satchel_74

1
@ satchel_74 - Исторически я очень настороженно относился к параметру «Немедленное удаление ...» в объектах групповой политики, поскольку в основном вы помещаете инструкцию удаления, которую нельзя удалить с помощью поддерживаемых инструментов, в объект групповой политики. Я использовал MSIZAP на 32-битных машинах Windows 7 без проблем. Я не тестировал это всесторонне, и, честно говоря, я не уверен, что поведение будет на 64-битных машинах. (Я не верю, что когда-либо существовала версия MSIZAP для x64.) Это инструмент, который я стараюсь избегать, когда это возможно, в конечном итоге.
Эван Андерсон

1

Если вы добавите более новую версию flash.msi в тот же объект групповой политики, Windows обнаружит, что это обновление предыдущей версии (более старая версия указана на вкладке «обновления»). Он также будет знать, что он может установить новый поверх старого, не удаляя сначала старый (установлен флажок на вкладке обновления).

Это волшебство стало возможным благодаря GUID в msi-файле, которые вставляет Adobe.

Вы можете добавить любое количество новых flash.msi в тот же объект групповой политики, но вы также можете в конечном итоге удалить старые.

Единственным исключением была версия 11.4.402.278, потому что в этом случае Adobe указала неправильный номер версии в некоторых местах, поэтому она не смогла правильно обновиться.

По этой причине я настоятельно рекомендую всегда иметь отдельный объект групповой политики, который применяется только к тестовому компьютеру, и пробовать его для каждой новой версии: обновление, понижение, обновление.

Обратите внимание, что эта магия не работает со всеми MSI-файлами. Затем вы должны добавить старые вручную в список на вкладке обновлений, и затем вы должны оставить флажок не отмеченным.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.