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.tdfInto 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