Saya mencoba mencari tahu bagaimana Windows (XP hingga 7) menangani instalasi dan penghapusan file MSI. Saya muncul dalam situasi di mana Pemasang Windows tidak dapat menghapus instalan karena tidak ada file MSI asli, yang membuat saya percaya bahwa ia menyimpan salinan semua paket MSI yang diinstal di suatu tempat. Dimana?
Saya punya beberapa teori.
Itu mengharapkannya untuk berada di folder yang sama seperti itu diinstal dari. Kunci registri di
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
memang menunjuk ke folder instalasi asli, dan pesan kesalahan ketika file MSI hilang sering menunjuk ini. Menghapus file MSI dari folder ini tidak menghalangi proses penghapusan instalasi, jadi saya menolak teori ini.C:\Windows\Installer
. Folder ini sebenarnya berisi banyak file MSI yang tampaknya acak. Tetapi daftar ini tidak lengkap. Saya menemukan entri dalam kunci registri yang disebutkan dalam 1) yang tidak memiliki salinan MSI di folder ini.
Jadi bagaimana cara kerjanya? Bagaimana windows installer dapat menghapus aplikasi yang terinstal MSI meskipun MSI tidak dalam 1) dan tidak dalam 2)?
sumber
Jawaban:
Ternyata itu berfungsi seperti ini (Pada Windows 7, saya tidak tahu tentang XP dan OS lainnya):
Ketika pengguna menginstal beberapa aplikasi, Windows melakukan hal berikut:
1) Membuat kunci registri
untuk aplikasi ini.
Jika Anda memiliki akses ke file msi asli dari penginstal aplikasi Anda, Anda dapat menemukan [PANDUAN ProductID] dengan membuka file msi di orca.exe dan mengklik "Properti" di sebelah kiri di orca, dan mencari "ProductCode" baris di sebelah kanan. Jika Anda tidak memiliki akses ke file * .msi asli, Anda bisa mencari kunci registri HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall untuk nama aplikasi.
Jika Anda ingin menghapus aplikasi Anda (yang menolak untuk menghapus instalan misalnya) dari daftar aplikasi yang diinstal di Control Panel, Anda dapat menghapus entri dari kunci Uninstall ini. Itu pasti akan hilang dari daftar di panel kontrol, tetapi Windows masih akan mengingatnya. Misalnya, jika Anda mencoba menginstal versi berikutnya dari aplikasi yang sama, Pemasang mungkin masih bersikeras mencopot pemasangan versi sebelumnya. Lihat item 2 untuk itu.
2) Windows menyalin file * .msi asli ke folder C: \ Windows \ Installer dan menamainya menjadi nama acak (mempertahankan ekstensi .msi). Windows juga membuat kunci dalam registri di
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[InternalUserId]\Products\[some random guid-like sequence of chars identifying to windows your installation]\InstallProperties.
ValueName "LocalPackage" di kunci reg ini akan mengarah ke file msi yang diubah namanya. Untuk menemukan file di C: \ windows \ Installer Anda dapat menavigasi ke folder ini di Windows explorer, alihkan ke tampilan Detail, buat kolom "Subjek" terlihat dan Anda akan melihat semua nnnnnnnn.m.msi melihat nama produk yang sesuai.sumber
make column "Subject" visible and you will see for all nnnnnnnn.msi fies their corresponding name of product.
. Windows adalah sistem operasi yang misterius: P