gpt4 book ai didi

Windows 安装程序,检查包是否存在

转载 作者:可可西里 更新时间:2023-11-01 11:49:10 24 4
gpt4 key购买 nike

使用 windows,我可以通过脚本/命令行卸载软件,如下所示:

msiexec /x {00000000-0000-0000-0000-000000000000}

有没有一种方法可以只测试给定包的存在而不影响它?

我对 true/false 或任何其他输入感兴趣,指示该包是否存在于机器上,并且可以使用带有给定命令的 Windows 安装程序将其删除。

对于上下文:我正在使用 NSIS,并且需要修改我的安装程序行为以防找到特定包。可以使用命令行,因为它可以返回值,也可以通过 cmd 使用 VBScript。

绝对不影响包装是强制性的,也没有向用户说明过程,因此例如不能接受维修。

最佳答案

找出这一点的“正确”方法是调用诸如 MsiQueryProductState 之类的函数。这可以通过各种其他方式获得,包括 VB 可访问的 Installer.ProductState property 。相反,如果您尝试生成机器上的列表,则 MsiEnumProductsInstaller.Products(或它们的 Ex 变体)更合适。看来 PowerShell 可以通过 WMI 调用访问等效信息。

不太合适的方法包括调用 msiexec/f {PROD-UCT-CODE} 来修复产品或无法找到它,或者直接查询注册表以查找产品的 Uninstall key 条目是否存在,(它的子项名称与 {PROD-UCT-CODE} 匹配;检查 32 位和 64 位 key 以及根据需要检查每台机器和每用户安装)例如reg 查询

关于Windows 安装程序,检查包是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34630835/

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