Installation 将已安装的文件(.reg)传递到Inno安装程序中的程序(regedit)失败,返回“0”;无法导入。。。打开文件时出错";

Installation 将已安装的文件(.reg)传递到Inno安装程序中的程序(regedit)失败,返回“0”;无法导入。。。打开文件时出错";,installation,registry,inno-setup,pascalscript,regedit,Installation,Registry,Inno Setup,Pascalscript,Regedit,我想在安装后导入reg文件。这是我的密码: 过程CurStepChanged(CurStep:TSetupStep); 变量 结果代码:整数; 开始 如果CurStep=ssPostInstall,则开始 Exec({win}\regedit.exe',{app}\MyReg.reg','',SW_SHOW,ewwaituntiltered,ResultCode); 结束; 结束; 我也试过: [Run] Filename "{win}\regedit.exe"; Parameters: "{

我想在安装后导入reg文件。这是我的密码:

过程CurStepChanged(CurStep:TSetupStep);
变量
结果代码:整数;
开始
如果CurStep=ssPostInstall,则开始
Exec({win}\regedit.exe',{app}\MyReg.reg','',SW_SHOW,ewwaituntiltered,ResultCode);
结束;
结束;
我也试过:

[Run]
Filename "{win}\regedit.exe"; Parameters: "{app}\MyReg.reg";
这两种方法都失败了:

无法导入MyReg.reg:打开文件时出错。可能存在磁盘或文件系统错误

我试图手动导入注册表文件(
cmd.exe


如果要安装到
程序文件
,则
{app}
中包含空格

应始终将路径用双引号括起来,以允许路径带有空格

Exec({win}\regedit.exe',“{app}\MyReg.reg',”,SW_SHOW,ewwaitunterminated,ResultCode);
同样地:

[Run]
Filename "{win}\regedit.exe"; Parameters: """{app}\MyReg.reg""";

@Martin,不要担心泛化线程标题和基本描述(具体问题提到的是“我尝试过什么,失败的例子是什么”)。我可以找到很多关于这个话题的线索。但由于它们不可搜索,OP可能会问这个问题(再次使用相同的解决方案)。与其在安装后尝试导入.reg文件,不如将该文件转换为Inno中的
[Registry]
条目。这样,您就不需要分发reg文件,并且可以获得更好的日志记录(以及标记要卸载的某些条目的功能)。有些第三方工具可以自动将注册表文件转换为
[Registry]
条目,但手动转换也不难。
[Run]
Filename "{win}\regedit.exe"; Parameters: """{app}\MyReg.reg""";