我的安装程序 (InstallanyWhere 2013) 具有执行批处理文件的功能。 我使用 32 位 JRE 创建了安装程序。
我有两个位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Lock 配置工具(32 位注册表位置)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Lock 配置工具(64 位注册表位置)
批处理文件代码:
cd\
cd c:\windows\system32
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProjectName" /f
当上面的命令执行时,它指向 32 位注册表而不是 64 位注册表。 我知道“HKEY_LOCAL_MACHINE\SOFTWARE”转换为 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node 的原因,因此它指向 32 位注册表。
我的问题是如何通过命令提示符使用 32 位安装程序(内部使用批处理文件)删除 64 位注册表。命令提示符是否提供指向 64 位注册表的任何功能?
最佳答案
这个问题困扰了我们一段时间。您需要使用/reg:64 参数。 Source
例子:
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProjectName" /f /reg:64
关于windows - 使用 32 位安装程序删除 64 位注册表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23623498/