我在使用以下代码时遇到问题,它增加了额外的“{”. 例如: [Setup]AppID={{E643099E-1ECE-474F-B043-1E7A7CE405AA}[Code]const INSTALL_KEY = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}
例如:
[Setup] AppID={{E643099E-1ECE-474F-B043-1E7A7CE405AA} [Code] const INSTALL_KEY = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1';
返回以下内容:
INSTALL_KEY = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{{E643099E-1ECE-474F-B043-1E7A7CE405AA}_is1';
显然无法使用RegKeyExists(HKLM,INSTALL_KEY)检测该密钥,因为额外的“{”不在实际路径中,如果删除[Setup]中的额外字符,脚本将无法编译它认为这是一个常数.
使用StringChange()删除额外的{:[Setup] AppID={{E643099E-1ECE-474F-B043-1E7A7CE405AA} [Code] const INSTALL_KEY = '...\Uninstall\{#emit StringChange(SetupSetting("AppId"),"{{","{")}_is1';