
In a previous blog post, I’ve posted a small VBScript that can change the summary information for an MSI or MST. But what if you want to use Powershell to achieve that?
Well, here is the script
$windowsInstaller = New-Object -ComObject WindowsInstaller.Installer
$MSI = $windowsInstaller.OpenDatabase("C:\Test\Test.msi", 1)
$SummaryInfo = $MSI.SummaryInformation(4)
$SummaryInfo.Property(2) = "Test Title"
$SummaryInfo.Property(3) = "Test Subject"
$SummaryInfo.Property(4) = "Test Author"
$SummaryInfo.Property(5) = "Test Keywords"
$SummaryInfo.Property(6) = "Test Comments"
$SummaryInfo.Persist()
$MSI.Commit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($windowsInstaller)| Out-Null
As previously stated, each field you want to customize in the summary information stream has a PID (Property ID). For more information about PIDs and what is the right one to use in your situation check out the official Microsoft page for Manage Summary Information.