Bonne nouvelle pour celles et ceux qui ont failli jeter leur PC par la fenêtre : Microsoft a officiellement assoupli sa position concernant les invites UAC déclenchées par les fichiers MSI… à condition de mettre les mains dans le Registre Windows.
Sinon e product code d’un MSI se récupère en quelques lignes de code PowerShell sans installer un SDK ou Orca etc.
1 « J'aime »
Voici ces quelques lignes de code PowerShell pour récupérer le ProductCode (accolades comprises) d’un MSI sans avoir à installer Orca ou autre:
function Get-MsiProductCode {
param([Parameter(Mandatory)][string]$Path)
$wi = New-Object -ComObject WindowsInstaller.Installer
$db = $wi.OpenDatabase($Path, 0)
$vw = $db.OpenView(« SELECT Value
FROM Property
WHERE Property
=‹ ProductCode › »)
$vw.Execute()
$code = ($vw.Fetch()).StringData(1)
[Runtime.InteropServices.Marshal]::ReleaseComObject($wi) | Out-Null
return $code
}
Get-MsiProductCode -Path « C:\Chemin\vers\setup.msi »