0

在 NSIS 中,我使用的是 WriteRegBin。但是如果值的长度很大(大约超过 15000 个字符),那么在编译 nsi 代码时它将不起作用并且编译停止。例如(下面的代码如果有超过 1500 个字符,则错误来)

WriteRegBin HKEY_LOCAL_MACHINE "SOFTWARE\nnn\qwrtt\B4CA2970-DD2B-11D0-9DFA-00AA00AF3494020000000000500002000000000000003070693300000000000000000400000000.....etc etc etc..

那么如何解决。我知道我可以使用如下所示的导入注册表文件。

ExecWait '"regedit.exe" /s "$TEMP\registryfile.reg"'

但是我如何在 WriteRegBin 函数中进行管理

4

1 回答 1

1

您当前的示例有一个长名,并且这些名称被记录为限制为 255 个字符。

MSDN 还告诉你:

长值(超过 2,048 字节)应存储在文件中,并且文件的位置应存储在注册表中。这有助于注册表有效地执行。

我不知道确切的 NSIS REG_BINARY 限制,但如果你想绕过它,你可以直接使用系统插件调用注册表函数......

于 2013-08-26T14:05:53.583 回答