手动向“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall”添加条目的后果

手动向“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall”添加条目的后果

我们有一个应用程序,我们称之为“应用程序 A”,当您运行它时,它会检查注册表以查看是否安装了另一个应用程序,我们称之为“应用程序 B”。它通过搜索任何与“应用程序 B”相等的HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall条目来实现这一点。DisplayName

现在,应用程序 A 实际上不需要应用程序 B 即可正常运行,并且我们失去了在系统上安装应用程序 B 的能力。所以我的问题是...

使用适当的显示名称创建注册表项会有什么后果吗HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\App A?我认为这可以通过包含以下内容的 *.reg 文件来实现...

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\App 1]
"DisplayName"="App 1"

答案1

你当然可以这样做来假装安装了某个应用程序。

鉴于此处的信息: https://devblogs.microsoft.com/oldnewthing/20040709-00/?p=38493 添加条目时唯一必需的值是 DisplayName 和 UninstallPath。

如果需要,您还可以设置 SystemComponent DWORD 值以从程序和功能中的应用程序列表中隐藏该应用程序。因此,以下内容就可以了:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\App 1]
"DisplayName"="App 1"
"UninstallPath"="C:\\fake.exe"
"SystemComponent"=dword:00000001

相关内容