问题描述
我正在尝试向安装文件中添加一个默认值的参数。 在这种情况下,我会在
处遇到编译错误OutputBaseFilename=MyApp {param:Version|{#MyAppVersion}} Setup
说:
[Setup]节指令“ OutputBaseFilename”的值无效
缩短的参考代码:
#define MyAppName "My App"
#define MyAppVersion "1.7.24"
[Setup]
AppName={#MyAppName}
AppVersion="{param:Version|{#MyAppVersion}}"
DefaultGroupName=VHStudio
OutputBaseFilename=MyApp {param:Version|{#MyAppVersion}} Setup
SetupIconFile={#PathToRepoRoot}\Development\VHS\VHsstudio\media\logo.ico
[Icons]
Name: "{group}\VHStudio {param:version|MyAppVersion}"; Filename: "{app}\VHStudioApp.EXE"; WorkingDir: "{app}"
Name: "{group}\Uninstall VHStudio"; Filename: "{app}\unins000.exe"; WorkingDir: "{app}"
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\VHStudioApp.EXE"; Tasks: desktopicon
我猜我在使用常量错误? 奇怪的是我做
AppVersion="{param:Version|{#MyAppVersion}}"
没有任何错误...
解决方法
基于马丁的评论。建议看看Passing in version number to Inno Setup compiler。
原来,我把事情复杂化了。您可以轻松地将参数传递给编译器以获取预处理程序变量。在我的情况下,MyAppVersion
。
我在Inno Setup中所做的事情:
#ifndef MyAppVersion
#define MyAppVersion "1.7.24"
#endif
并且在编译时如下所示:
ISCC.exe myProg.iss /DMyAppVersion=1.7.14