I am using Inno Setup to generate the installer of my application. How can set the version number of the setup.exe (VersionInfoVersion) generated by Inno to mat
As others have mentioned, the GetFileVersion or GetStringFileInfo preprocessor functions can be used for that.
Some important info, improvements and helpful additions:
+ operator:#define MyAppPath "..\Win32\Release\" + MyAppExeNameRemoveFileExt, e. g. convert 3.1.2.0 to 3.1.2:#define MyAppVersion RemoveFileExt(GetFileVersion(MyAppPath))MyAppExeName and MyAppPath in the subsequent options like Messages, Files or IconsWorking example:
#define MyAppName "Application Name"
#define MyAppExeName "Application.exe"
#define MyAppPath "..\Win32\Release\" + MyAppExeName
#define MyAppVersion RemoveFileExt(GetFileVersion(MyAppPath))
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
VersionInfoVersion={#MyAppVersion}
OutputBaseFilename={#MyAppName}-{#MyAppVersion}-Windows
...
[Messages]
SetupWindowTitle=Setup - {#MyAppName} {#MyAppVersion}
...
[Files]
Source: {#MyAppPath}; DestDir: "{app}"; Flags: ignoreversion; Tasks: desktopicon
...
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"