在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函数中管理
答案 0 :(得分:1)
您当前的示例有一个很长的键名称,而documented的名称限制为255个字符。
MSDN也告诉你:
长值(超过2,048字节)应存储在文件中,并且 文件的位置应存储在注册表中。这有帮助 注册表有效地执行。
我不知道确切的NSIS REG_BINARY限制,但如果你想绕过它,你可以直接用系统插件调用注册表函数......