windows - 使用 32 位安装程序删除 64 位注册表项

标签 windows batch-file cmd

我的安装程序 (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/

相关文章:

batch-file - 批处理脚本中的 sleep 函数

batch-file - 批处理编程=当我回显时,如何使字符显示缓慢,就像您正在键入它们一样

node.js - 在 Node.js(或 CMD)中运行 PHP 脚本?

windows - 在Docker中挂载本地文件夹会导致目录为空

windows - golang无法枚举注册表项的子项

windows - 从另一个 cmd.exe 提示符中创建一个新的 cmd.exe 窗口

batch-file - 是否有命令检查是否安装了防病毒软件?

android - 当我转到属性时,Eclipse 不断崩溃?

python - .Bat 到 .Py 重写

cmd 中的 rmarkdown::render() 返回 pandoc 错误