Falcon BMS Forum
    • Register
    • Login
    • Search
    • Categories
    • Unread
    • Recent
    • Unsolved
    • Popular
    • Website
    • Wiki
    • Discord

    One click Installer script for Inno Setup (For a bms theater)

    Theater Discussion
    1
    1
    97
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BlackWolf last edited by

      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

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      66
      Online

      10.5k
      Users

      21.0k
      Topics

      348.6k
      Posts

      Benchmark Sims - All rights reserved ©