我在[ISPP]
部分有此内容:
; Help Documentation download URL
#define HelpDocSetupURL "https://www.publictalksoftware.co.uk/downloads/PublicTalksHelpDocumentationSetup.exe"
我在[FILES]
部分有此内容:
Source: "{tmp}\HelpDocSetup.exe"; \
DestDir: "{app}"; \
Flags: external deleteafterinstall; \
Tasks: downloadhelp; \
Check: DwinsHs_Check( ExpandConstant('{tmp}\HelpDocSetup.exe'), {#HelpDocSetupURL}, 'My_Setup', 'Get', 0, 0 )
编译时出现错误:
第441行:指令或参数“检查”的表达式错误:只能在参数列表中调用函数“ ExpandConstant”。
我可以使用文字路径,但是如何使用#define?
{#HelpDocSetupURL}
正在发出预处理程序指令,因此只能在编译时知道结果(正确)。因此,在这种情况下,我们不允许使用预处理程序指令。目前,我改用文字路径。
答案 0 :(得分:1)
您收到的错误消息令人困惑。
经过预处理程序后,您将获得以下代码:
Check: DwinsHs_Check( ExpandConstant('{tmp}\HelpDocSetup.exe'), https://www.publictalksoftware.co.uk/downloads/PublicTalksHelpDocumentationSetup.exe, 'My_Setup', 'Get', 0, 0 )
什么显然是语法错误。该代码缺少引号。
您想要这个:
Check: DwinsHs_Check( ExpandConstant('{tmp}\HelpDocSetup.exe'), '{#HelpDocSetupURL}', ...)