Tôi đã có những con số khủng khiếp về những thất bại dường như ngẫu nhiên (xem ghi chú của tôi khi kết thúc câu trả lời này) với một số Adobe Flash MSI v9, v10 và v11 không gỡ cài đặt hoặc nâng cấp đúng cách, khiến cơ sở dữ liệu MSI trên PC ở trạng thái điều đó làm tôi cảnh giác Cuối cùng tôi đã sử dụng một kịch bản khởi động:
Kiểm tra HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
giá trị đăng ký để xem phiên bản hiện được cài đặt có hiện hành không (thêm một WOW6432NODE
vào đường dẫn đó, nếu cần) và bảo lãnh nếu phiên bản hiện tại
Sử dụng tiện ích cũ, không được hỗ trợ và bây giờ là không thể msizap.exe
sử dụng để loại bỏ các MSIs đã bị lỗi khỏi "quay lại trong ngày" (bao gồm {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3 E9124509AF5A} và {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Sử dụng trình gỡ cài đặt do Adobe cung cấp EXE để âm thầm xóa mọi phiên bản Flash hiện tại
Sử dụng trình cài đặt EXE do Adobe cung cấp hiện tại với -install activex
đối số (Tôi chỉ cài đặt điều khiển ActiveX ở hầu hết các trang web) để cài đặt phiên bản hiện tại
Viết ra một 'mms.cfg. tập tin để ngăn chặn nâng cấp tự động
Đây là phiên bản đã được dọn sạch của tập lệnh khởi động của tôi. Bạn cần phải ra ngoài và lấy EXE thích hợp nếu bạn muốn thực hiện điều này.
@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%
Các vấn đề tôi thấy khi gỡ cài đặt Flash MSI cũ hầu hết là:
"Adobe Flash Player 11 ActiveX - Lỗi 1714. Không thể xóa phiên bản Adobe Flash Player 11 ActiveX cũ. Liên hệ với nhóm hỗ trợ kỹ thuật của bạn. Lỗi hệ thống 1612."
"Lỗi 2753: Tệp 'installax.exe' không được đánh dấu để cài đặt"
Đối với tôi, ống hút làm vỡ lưng con lạc đà, đã thấy những lỗi này xảy ra ngẫu nhiên trong một trang web của Khách hàng với hơn 1000 PC khách. Tôi cần chắc chắn rằng các cập nhật Flash đang diễn ra và việc MSI ngẫu nhiên không gỡ cài đặt không phải là một tùy chọn. Thực tế là các thất bại của MSI xảy ra trong mỗi lần khởi động tiếp theo, làm chậm quá trình khởi động, chỉ thêm sự xúc phạm đến thương tích.
Tôi đã không nhìn vào một MSI v11 chi tiết. Các MSI v9 và v10 không có gì khác hơn là một hành động tùy chỉnh để thực thi trình cài đặt Flash dựa trên EXE với các đối số dòng lệnh. Tôi không ấn tượng về chất lượng của MSI, vì sử dụng Windows Installer để chạy thiết lập dựa trên EXE của bạn không sử dụng Windows Installer.