MSIZAP이 여전히 유용합니까, 아니면 더 이상 사용되지 않습니까?


12

그룹 정책으로 설치된 MSI 파일을 사용하여 플래시를 업데이트합니다. 그러나 모든 업데이트에서 약 3 분의 1의 워크 스테이션이 업데이트되지 않습니다 (Windows Vista 및 Windows 7 32/64 비트 버전). 이벤트 로그에이 메시지가 나타납니다.

"Adobe Flash Player 11 ActiveX-오류 1714. 이전 버전의 Adobe Flash Player 11 ActiveX를 제거 할 수 없습니다. 기술 지원 그룹에 문의하십시오. 시스템 오류 1612."

이 문제를 해결할 수있는 유일한 방법은 Microsoft Fit It 도구 를 사용하는 것 입니다. 그러나 시간이 많이 걸리는 프로세스이므로 각 워크 스테이션에 대해 수동으로 수행하는 데 약 15 분이 걸리므로 플래시 업데이트가 나올 때마다 하루 종일 효과적으로 종료됩니다.

실패한 플래시 제거를 제거하기 위해 MSIZAP가 포함 된이 스크립트를 발견했습니다. 그래서 내 질문은 : MSIZAP 유틸리티가 프로그래밍 방식으로 플래시를 제거하는 가장 좋은 방법입니까, 아니면이 시점에서 더 이상 사용되지 않습니까? 내가 묻는 이유는 주제에 대해 찾은 대부분의 서면 자료가 2009 년 또는 2010 년이기 때문입니다.

@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 Player를 배포했습니다. 업그레이드하는 방법?


GUID 목록이 있다면 그냥 걸어서 제거하지 않는 이유는 무엇입니까? 같은 뭔가 : msiexec /x {the-product-guid} /qn- 즉, 제품을 제거해야 [S]. MsiZap이 지원 되지 않는다고 생각 합니다.
jscott

1
이러한 프로그램은 그룹 정책을 통해 완전히 제거되지 않았으며, 수정 도구로 정리할 때까지 다시 설치하거나 업그레이드 할 수 없습니다. 내가 아는 한 msiexec는 실제로 제대로 작동하는 경우에만 작동합니다.
포스 플로우

MSI를 사용하여 Flash 설치 프로그램을 다시 패키지하거나 제공 한 패키지를 사용하고 있습니까? MSI는 몇 년 동안 크게 바뀌지 않았으므로 기본 메커니즘은 실제로 변경되지 않았습니다. 즉, 첫 번째 재핑은 미래의 실패로 이어질 수있는 무차별 대입 정비사입니다. 해결 방법 PowerShell을 사용하는 것이 좋으면 기본적으로 자동화 할 수 있지만 공식적으로 권장하지는 않습니다. (저는 Microsoft를 위해 일하고 있으므로 권장하지 않습니다. 단지 내장이 PowerShell이라고 말하고 이론적으로 수행 할 수 있습니다.)
Matthew Wetmore

답변:


0

이전 버전 위에 새 버전을 설치하려고하는데 설치 프로그램을 사용하여 제거합니까? 아니면 새 설치 프로그램을 설치하기 전에 Windows 설치 프로그램에 이전 설치 프로그램을 먼저 설치 제거하도록 지시합니까?

전자를 사용하는 경우 경험이 거의 없기 때문에 나중에 전환하는 것이 좋습니다. Adobe가 msi 내부의 제거 명령에 잘못된 버전 번호를 한 번 입력 한 경우 (단, 100 % 재현 가능하므로 배포 전에 테스트 컴퓨터에서 즉시 볼 수 있음)는 예외였습니다.

참조 /server//a/441131/144344/server//a/564881/144344

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