gpt4 book ai didi

PowerShell:在不安装的情况下从 MSI 文件中获取 MSI 产品代码?

转载 作者:行者123 更新时间:2023-12-04 02:10:10 29 4
gpt4 key购买 nike

是否有可能在不使用 PowerShell 安装的情况下从 MSI 文件中检索 MSI 产品代码?我想将 MSI 文件的产品代码与安装在机器上的 MSI 代码进行比较,以确定该文件是否曾经安装过。

最佳答案

下面是一个脚本,它根据this article读取产品代码:

$path = "pathto.msi"

$comObjWI = New-Object -ComObject WindowsInstaller.Installer
$MSIDatabase = $comObjWI .GetType().InvokeMember("OpenDatabase","InvokeMethod",$Null,$comObjWI,@($Path,0))
$Query = "SELECT Value FROM Property WHERE Property = 'ProductCode'"
$View = $MSIDatabase.GetType().InvokeMember("OpenView","InvokeMethod",$null,$MSIDatabase,($Query))
$View.GetType().InvokeMember("Execute", "InvokeMethod", $null, $View, $null)
$Record = $View.GetType().InvokeMember("Fetch","InvokeMethod",$null,$View,$null)
$Value = $Record.GetType().InvokeMember("StringData","GetProperty",$null,$Record,1)
$Value现在包含产品代码。

关于PowerShell:在不安装的情况下从 MSI 文件中获取 MSI 产品代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31919064/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com