我想从我的 C++ 应用程序运行其他应用程序的修复- 以编程方式执行当我手动选择程序的修复选项时会发生什么Windows->Control Panel->Program
。
对于删除选项,我可以在注册表中搜索:
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
在 64 位机器上)
而不是使用UninstallString
来查找我必须使用System()
函数执行的命令。
但是如何以类似的方式运行修复?对于像RepairString
.
我想找到所有程序的通用方法(当然我的意思是在注册表中留下信息的程序)。
附加问题: eg 列出的应用程序是否可能MsiEnumProductsEx
没有其UninstallString
注册表项?
ps 我从伟大的 Pat 的帖子中获取的有关删除选项的注册表项的信息: