【发布时间】:2021-02-01 02:09:51
【问题描述】:
为了在远程 VM 中找到已安装的 MSI 文件 GUID - 我在 Invoke-Command 中使用以下命令:Get-WmiObject Win32_Product | Where-Object {$_.Name -eq "Application Name"}
此命令在其输出中显示一个标识符号。
我知道,我应该在此命令中再添加一件事,以便仅获取 GUID,但我不知道如何...
现在,我需要将此 GUID 与我为安装获得的新 MSI 文件的 GUID 进行比较。
这意味着:
如果新文件的 GUID 较旧 - 我什么也不做
如果新文件的 GUID 相等 - 我什么也不做
如果新文件的 GUID 较新 - 我将进行升级或卸载 - 安装过程...
所以,为了比较已安装的 MSI 的 GUID 和新的 MSI 文件的 GUID:
查找新 MSI 文件的 GUID 的确切 PowerShell 命令是什么?
【问题讨论】:
-
如果您想升级我们的应用程序,可以使用 MSI 内置的方法。它被称为major upgrades。这里是more on the topic。
-
使用Powershell检索产品代码,方法不同:1)Run MSI session,2)Open MSI database file。我很少使用 Powershell。我认为这有点“高线噪音”。
标签: powershell windows-installer guid