Компания Adobe, идя навстречу администраторам и пользователям, начиная с версии 11.2 внедрила функцию автоматического обновления Adobe Flash Player. Казалось бы, это отличная новость, но чтобы заставить автообновление работать в реальных условиях необходимо приложить ряд усилий. Идея с автоматизацией обновления Flash плеера заключается в том, что компьютеры должны автоматически обновлять версию Flash Player до актуальной без необходимости предоставления пользователям расширенных прав. Кроме того, если на компьютере запущен браузер, то flash будет обновлен только после того, как браузер будет закрыт.
Как же все это работает?
Автоматическое обновление работает следующим образом:
- На компьютере должна быть установлена версия Adobe Flash не ниже 11.2.x
- При установке создается новое задание планировщика, которое запускается ежедневно, проверяющее наличие обновлений. Задание планировщика запускается с правами системы (SYSTEM). Если найдено новое обновление, оно скачивается, удаляется старая версию Flash и ставится новая.
- Если компьютер не имеет доступа к интернету, задание запускается раз в час, проверяя наличие подключения к интернету.
- Если запущена старая версия флеша (открыт браузер), то обновление запускается только после его закрытия.
Некоторые детали
Задание планировщика:
- Называется ‘Adobe Flash Player Updater’
- Запускается от SYSTEM
- Запускает приложение C:\Windows\SysWOW64\Macromed\Flash\FlashPlayerUpdateService.exe
- Настроено на ежедневый запуск, с последующим перезапуском каждый час до момента обнаружения соединения с интернетом
Установщик создает отдельную службу:
- Имя службы ‘AdobeFlashPlayerUpdateSvc’ (Adobe Flash Player Update Service)
- Тип запуска – ручной (Manual)
- Запускается с правами системы
- Исполняемый файл =C:\Windows\SysWOW64\Macromed\Flash\FlashPlayerUpdateService.exe
В корпоративной среде использование автоматическое обновления Flash Player вызывает ряд проблем, наиболее распространенной из которых является проблема использования прокси-сервера (по этому поводу на форумах очень много дискуссий). Проблема в том, что задание автоматического обновления с сервера Adobe запускается с правами SYSTEM, который ничего не знает о наличии прокси сервера в сети, его адресе и номере порта (подробнее о настройке системного проски в Windows здесь). И даже если с помощью утилиты proxycfg.exe измените настройки прокси-сервера, то если прокси сервер настроен на авторизацию по учетным записям, то в этом случае автоматическое обновление работать не будет.
Отключение автоматического обновления Adobe Flash Player
Автоматическое обновление Flash Player можно отключить. Для этого нам нужно создать и настроить параметр в специальном файле mms.cfg. Т.к. начиная с Adobe Flash 11 данный пакет поставляется в двух реализациях 32-битной и 64-битной, то данный файл может находится в разных каталогах:
- В 32-битной Windows: %systemroot%\System32\Macromed\Flash
- В 64-битной Windows 32битный Flash: %systemroot%\SysWOW64\Macromed\Flash
- В 64-битной Windows 64битный Flash: %systemroot%\System32\Macromed\Flash
Определяем версию Windows и Flash и переходим в соответствующий каталог. Создадим в нем файл MMS.CFG в кодировке UTF-8, содержащий одну строку: AutoUpdateDisable=1.
Тем самым мы отключим автоматическое обновление Flash Player-а, и никакие всплывающие сообщения о необходимости обновить Flash появляться не будут (не забудьте перезапустить флеш). Для проверки отключения обновления идём Пуск — Панель управления — Flash-плеер — вкладка «Дополнительно». Если вы всё сделали правильно, то строка «Никогда не проверять обновления» должна стать неактивной.
Отключить автоматическое обновление Flash можно и с помощью групповой политики, скопировав файл MMS.CFG на нужные компьютеры с помощью vbs скрипта. Для этого создадим файл, отключающий обновление флеша по указанной выше методике и разместим его в сетевом каталоге. Далее назначим выполнение следующего logon-скрипта на целевые компьютеры:
Set obFSO = CreateObject("Scripting.FileSystemObject")
strNetworkFlashPath = \\srv1\Share\Adobe Flash\mms.cfg"
strLocalFlashPath = "C:\WINDOWS\System32\Macromed\Flash\mms.cfg"
If obFSO.FolderExists ("C:\WINDOWS\System32\Macromed\Flash") Then
obFSO.CopyFile strNetworkFlashPath, strLocalFlashPath, True
End If
Set obFSO = Nothing
Данный скрипт проверяет наличие каталога C:\WINDOWS\System32\Macromed\Flash и копирует файл mms.cfg из сетевой шары.
Как вариант, отключить обновление Flash Player можно и с помощью GP Preferences, создав задание на копирование файла (Computer Configuration -> Preferences -> Windows Settings -> Files).
Описал еще один интересный аспект касательный Flash Player, заключающейся в сложности ручного удалением файлов Flash-а.
«Далее назначим выполнение следующего logon-скрипта»
Правильнее написать startup-скрипта. У пользователя прав не хватит в систему писать.
В поисках способа отключения автоматического обновления попал в тупик. то, что написано в этой статье: редактирование файлов, настройки самого Adobe FP Update — это всё немного не то)
А каков сам метод запуска приложения обновления?
В «Назначенных заданиях» я давно уже отключил это задание, которое к тому же, ни разу до того не запускалось, да и должно было запускать другое приложение (
Запускается приложение с ключом -update plugin .
Запускает его Explorer.exe. А как?
Не подскажете?
У меня просто отредактирован файл mms.cfg и ничего более.
и всё работает (то есть никаких обновлений.)
MSi для обновлений берём на сайте адоб.
Мне не совсем понятен смысл изменений в конфигурационный файл — ведь на вкладке Дополнительно Менеджера Настроек есть спец пункт — «Никогда не проверять обновления». Отметив его, обновлений не будет. Или я что-то пропустил?
Добавление скрипта для массового отключения, да, согласен…. смысл есть.
Это решение применимо для больших корпоративных сетей, где нужно централизованно управлять (через GPO, SCCM и др.) параметрами обновления Flash.
Добрый день.
Eсли все системы х86 то удобно:
If obFSO.FolderExists («C:\WINDOWS\System32\Macromed\Flash»)
у меня на 64битной есть папка C:\WINDOWS\System32\Macromed\Flash тоже.
и %systemroot%\SysWOW64\Macromed\Flash есть.
Но если в первую скопировать mms.cfg обновления не отключаются конечна.
Вопрос как быть если в сети и х86 и х64 с 32битной флэш?
ну я то решил нацеливанием gpoстандартный выбор оси и битности не работает,
Select * from Win32_OperatingSystem where OSArchitecture = ’32-bit’
тоже не очень.
не заработал
Можно в скрипт добавить логику , на проверку наличия папки %ProgramFiles(x86)%.
Если папка есть, систма 64 битная, если нет = 32-х.
На bat это будет выглядеть так:
IF EXIST «%ProgramFiles(x86)%» (
копируем файл mms.cfg в папку %systemroot%\SysWOW64\Macromed\Flash и в папку %systemroot%\System32\Macromed\Flash
) ELSE (
копируем файл в %systemroot%\System32\Macromed\Flash
)