Aku sudah menghebohkan jumlah yang tampaknya kegagalan acak (lihat catatan saya di akhir jawaban ini) dengan beberapa v9, v10, dan v11 Adobe Flash MSI tidak menghapus atau upgrade dengan benar, meninggalkan database MSI pada PC dalam keadaan itu membuat saya waspada. Saya akhirnya menggunakan skrip startup yang:
Periksa nilai HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion
registri untuk melihat apakah versi yang saat ini diinstal saat ini (menambahkan WOW6432NODE
ke dalam jalur itu, jika perlu) dan membayar jika versi saat ini sedang
Menggunakan msizap.exe
utilitas lama, tidak didukung, dan sekarang hampir tidak mungkin untuk menghapus MSI yang gagal diketahui dari "kembali pada hari" (termasuk {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A}, dan {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).
Menggunakan uninstaller yang disediakan Adobe EXE untuk secara diam-diam menghapus semua versi Flash saat ini
Menggunakan penginstal EXE yang disediakan Adobe saat ini dengan -install activex
argumen (Saya hanya menginstal kontrol ActiveX di sebagian besar situs) untuk menginstal versi saat ini
Menulis sebuah 'mms.cfg. file untuk mencegah peningkatan otomatis
Inilah versi yang sudah dibersihkan dari skrip startup saya. Anda harus keluar dan mengambil EXE yang sesuai jika Anda ingin melakukannya.
@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%
Masalah yang sering saya lihat saat menghapus MSI Flash lama adalah:
"Adobe Flash Player 11 ActiveX - Kesalahan 1714. Versi lama Adobe Flash Player 11 ActiveX tidak dapat dihapus. Hubungi grup dukungan teknis Anda. Kesalahan Sistem 1612."
"Kesalahan 2753: File 'installax.exe' tidak ditandai untuk instalasi"
Sedotan yang mematahkan punggung unta, bagi saya, melihat kesalahan ini terjadi secara acak di situs Pelanggan dengan 1.000+ klien PC. Saya perlu memastikan bahwa pembaruan Flash sedang terjadi dan MSI gagal dicopot secara acak bukanlah suatu pilihan. Fakta bahwa kegagalan MSI terjadi pada setiap boot berikutnya, memperlambat proses boot, hanya menambah penghinaan pada cedera.
Saya belum melihat MSI v11 secara detail. MSI v9 dan v10 tidak lebih dari tindakan kustom untuk menjalankan penginstal Flash berbasis EXE dengan argumen baris perintah. Saya tidak terkesan dengan kualitas MSI, karena menggunakan Windows Installer untuk menjalankan pengaturan berbasis EXE Anda tidak menggunakan Windows Installer.