Bagaimana saya dapat menemukan produk GUID dari aplikasi yang diinstal MSI setup?
Saya perlu untuk menemukan produk GUID untuk diinstal MSI file dalam rangka untuk melakukan pemeliharaan seperti menambal
, uninstall
(bagaimana-untuk uninstall) dan juga untuk tujuan audit
.
58
2
Mulai cepat dari Powershell: tahan Windows key, tekan R, ketik "powershell", lalu tekan Enter 2.
Menggunakan VBScript
Dijelaskan berikut di bawah "Alternatif Alat" (bagian 3). Pilihan ini mungkin lebih aman dari Powershell untuk alasan yang dijelaskan secara rinci di bawah ini. Pada dasarnya itu adalah (banyak) lebih cepat dan tidak mampu memicu MSI memperbaiki diri karena tidak pergi melalui WMI (mengakses [MSI API COM][1] langsung di terik kecepatan). Namun, itu lebih terlibat dari Powershell pilihan (beberapa baris kode). 3.
Catatan ' Lookup
Beberapa bersumpah dengan melihat hal-hal dalam registri. Tidak dianjurkan pendekatan - aku suka pergi melalui Api tepat (atau dengan kata lain: fungsi OS panggilan). Selalu ada yang aneh pengecualian hanya menyumbang oleh internal dari API-pelaksanaan:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Asli MSI File / WiX Sumber
Anda dapat menemukan
Kode
diProperti tabel
dari setiap file MSI (dan properti lainnya juga). Namun, GUID bisa dibayangkan (jarang) dapat diganti dengan mengubah diterapkan pada waktu menginstal dan karenanya tidak cocok GUID produk ini terdaftar di bawah (mendekati 1 dan 2 di atas akan melaporkan real kode produk - yang terdaftar dengan Windows - di langka seperti skenario). Anda perlu alat untuk melihat MSI file. Melihat ke arah bawah dari jawaban berikut untuk daftar alat gratis yang dapat anda download (atau melihat pilihan cepat di bawah ini): https://stackoverflow.com/questions/48482545/how-can-i-compare-the-content-of-two-or-more-msi-files/48482546#48482546 UPDATE: Untuk kenyamanan dan perlu untuk kecepatan :-), download SuperOrca tanpa penundaan dan ribut-ribut dari ini langsung-download hotlink - alat ini cukup baik untuk mendapatkan pekerjaan yang dilakukan - install, buka MSI dan langsung pergi ke Properti tabel dan menemukanProductCode
row (mohon selalu periksa virus langsung-download hotlink - jelas - anda dapat menggunakan virustotal.com untuk melakukannya - online scan memanfaatkan puluhan anti-virus dan malware suites untuk memindai apa yang anda upload).The output harus sama dengan ini: Catatan! Untuk beberapa alasan aneh yang "product kode" ini disebut sebagai "IdentifyingNumber" di WMI. Jadi dengan kata lain dalam gambar di atas IdentifyingNumber adalah ProductCode. Jika anda perlu jalankan query ini dari jarak jauh terhadap banyak komputer remote*, melihat "Mengambil Kode Produk Dari Komputer Remote*" bagian di bawah ini.
Dalam hal ini output yang mirip dengan ini:
Mengambil Kode Produk Dari Komputer Remote
Secara teori, anda harus dapat menentukan nama komputer remote sebagai bagian dari perintah itu sendiri. Berikut ini adalah perintah yang sama seperti di atas diatur untuk dijalankan pada mesin "RemoteMachine" (
-ComputerName RemoteMachine
bagian ditambahkan):Ini mungkin bekerja jika anda menjalankan dengan domain hak admin pada domain yang tepat. Dalam kelompok kerja lingkungan (small office / home jaringan), anda mungkin harus menambahkan kredensial pengguna langsung ke WMI panggilan untuk membuatnya bekerja. Selain itu, koneksi remote di WMI dipengaruhi oleh (setidaknya) satu Windows Firewall, DCOM pengaturan, dan User Account Control (UAC) (plus tambahan non-Microsoft faktor - misalnya nyatafirewall, perangkat lunak pihak ketiga firewall, perangkat lunak keamanan dari berbagai jenis**, dll...). Apakah itu akan bekerja atau tidak tergantung pada tepat anda setup.
[Yang menghubungkan ke WMI dari jarak Jauh dengan PowerShell][11] UPDATE: bagian Yang luas pada remote WMI berjalan dapat ditemukan dalam jawaban ini: https://stackoverflow.com/questions/46637094/how-can-i-find-the-upgrade-code-for-an-installed-msi-file/46637095#46637095. Tampaknya aturan firewall dan penindasan UAC prompt melalui registry tweak yang bisa membuat hal-hal bekerja dalam kelompok kerja lingkungan jaringan. Tidak dianjurkan perubahan jam-bijaksana, tapi itu bekerja untuk saya.
Alternatif Alat
PowerShell membutuhkan .NET framework untuk diinstal (saat ini dalam versi 3.5.1 tampaknya? Juli, 2017). Sebenarnya PowerShell aplikasi itu sendiri juga dapat hilang dari mesin bahkan jika .NET diinstal. Akhirnya saya percaya PowerShell dapat disabled atau terkunci dengan berbagai sistem kebijakan dan hak-hak istimewa. Jika hal ini terjadi, anda dapat mencoba beberapa cara lain untuk mengambil kode produk. Saya alternatif yang lebih disukai adalah VBScript - cepat dan fleksibel (tetapi juga dapat terkunci pada mesin tertentu, dan scripting selalu sedikit lebih terlibat daripada menggunakan alat-alat).
wbemtest.exe
.wbemtest.exe
(Tahan tombol Windows, tekan R, lepaskan tombol Windows, ketik "wbemtest.exe", lalu tekan OK).PILIH IdentifyingNumber,Nama,Versi DARI Win32_Product
dan klik "Gunakan" (atau setara - alat yang akan terlokalisasi).WMIExplorer.exe
PILIH IdentifyingNumber,Nama,Versi DARI Win32_Product
dan tekan Execute.msiinfo.csv
.Cepat Parameter Penjelasan:
Anda juga dapat mengaktifkan (verbose) penebangan dan jalankan dalam mode silent jika anda ingin, menyebabkan kita untuk opsi 2: Pilihan 2: Diam uninstall dengan verbose logging (baik untuk batch file):
Cepat Parameter Penjelasan:
Ada referensi yang komprehensif untuk MSI uninstall di sini (berbagai cara yang berbeda untuk uninstall paket MSI): https://stackoverflow.com/questions/450027/uninstalling-an-msi-file-from-the-command-line-without-using-msiexec/1055933#1055933. Ada sejumlah cara yang berbeda untuk uninstall. Jika anda menulis sebuah batch file, silakan lihat di bagian 3 di atas, terkait jawaban untuk beberapa umum dan standar uninstall varian baris perintah. Dan link cepat ke [msiexec.exe (opsi baris perintah)][15] (tinjauan dari baris perintah untuk msiexec.exe dari MSDN). Dan Technet versi juga.
Mengambil lain MSI Sifat / Informasi (f.ex Kode Upgrade)
Berikut ini adalah artikel serupa dengan beberapa pilihan lebih lanjut untuk mengambil MSI informasi menggunakan registry atau cache msi: https://stackoverflow.com/questions/11251034/find-guid-from-msi-file?
Topik yang serupa (untuk referensi dan akses mudah - aku harus membersihkan daftar ini):
Jika anda memiliki terlalu banyak installer untuk menemukan apa yang anda cari dengan mudah, berikut ini adalah beberapa powershell untuk memberikan filter dan sempit itu turun sedikit demi nama tampilan.