Changeset 218 for trunk


Ignore:
Timestamp:
May 11, 2020, 8:21:33 PM (5 years ago)
Author:
chronos
Message:
  • Modified: Create separate 32-bit and 64-bit Windows installers to allow to install 32-bit version with additional AIs included.
  • Modified: Use InnoSetup 6 with modern style.
Location:
trunk/Install/win
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Install/win/C-evo.iss

    r203 r218  
    1 ; Script generated by the Inno Setup Script Wizard.
    2 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
    3 
    4 #define MyAppName "C-evo"
    5 #define MyAppVersion "1.2.0"
    6 #define MyAppPublisher "Chronosoft"
    7 #define MyAppPublisherShort "Chronosoft"
    8 #define MyAppURL "https://app.zdechov.net/c-evo"
    9 #define MyAppExeName "C-evo.exe"
    10 #define MyAppDebugName "C-evo.dbg"
    11 #define MyAppSubDir "../.."
     1#include "Common.iss"
    122
    133[Setup]
    14 ; NOTE: The value of AppId uniquely identifies this application.
    15 ; Do not use the same AppId value in installers for other applications.
    16 ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
    17 AppId={{6B40AF4D-C38C-4474-9614-8F0C4376C1CF}
    18 AppName={#MyAppName}
    19 AppVersion={#MyAppVersion}
    20 AppVerName={#MyAppName} {#MyAppVersion}
    21 UninstallDisplayName={#MyAppName}
    22 UninstallDisplayIcon="{app}\{#MyAppExeName}"
    23 VersionInfoVersion={#MyAppVersion}
    24 VersionInfoCompany={#MyAppPublisher} 
    25 AppPublisher={#MyAppPublisher}
    26 AppPublisherURL={#MyAppURL}
    27 AppSupportURL={#MyAppURL}
    28 AppUpdatesURL={#MyAppURL}
    29 DefaultDirName={pf}\{#MyAppName}
    30 DefaultGroupName={#MyAppName}
    31 AllowNoIcons=yes
    32 OutputDir=.
    33 OutputBaseFilename=Install-{#MyAppName}-{#MyAppVersion}
    34 Compression=lzma
    35 SolidCompression=yes
    36 ChangesAssociations=yes
    374; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
    385; done in "64-bit mode" on x64, meaning it should use the native
     
    4310; installation to run on all architectures (including Itanium,
    4411; since it's capable of running 32-bit code too).
    45 
    46 [Languages]
    47 Name: "en"; MessagesFile: "compiler:Default.isl"
    48 Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
    49 Name: "de"; MessagesFile: "compiler:Languages\German.isl"
    50 Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
    51 Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
    52 
    53 [Tasks]
    54 Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags:
    55 
    56 [Registry]
    57 Root: HKCU; Subkey: "Software\C-evo"; Flags: uninsdeletekey
    58 
    59 #define FileTypeName "C-evo book"
    60 Root: HKCR; Subkey: ".cevo"; ValueType: string; ValueName: ""; ValueData: "{#FileTypeName}"; Flags: uninsdeletevalue
    61 Root: HKCR; Subkey: "{#FileTypeName}"; ValueType: string; ValueName: ""; ValueData: "{#FileTypeName}"; Flags: uninsdeletekey
    62 Root: HKCR; Subkey: "{#FileTypeName}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
    63 Root: HKCR; Subkey: "{#FileTypeName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
     12OutputBaseFilename=Install-{#MyAppName}-{#MyAppVersion}
    6413
    6514[Components]
    66 Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
    67 Name: "maps"; Description: "Maps"; Types: full
    68 Name: "lang"; Description: "Language files"; Types: full
    69 Name: "lang\cs"; Description: "Czech"; Types: full
    70 Name: "lang\de"; Description: "German"; Types: full
    71 Name: "lang\it"; Description: "Italian"; Types: full
    72 Name: "lang\ru"; Description: "Russian"; Types: full
    73 Name: "lang\zhHans"; Description: "Chinese Simplified"; Types: full
    74 Name: "lang\zhHant"; Description: "Chinese Traditional"; Types: full
    75 Name: "ai"; Description: "AI files"; Types: full
    76 Name: "ai\stdai"; Description: "StdAI"; Types: full
    77 Name: "ai\ai_uo"; Description: "AI_UO"; Types: full; Check: not Is64BitInstallMode;
    78 Name: "ai\capital_ai"; Description: "Capital AI"; Types: full; Check: not Is64BitInstallMode;
    79 Name: "ai\aias"; Description: "AIAS"; Types: full; Check: not Is64BitInstallMode;
    80 Name: "ai\civseed"; Description: "Civilisation Seed AI"; Types: full; Check: not Is64BitInstallMode;
    81 Name: "ai\crystal"; Description: "Crystal"; Types: full; Check: not Is64BitInstallMode;
    82 Name: "ai\kiai"; Description: "KIAI"; Types: full; Check: not Is64BitInstallMode;
    83 Name: "ai\liberator"; Description: "Liberator"; Types: full; Check: not Is64BitInstallMode;
    84 Name: "ai\seti"; Description: "SETI"; Types: full; Check: not Is64BitInstallMode;
    85 Name: "ai\shah"; Description: "Shah"; Types: full; Check: not Is64BitInstallMode;
    86 Name: "ai_template"; Description: "AI template"; Types: full
     15Name: "ai\ai_uo"; Description: "AI_UO"; Types: full
     16Name: "ai\capital_ai"; Description: "Capital AI"; Types: full
     17Name: "ai\aias"; Description: "AIAS"; Types: full
     18Name: "ai\civseed"; Description: "Civilisation Seed AI"; Types: full
     19Name: "ai\crystal"; Description: "Crystal"; Types: full
     20Name: "ai\kiai"; Description: "KIAI"; Types: full
     21Name: "ai\liberator"; Description: "Liberator"; Types: full
     22Name: "ai\seti"; Description: "SETI"; Types: full
     23Name: "ai\shah"; Description: "Shah"; Types: full
    8724
    8825[Files]
    89 Source: "{#MyAppSubDir}\lib\x86_64-win64-Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode; Components: main
    90 Source: "{#MyAppSubDir}\lib\i386-win32-Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode; Components: main
    91 Source: "{#MyAppSubDir}\Graphics\*"; DestDir: "{app}\Graphics"; Flags: ignoreversion; Components: main
    92 Source: "{#MyAppSubDir}\Sounds\*.*"; DestDir: "{app}\Sounds"; Flags: ignoreversion; Components: main
    93 Source: "{#MyAppSubDir}\Tribes\*.*"; DestDir: "{app}\Tribes"; Flags: ignoreversion; Components: main
    94 Source: "{#MyAppSubDir}\Localization\cs\*.*"; DestDir: "{app}\Localization\cs"; Flags: ignoreversion recursesubdirs; Components: lang\cs
    95 Source: "{#MyAppSubDir}\Localization\de\*.*"; DestDir: "{app}\Localization\de"; Flags: ignoreversion recursesubdirs; Components: lang\de
    96 Source: "{#MyAppSubDir}\Localization\it\*.*"; DestDir: "{app}\Localization\it"; Flags: ignoreversion recursesubdirs; Components: lang\it
    97 Source: "{#MyAppSubDir}\Localization\ru\*.*"; DestDir: "{app}\Localization\ru"; Flags: ignoreversion recursesubdirs; Components: lang\ru
    98 Source: "{#MyAppSubDir}\Localization\zh-Hans\*.*"; DestDir: "{app}\Localization\zh-Hans"; Flags: ignoreversion recursesubdirs; Components: lang\zhHans
    99 Source: "{#MyAppSubDir}\Localization\zh-Hant\*.*"; DestDir: "{app}\Localization\zh-Hant"; Flags: ignoreversion recursesubdirs; Components: lang\zhHant
    100 Source: "{#MyAppSubDir}\Help\*.*"; DestDir: "{app}\Help"; Flags: ignoreversion; Components: main
    101 Source: "{#MyAppSubDir}\Fonts.txt"; DestDir: "{app}"; Flags: ignoreversion; Components: main
    102 Source: "{#MyAppSubDir}\Language.txt"; DestDir: "{app}"; Flags: ignoreversion; Components: main
    103 Source: "{#MyAppSubDir}\Language2.txt"; DestDir: "{app}"; Flags: ignoreversion; Components: main
    104 Source: "{#MyAppSubDir}\AI Template\*.*"; DestDir: "{app}\AI Template"; Flags: ignoreversion recursesubdirs; Components: ai_template
    105 Source: "{#MyAppSubDir}\AI\StdAI\lib\x86_64-win64-Release\StdAI.dll"; DestDir: "{app}\AI\StdAI"; DestName: "StdAI-win64.dll"; Flags: ignoreversion; Components: ai\stdai
    106 Source: "{#MyAppSubDir}\AI\StdAI\lib\i386-win32-Release\StdAI.dll"; DestDir: "{app}\AI\StdAI"; DestName: "StdAI-win32.dll"; Flags: ignoreversion; Components: ai\stdai
    107 Source: "{#MyAppSubDir}\AI\StdAI\StdAI.png"; DestDir: "{app}\AI\StdAI"; Flags: ignoreversion; Components: ai\stdai
    108 Source: "{#MyAppSubDir}\AI\StdAI\StdAI.ai.txt"; DestDir: "{app}\AI\StdAI"; Flags: ignoreversion; Components: ai\stdai
    109 Source: "{#MyAppSubDir}\AI\AI_UO\*.*"; DestDir: "{app}\AI\AI_UO"; Flags: ignoreversion; Components: ai\ai_uo
    110 Source: "{#MyAppSubDir}\AI\AIAS\*.*"; DestDir: "{app}\AI\AIAS"; Flags: ignoreversion; Components: ai\aias
    111 Source: "{#MyAppSubDir}\AI\Capital AI\*.*"; DestDir: "{app}\AI\Capital AI"; Flags: ignoreversion; Components: ai\capital_ai
    112 Source: "{#MyAppSubDir}\AI\Civilisation Seed AI\*.*"; DestDir: "{app}\AI\Civilisation Seed AI"; Flags: ignoreversion; Components: ai\civseed
    113 Source: "{#MyAppSubDir}\AI\Crystal\*.*"; DestDir: "{app}\AI\Crystal"; Flags: ignoreversion; Components: ai\crystal
    114 Source: "{#MyAppSubDir}\AI\KIAI\*.*"; DestDir: "{app}\AI\KIAI"; Flags: ignoreversion; Components: ai\kiai
    115 Source: "{#MyAppSubDir}\AI\Liberator\*.*"; DestDir: "{app}\AI\Liberator"; Flags: ignoreversion; Components: ai\liberator
    116 Source: "{#MyAppSubDir}\AI\SETI\*.*"; DestDir: "{app}\AI\SETI"; Flags: ignoreversion; Components: ai\seti
    117 Source: "{#MyAppSubDir}\AI\Shah\*.*"; DestDir: "{app}\AI\Shah"; Flags: ignoreversion; Components: ai\shah
    118 Source: "{#MyAppSubDir}\Maps\*.*"; DestDir: "{localappdata}\c-evo\Maps"; Flags: ignoreversion; Components: maps
    119 Source: "{#MyAppSubDir}\Saved\*.*"; DestDir: "{localappdata}\c-evo\Saved"; Flags: ignoreversion; Components: main
    120 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
    121 
    122 [Icons]
    123 Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    124 Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
    125 Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
    126 
    127 [Run]
    128 Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent
    129 
     26Source: "{#MyAppSubDir}\lib\x86_64-win64-Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion; Components: main; Check: not Is64BitInstallMode
     27Source: "{#MyAppSubDir}\lib\i386-win32-Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion; Components: main; Check: Is64BitInstallMode
     28Source: "{#MyAppSubDir}\AI\StdAI\lib\i386-win32-Release\StdAI.dll"; DestDir: "{app}\AI\StdAI"; DestName: "StdAI-win32.dll"; Flags: ignoreversion; Components: ai\stdai; Check: not Is64BitInstallMode
     29Source: "{#MyAppSubDir}\AI\StdAI\lib\x86_64-win64-Release\StdAI.dll"; DestDir: "{app}\AI\StdAI"; DestName: "StdAI-win64.dll"; Flags: ignoreversion; Components: ai\stdai; Check: Is64BitInstallMode
     30Source: "{#MyAppSubDir}\AI\AI_UO\*.*"; DestDir: "{app}\AI\AI_UO"; Flags: ignoreversion; Components: ai\ai_uo; Check: not Is64BitInstallMode
     31Source: "{#MyAppSubDir}\AI\AIAS\*.*"; DestDir: "{app}\AI\AIAS"; Flags: ignoreversion; Components: ai\aias; Check: not Is64BitInstallMode
     32Source: "{#MyAppSubDir}\AI\Capital AI\*.*"; DestDir: "{app}\AI\Capital AI"; Flags: ignoreversion; Components: ai\capital_ai; Check: not Is64BitInstallMode
     33Source: "{#MyAppSubDir}\AI\Civilisation Seed AI\*.*"; DestDir: "{app}\AI\Civilisation Seed AI"; Flags: ignoreversion; Components: ai\civseed; Check: not Is64BitInstallMode
     34Source: "{#MyAppSubDir}\AI\Crystal\*.*"; DestDir: "{app}\AI\Crystal"; Flags: ignoreversion; Components: ai\crystal; Check: not Is64BitInstallMode
     35Source: "{#MyAppSubDir}\AI\KIAI\*.*"; DestDir: "{app}\AI\KIAI"; Flags: ignoreversion; Components: ai\kiai; Check: not Is64BitInstallMode
     36Source: "{#MyAppSubDir}\AI\Liberator\*.*"; DestDir: "{app}\AI\Liberator"; Flags: ignoreversion; Components: ai\liberator; Check: not Is64BitInstallMode
     37Source: "{#MyAppSubDir}\AI\SETI\*.*"; DestDir: "{app}\AI\SETI"; Flags: ignoreversion; Components: ai\seti; Check: not Is64BitInstallMode
     38Source: "{#MyAppSubDir}\AI\Shah\*.*"; DestDir: "{app}\AI\Shah"; Flags: ignoreversion; Components: ai\shah; Check: not Is64BitInstallMode
  • trunk/Install/win/build.bat

    r160 r218  
    44  set LAZDIR=C:\lazarus
    55)
     6
     7set INNO_SETUP="c:\Program Files (x86)\Inno Setup 6\ISCC.exe"
    68
    79rem Build AI
     
    3335copy %MAIN_EXE% %WIN64_EXE%
    3436
    35 "c:\Program Files (x86)\Inno Setup 5\ISCC.exe" "C-evo.iss"
     37%INNO_SETUP% "C-evo.iss"
     38%INNO_SETUP% "C-evo 32-bit.iss"
     39%INNO_SETUP% "C-evo 64-bit.iss"
Note: See TracChangeset for help on using the changeset viewer.