Во-первых, SOURCEPATH
- это предопределенная переменная препроцессора * Inno Setup , поэтому вам нужно использовать другое имя для вашей "переменной" командной строки.Я буду использовать SOURCE_PATH
.
Во-вторых, правильный синтаксис:
#define ApplicationVersion GetFileVersion(SOURCE_PATH)
(т.е. без хэша)
Почему нет хэша?в моем ответе на
Почему препроцессор ведет себя иначе в директиве #include, чем в разделе [Files] Inno Setup script
Хотя причина в основном та же, почему вы не используете хешдо SOURCEPATH
здесь:
#define srcpath SOURCEPATH
Напротив, вы пропускаете хеш в разделе [Files]
.Правильный синтаксис:
[Files]
Source: "{#srcpath}MyApplication1.exe"; DestDir: "{app}\MyApplication1"
И нет необходимости определять srcpath
переменную.SOURCE_PATH
тоже переменная.Таким образом, вы можете использовать его непосредственно в любом выражении:
#define ApplicationVersion GetFileVersion(SOURCE_PATH)
[Files]
Source: "{#SOURCE_PATH}MyApplication1.exe"; DestDir: "{app}\MyApplication1"