Inno setup 错误:缺少参数“的结束引号”;名称“;

Inno setup 错误:缺少参数“的结束引号”;名称“;,inno-setup,Inno Setup,在编译时,Inno一直说有一个错误: Line: 81 Error: Missing closing quote on parameter "Name" 但我看不出有什么不对。它指向[图标]正下方的线条 [Files] Source: "{#SOURCEDIR}\Debug\myapplication.exe"; DestDir: {app}; Flags: ignoreversion Source: "{#SOURCEDIR}\Debug\aDllFile.dll"; DestDir: {a

在编译时,Inno一直说有一个错误:

Line: 81
Error: Missing closing quote on parameter "Name"
但我看不出有什么不对。它指向[图标]正下方的线条

[Files]
Source: "{#SOURCEDIR}\Debug\myapplication.exe"; DestDir: {app}; Flags: ignoreversion
Source: "{#SOURCEDIR}\Debug\aDllFile.dll"; DestDir: {app}; Flags: ignoreversion
Source: "{#SOURCEDIR}\Debug\another.aDllFile.dll"; DestDir: {app}; Flags: ignoreversion
Source: "{#SOURCEDIR}\Debug\and.another.aDllFile.dll"; DestDir: {app}; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#APPTITLE}"; Filename: "{app}\{#APPEXENAME}"
Name: "{group}\{cm:ProgramOnTheWeb,{#APPTITLE}}"; Filename: "{#APPURL}"
Name: "{group}\{cm:UninstallProgram,{#APPTITLE}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#APPTITLE}"; Filename: "{app}\{#APPEXENAME}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#APPTITLE}"; Filename: "{app}\{#APPEXENAME}"; Tasks: quicklaunchicon
Name: "{userstartup}\{#APPTITLE}"; Filename: "{app}\{#APPEXENAME}"; IconFilename: "{app}\{#APPEXENAME}"; 

[Run]
;Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, ""&"", ""&&"")}}"; Flags: nowait RunHidden SkipIfDoesntExist; Parameters: exit; WorkingDir: {app}; 
Filename: {app}\{#APPEXENAME}; Description: "{cm:LaunchProgram,{#StringChange(APPNAME, "noupdate", "&&")}}"; Flags: nowait postinstall skipifsilent


[Messages]
WelcomeLabel1=Welcome to the Setup Wizard for%n[name]
WelcomeLabel2=Salve!  This application will install [name/ver] on your computer.  You do not need administrator rights to do this.%n%nIf you would close your other applications before continuing, it would be mighty nice of you.
ExitSetupMessage=Hey!  I'm not finished installing!%n  If you exit now, the program will not be installed.%n%nHowever, you can always run the Setup again some other time if you wish to complete the installation.%n%nDo you still want to exit?
InfoBeforeLabel=Just a few little notes about {#APPTITLE}...
InfoBeforeClickLabel=When you are ready to continue the Installation, just click Next.
SelectTasksDesc=Just a few little tidbits, if you like them...
[注]


我不敢相信这个问题被浏览了1003次,没有人给我投票

好吧,我知道了。我的一个定义是失败。它应该从目标可执行文件的资源中提取文件描述

#define APPTITLE GetStringFileInfo("C:\sourcepath\myapplication.exe", FILE_DESCRIPTION)
文件描述中有一个“!这使得Inno提供了所有的引号

以下是Dee Earley在Inno论坛上告诉我的:


为什么要逃避呢?它不知道它需要逃避什么,它只是“一根线”。当需要使用StringChange()或只是正确引用它时,您应该为它的输出转义它。”

哪一行是第81行,SOURCEDIR和APPTITLE(以及任何其他)的定义是什么?您的宏{#APPTITLE}等是否包含引号?也可以尝试删除[图标]上方的评论行,只是随意拍摄,但其中有引号。BGM已经找到了它发生的原因(在文件描述中引用,然后在ISPP定义中引用),并在另一个论坛上发布。“我也请他们在这里回答。”迪安娜对不起——我不得不去睡觉;我还没来得及添加评论,你们就已经发到这里了!昨晚我发现它的时候,我没有足够的声望点数来发布它;无论如何,我也在发布我从Inno员工那里收到的回复。你在回答中说问题出在定义的宏中,但在你的问题中它显示在哪里?问题本身并没有包含解决问题所需的所有代码,因此甚至可能因为“寻求调试帮助的问题”(“为什么此代码不起作用?”)而被搁置为非主题必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码