当前位置 : 主页 > 编程语言 > delphi >

inno-setup – Inno设置:使用{#emit SetupSetting(“AppId”)}添加额外字符

来源:互联网 收集:自由互联 发布时间:2021-06-23
我在使用以下代码时遇到问题,它增加了额外的“{”. 例如: [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';
网友评论