소프트웨어 설치 정책을 통해 Flash Player를 배포했습니다. 업그레이드하는 방법?


8

DC로 Windows Server 2008 컴퓨터가 있습니다. 올해 초 저는 Adobe Flash Player 플러그인 MSI를 배포하기 위해 소프트웨어 설치 GPO를 만들었습니다. 정책을 컴퓨터에 할당했는데, 약 절반은 Windows XP x86을 실행하고 다른 절반은 Windows 7 x64를 실행했습니다. 그것은 모두 시계처럼 작동합니다.

소프트웨어 설치 정책을 만들 때 Orca에서 MSI를 편집하여 Flash Player 플러그인의 자동 업데이트 기능을 비활성화했습니다. 모든 컴퓨터에서 동일한 버전의 플러그인을 실행하기를 원했기 때문에이 작업을 수행했습니다.

이제 어느 정도 시간이 지났고 최신 버전의 Flash Player 플러그인이 릴리스되었습니다. 플러그인의 업데이트 된 버전을 푸시 할 때입니다. 이미 새로운 MSI를 사용하고 있지만 다음에 수행 할 작업이 없어졌습니다.

  • 소프트웨어 설치 GPO에 업그레이드 탭이 있지만 그와 같이 읽는 모든 내용은 시간이 지남에 따라 릴리스 된 업데이트가 아니라 더 큰 마스터 프로그램에 대한 애드온에 사용됩니다.
  • 새 MSI를 사용하여 새 소프트웨어 설치 정책을 만들고 기존 GPO를 해지하고 새 GPO를 할당하는 것이 가장 좋습니다. 나는 시간이 지남에 따라 활성 정책보다 더 철회 된 정책으로 빠져 나갈 것입니다.
  • 또한 일부 사람들은 이전 MSI를 새로운 MSI로 교체하고 GPO에 재배치하도록 지시함으로써 성공을 거두었습니다. 이것은 백도어 방법처럼 보입니다.

간단히 말해서, 그룹 정책을 통해 새 버전을 출시하는 올바른 방법, 최선의 방법 또는 선호되는 방법은 무엇입니까?

답변:


16

Flash Player (및 기타 소프트웨어)로이 작업을 여러 번 수행했습니다. 당신이하고 싶은 것은 :

  • ORCA를 사용하여 원하는 사용자 정의로 편집하고 변환으로 저장하십시오 (또는 원하는 경우 새 MSI로 저장).

  • 새로운 MSI (및 변형)를 소프트웨어 배포 공유에 배치하십시오.

  • 이 소프트웨어를 기존 정책에 추가하십시오. 그것은 것이다 자동으로 플래시 플레이어의 이전 버전에 대한 업그레이드로 감지합니다. 이전에 구성한 방식 (x86 : 플러그인 및 ActiveX, x64 : 플러그인 및 ActiveX)이거나 동일한 GPO 레이아웃을 계속 유지할 수있는 경우 동일한 정책으로 모든 버전을 추가 할 수 있습니다. 정책에 유사 항목을 추가하면 업그레이드로 자동 감지됩니다.

  • 어떤 이유로 든 업그레이드로 자동 감지되지 않으면 정책에서 직접 설정할 수 있습니다. 이것이이 상황을 처리하는 올바른 방법입니다.

이것에 특별한 것은 없습니다.

고려해야 할 사항 중 하나는 새 버전이있을 때마다 ORCA로 MSI를 편집하는 대신 Flash Player 환경 설정을 사용하여 여기설명 된대로 mms.cfg 파일 만들 수 있다는 것 입니다. 이 파일은 업그레이드 과정에서 영향을받지 않으므로이 파일을 한 번만 밀어 내면 바닐라 Flash Player 설치를 배포 할 수 있습니다. 항목 수준 타겟팅과 함께 그룹 정책 파일 환경 설정을 사용하여 혼합 환경의 x86 및 x64 시스템에서 올바른 위치에 배치했습니다.


5

업그레이드가 최선의 방법이라고 생각합니다. 나는 과거에 문제 없이이 방법을 상당히 광범위하게 사용했습니다.

고급 배포 방법을 선택하여 그룹 정책 개체에서 새 MSI를 다른 패키지로 추가하십시오. 이전에 배포 된 Flash Player 로의 업그레이드로 감지되어야합니다. 그렇지 않은 경우 업데이트 탭에 수동으로 추가 할 수 있습니다.


5

내가 했어 끔찍한 V9, V10의 일부 겉보기에 임의 실패의 숫자 (이 답변의 결론에서 내 노트 참조), 그리고 V11 어도비 플래시 MSI는 상태에서 PC에 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를 자동으로 제거합니다.

  • -install activex현재 버전을 설치하기 위해 현재 Adobe 제공 EXE 설치 프로그램을 인수 (대부분의 사이트에 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."

  • "2727 오류 : 파일 'installax.exe'가 설치로 표시되지 않았습니다"

낙타의 등을 돌파 한 빨대는 클라이언트 PC가 1,000 대 이상인 고객 사이트에서 이러한 오류가 무작위로 발생하는 것을보고있었습니다. 플래시 업데이트가 진행 중이며 MSI가 임의로 설치 제거에 실패하는 것이 옵션이 아닌지 확인해야합니다. MSI가 실패 할 때마다 부팅 할 때마다 부팅 프로세스가 느려지고 부상을 입을 수 있습니다.

나는 v11 MSI를 자세히 보지 않았다. v9 및 v10 MSI는 명령 줄 인수로 EXE 기반 Flash 설치 프로그램을 실행하기위한 사용자 지정 작업에 지나지 않습니다. 나는 당신의 EXE 기반 설치 프로그램을 실행하려면 Windows Installer를 사용하기 때문에하지 않는, MSI에의 품질을 잡았습니다 사용하여 Windows Installer를.


이후 버전에서도 동일한 문제가 발생합니다 (14-16). 하나의 손상된 MSI를 정렬하는 데 여러 시간을 보냈으며 손상된 버전의 새 MSI 파일을 삭제하고 다운로드하여 모든 것을 정리했습니다. 어려운 부분은 손상된 MSI 설치로 인해 원래 설치가 숨겨져 있다는 것입니다. 오류없이 새 패키지를 설치하기 전에 실패한 설치를 제거하려면 클리너 (또는 GPO를 통해 정리하는 스크립트)를 먼저 실행해야합니다.
fyrye

1
@fyrye-몇 년 전 MSI 기반 플래시 배포판 사용이 너무 나빴 기 때문에 사용을 중단했습니다 . msizap실패한 설치에 스크립트를 사용하기로 결정 했습니다.
Evan Anderson

@Evan Anderson, 저는 Flash Player 업그레이드와 동일한 경험을했습니다. 설명하는 것과 동일한 이벤트 로그 항목으로 많은 양의 오류 및 오류가 발생합니다. 가장 최근에 사용하는 프로세스는 이전 버전을 제거하고 다음 프롬프트에서 '즉시 제거'를 선택하는 것입니다. 그런 다음 새 버전을 동일한 GPO에 추가합니다. 새 버전을 업그레이드로 추가하면 더 잘 작동하는지 궁금합니다. 그동안 Windows 7 컴퓨터에서 MSIZAP를 사용했는지 묻고 싶습니까? 나는 그것이 Microsoft에서 지원한다고 생각하지 않지만 대부분의 경우 작동한다면 기꺼이 시도해 볼 것입니다.
satchel_74

1
@ satchel_74-역사적으로 GPO의 "즉시 제거 ..."설정에 매우주의를 기울였습니다. 기본적으로 지원되는 도구로는 제거 할 수없는 제거 지침을 GPO에 넣었 기 때문입니다. 문제가없는 32 비트 Windows 7 컴퓨터에서 MSIZAP을 사용했습니다. 나는 그것을 광범위하게 테스트하지 않았으며 솔직히 말해서 64 비트 컴퓨터에서 동작이 무엇인지 확실하지 않습니다. (x 64 버전의 MSIZAP가 있다고 생각하지 않습니다.) 가능하면 궁극적으로 사용하지 않는 도구입니다.
Evan Anderson

1

동일한 GPO에 최신 버전의 flash.msi를 추가하면 Windows는 이것이 이전 버전에 대한 업데이트임을 감지합니다 (이전 버전은 '업데이트'탭에 나열 됨). 또한 이전 탭을 먼저 제거하지 않고 이전 탭 위에 새 것을 설치할 수 있음을 알 수 있습니다 (업데이트 탭의 확인란이 선택되어 있음).

이 마술은 msi 파일의 GUID에 의해 가능하며 Adobe에 의해 만들어집니다.

동일한 GPO에 여러 개의 새로운 flash.msi를 추가 할 수 있지만 결국에는 이전의 것을 제거 할 수도 있습니다.

이 경우 Adobe가 일부 위치에 잘못된 버전 번호를 입력했기 때문에 버전 11.4.402.278은 예외였습니다. 따라서 자체 업데이트가 실패했습니다.

따라서 테스트 시스템에만 적용되는 별도의 GPO를 항상 보유하고 업그레이드, 다운 그레이드, 업그레이드와 같은 새 버전마다 시도해 보는 것이 좋습니다.

이 마법은 모든 msi 파일에서 작동하지는 않습니다. 그런 다음 업데이트 탭의 목록에 이전 항목을 수동으로 추가 한 다음 확인란을 선택하지 않은 상태로 두어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.