Urho3D Wiki
Advertisement

This tutorial shows how to make a setup for windows with the Inno Setup software.

USP install
USP install2


Link to Inno Setup download page: http://www.jrsoftware.org/isdl.php

Inno Setup is a script based installer maker and comes with it's own IDE, the script file ending is ".iss".
All file names are relative to the script file.
In this example the script file is at the root of the project folder but it could also be in a subfolder.
This script installs everything in the project folder (including for example source files and Blender files) which you may not want. There is a line commented out (comments start with a semicolon) that installs only everything in the "Build/bin" subfolder.
Some of the commencts in the script are from Inno Setup itself.

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Urho Sample Platformer"
#define MyAppVersion "1.0"
#define MyAppPublisher "gawag"
#define MyAppURL "https://github.com/gawag/Urho-Sample-Platformer"
#define MyAppExeName "Build\bin\Urho-Sample-Platformer.exe"
#define MyAppIcon "USP.ico"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{202D636D-7329-4E0C-B59B-B37E8272A11B}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=..\inno_setup
OutputBaseFilename={#MyAppName} {#MyAppVersion} Setup
SetupIconFile=..\{#MyAppIcon}
SolidCompression=yes
WizardImageBackColor=$003F3F3F
;WizardImageFile=logo.bmp  ; optional logo displayed during setup at the left
WizardImageStretch=False
Compression=lzma
LicenseFile=license.txt
VersionInfoVersion=1.0 ;VersionInfoCompany=Your Company Name  ; optional company name
VersionInfoProductVersion=1.0
VersionInfoProductTextVersion={#MyAppVersion}

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";

[Files]
Source: "*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; Source: "Build/bin/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; you may want to only install the files under /Build/bin
[Icons]
Name: "{group}\{#MyAppName} (32-Bit)"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\{#MyAppIcon}"; IconIndex: 0;
Name: "{commondesktop}\{#MyAppName} (32-Bit)"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\{#MyAppIcon}"; IconIndex: 0; Tasks: desktopicon;
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
Advertisement