使用InstallShield 2008 Premier我希望能够在Windows注册表中的密钥中搜索特定的字符串。我的挑战是,在通往密钥的路径中存在可能未知的子文件夹。例如,在此注册表路径中: systemctl stop docker
我可能不一定知道GUID文件夹的名称,但我需要在 HKLM\Software\Wow6432Node\Microsoft\CurrentVersion\Uninstall\GUID
键中查找特定的字符串,以查看它是否存在于其中一个GUID文件夹下。 InstallShield 2008中是否有可以从 DisplayName
文件夹级别搜索该字符串的命令?
我知道有像 Uninstall
这样的命令,但看起来你需要在整个路径中提供特定的文件夹名称来进行搜索。如果有人遇到这种情况并且能够提供帮助,我们将不胜感激
谢谢!
答案 0 :(得分:0)
就您引用RegDBKeyExist
InstallScript函数而言,我假设您正在寻找使用InstallScript语言编写的示例。
要枚举已知密钥的子密钥,您需要使用RegDBQueryKey
函数。枚举路径HKLM\Software\Wow6432Node\Microsoft\CurrentVersion\Uninstall
的子键后,您需要遍历列表并查询DisplayName
键值以将其与特定字符串进行比较。这可以通过使用RegDBGetKeyValueEx
函数来完成。通过注册表子项枚举的示例是:RegDBQueryKey Example。
如果您的项目是没有Installscript支持的基本MSI,您可能希望使用常规VisualBasic脚本创建自定义操作(CA)。有很多关于如何使用VBScript枚举注册表项的示例。