我正在使用 Windows 7 x64 版本,有时当我安装旧程序(带有 x86 代码库)时,尝试使用程序和功能卸载它时会出现此错误:
RunDLL
There was a problem starting C:\Program
The specified module could not be found
我认为卸载程序找不到路径,但我该如何修复它?请不要建议使用第三方解决方案。只是想知道是什么原因造成的以及如何修复。
答案1
如果程序的卸载程序位于Program Files
,但安装程序在注册表中存储位置时未在路径两边添加引号,则会发生这种情况。结果是 Windows 尝试执行(例如)C:\Program Files\ProgramName\uninstall.exe
,但没有引号,它将其视为C:\Program
可执行文件名称和Files\ProgramName\uninstall.exe
命令行参数。
要解决此问题,请尝试以下步骤:
- 打开
regedit.exe
- 导航
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
- 找到您要卸载的程序对应的键。大多数程序可能会按其 GUID 列出,因此要么逐一浏览它们,要么转到“编辑”->“查找”来搜索您的程序。
- 在右侧窗格中,查找名为卸载字符串。双击它并在路径周围加上引号。但只是路径(从
C:\...
到...exe
),而不是可能跟在其后的任何参数。如果有疑问,请在此处发布当前值。 - 尝试再次卸载该程序。如果仍然不起作用,请发布原始值卸载字符串这里。
- 可选:检查程序作者的网站,查找正确存储其卸载程序信息的更新版本。
理论上,您也可以将程序的卸载程序(假设它是一个 .exe 并且您可以找到它)复制到C:\
并将其重命名为Program.exe
,但我不确定这是否可行。您还可以使用更正后的版本卸载路径并将其保存到名为 的批处理文件中C:\Program.bat
,这可能有效,但仍然是比上述方法更麻烦的解决方案。我只是为了完整性而列出这些方法。