Inno Setup 常量和参数

Inno Setup constants and parameters

我正在尝试将一个参数添加到我的安装文件中,并使用默认值。 在这种情况下,我在

处收到编译错误
OutputBaseFilename=MyApp {param:Version|{#MyAppVersion}} Setup

说:

Value of [Setup] section directive "OutputBaseFilename" is invalid

缩短的参考代码:

#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}}"

没有任何错误...

基于 Martin 的评论。建议看看 .

原来我把事情复杂化了。您可以轻松地将参数传递给 pre-processor 变量的编译器。在我的情况下 MyAppVersion.

我在 Inno Setup 中做了什么:

#ifndef MyAppVersion
  #define MyAppVersion "1.7.24"
#endif

编译时看起来像这样: ISCC.exe myProg.iss /DMyAppVersion=1.7.14