Hi,
I did a simple installer using the Inno Setup installer. Its showcased in the POH 0.8.4 Theater installer
Inno Setup itself uses a wizard to hel`p you choose most of the options, is quiete easy to use.
Annyways, the thing about installers for BMS is to include the line:
Add-On YourTheaterName\TerrData\theaterdefinition\YourTheaterName.tdf
Into Falcon BMS 4.35\Data\TerrData\TheaterDefinition*theater.lst*
So that the theater shows up as available theaters from the sims “change theater” button.
To do this, the installer includes an .exe by Monster, called lstMod_1.1_Monster.exe installed in \Utilities\lstMod_1.1_Monster.exe in my theater (POH)
Once everything is installed it runs this line:
[Run]
Filename: "{app}\Add-On Iberia\Utilities\lstMod_1.1_Monster.exe"; Parameters: """{app}\TerrData\TheaterDefinition\theater.lst"" ""Add-On Iberia\TerrData\theaterdefinition\Iberia.tdf"""
That executes this exe with the parameter to include the line into theater.lst.
Also, the uninstaller has a similar line to remove the line from theater.lst when uninstalling (duh):
[UninstallRun]
Filename: "{app}\Add-On Iberia\Utilities\lstMod_1.1_Monster.exe"; Parameters: "-u ""{app}\TerrData\TheaterDefinition\theater.lst"" ""Add-On Iberia\TerrData\theaterdefinition\Iberia.tdf"""
This is the whole script:
; Script generated by the Inno Setup Script Wizard.; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Pillars of Hercules Theater for Falcon BMS 4.35"
#define MyAppVersion "0.8.4"
#define MyAppPublisher "F4Spain"
#define MyAppURL "http://www.escuadron111.com/"
[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={{AB318B58-62EA-4CCB-BC3F-B2A90CF4BE72}
AppName=Pillars of Hercules Theater for Falcon BMS 4.35
AppVersion=0.8.4
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher=F4Spain
AppPublisherURL=www.escuadron111.com
AppSupportURL=www.benchmarksims.com
AppUpdatesURL=www.benchmarksims.com
DefaultDirName=C:\Falcon BMS 4.35\Data
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
DiskSpanning=yes
LicenseFile=C:\Falcon BMS 4.35 Setup\POH 0.8.3 for BMS 4.34U4\INSTALLER\License.txt
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=C:\Falcon BMS 4.35 Setup\POH 0.8.3 for BMS 4.34U4\INSTALLER\Inno Setup installer
OutputBaseFilename=POH_Theater_4.35_installer
UninstallFilesDir={app}\Add-On Iberia
SetupIconFile=C:\Falcon BMS 4.35 Setup\POH 0.8.3 for BMS 4.34U4\INSTALLER\Iberia.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "bulgarian"; MessagesFile: "compiler:Languages\Bulgarian.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[Files]
Source: "C:\Falcon BMS 4.35 Setup\POH 0.8.3 for BMS 4.34U4\INSTALLER\Data\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{cm:UninstallProgram,POH Theater}"; Filename: "{uninstallexe}"
[Run]
Filename: "{app}\Add-On Iberia\Utilities\lstMod_1.1_Monster.exe"; Parameters: """{app}\TerrData\TheaterDefinition\theater.lst"" ""Add-On Iberia\TerrData\theaterdefinition\Iberia.tdf"""
[UninstallRun]
Filename: "{app}\Add-On Iberia\Utilities\lstMod_1.1_Monster.exe"; Parameters: "-u ""{app}\TerrData\TheaterDefinition\theater.lst"" ""Add-On Iberia\TerrData\theaterdefinition\Iberia.tdf"""
And, as you would imagine, most of the code is generated by the wizard BUT the [Run] and [UninstallRun] sections… So basically, two lines of code 😛
{app} will point to whatever the user has chosen as install folder. (Should be Falcon BMS 4.35\Data)
Hope it helps anyone.
Also, feel free to correct me. Some people have reported that my installer did failed to include the line in theater.lst