

It can trigger both self-repair and excessive logging. Heads Up: The html version also gets the upgrade code.

However, it is more involved than the Powershell option (several lines of code). In essence it is (much) faster and not capable of triggering MSI self-repair since it does not go through WMI (it accesses the MSI COM API directly - at blistering speed). This option may be safer than Powershell for reasons explained in detail below. If you want the upgrade code, maybe use the html export instead (section 2 below) 2 - Use VBScript ( script on - html export version)ĭescribed below under " Alternative Tools" (section 3). UPDATE: As commented by Alexis Coles, you can skip WMI and go via COM (faster): $Installer = New-Object -ComObject WindowsInstaller.Installer $InstallerProducts = $Installer.ProductsEx("", "", 7) $InstalledProducts = ForEach($Product in = $Product.ProductCode() LocalPackage = $Product.InstallProperty("LocalPackage") VersionString = $Product.InstallProperty("VersionString") ProductPath = $Product.InstallProperty("ProductName")}} $InstalledProducts Quick start of Powershell: hold Windows key, tap R, type in "powershell" and press Enter get-wmiobject Win32_Product | Sort-Object -Property Name |Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize Note! IdentifyingNumber is the ProductCode (WMI peculiarity). The package integrity checks triggered does add some event log "noise" though.

Any self-repair triggered by this option should generally be possible to cancel. Disclaimer also below - minor or moderate risks depending on who you ask. Scroll down for screenshot and step-by-step. How to get product codes quickly? (four approaches): 1 - Use the Powershell "one-liner" The information below has grown considerably over time and may have become a little too elaborate. How can I find the Upgrade Code for an installed MSI file? ( or use the html table export script - shown below in section 2)
