123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- // contribute: https://github.com/domgho/InnoDependencyInstaller
- // official article: https://www.codeproject.com/Articles/20868/Inno-Setup-Dependency-Installer
- #define MyAppName "PixiEditor"
- #define MyAppVersion GetFileVersion("..\Builds\PixiEditor-x64-light\PixiEditor\PixiEditor.exe") ;Not perfect solution, it's enviroment dependend
- #define MyAppPublisher "PixiEditor"
- #define MyAppURL "https://github.com/PixiEditor/PixiEditor"
- #define MyAppExeName "PixiEditor.exe"
- #define TargetPlatform "x86-light"
- [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={{83DE4F2A-1F75-43AE-9546-3184F1C44517}
- AppName={#MyAppName}
- AppVersion={#MyAppVersion}
- AppVerName={#MyAppName} {#MyAppVersion}
- VersionInfoVersion={#MyAppVersion}
- AppPublisher={#MyAppPublisher}
- AppPublisherURL={#MyAppURL}
- AppSupportURL={#MyAppURL}
- AppUpdatesURL={#MyAppURL}
- DefaultDirName={autopf}\{#MyAppName}
- DisableProgramGroupPage=yes
- ; The [Icons] "quicklaunchicon" entry uses {userappdata} but its [Tasks] entry has a proper IsAdminInstallMode Check.
- UsedUserAreasWarning=no
- LicenseFile=..\LICENSE
- ; Uncomment the following line to run in non administrative install mode (install for current user only.)
- ;PrivilegesRequired=lowest
- OutputDir=Assets\PixiEditor-{#TargetPlatform}
- OutputBaseFilename=PixiEditor-{#MyAppVersion}-setup-x86
- SetupIconFile=..\icon.ico
- Compression=lzma
- SolidCompression=yes
- WizardStyle=modern
- ChangesAssociations = yes
- PrivilegesRequired=admin
- ArchitecturesAllowed=x86
- ArchitecturesInstallIn64BitMode=x64 ia64
- // downloading and installing dependencies will only work if the memo/ready page is enabled (default and current behaviour)
- DisableReadyPage=no
- DisableReadyMemo=no
- // requires netcorecheck.exe and netcorecheck_x64.exe in src dir
- #define use_netcorecheck
- #define use_netcore31
- #define use_netcore31desktop
- // supported languages
- #include "scripts\lang\english.iss"
- #include "scripts\lang\german.iss"
- #include "scripts\lang\french.iss"
- #include "scripts\lang\italian.iss"
- #include "scripts\lang\dutch.iss"
- #ifdef UNICODE
- #include "scripts\lang\chinese.iss"
- #include "scripts\lang\polish.iss"
- #include "scripts\lang\russian.iss"
- #include "scripts\lang\japanese.iss"
- #endif
- // shared code for installing the products
- #include "scripts\products.iss"
- // helper functions
- #include "scripts\products\stringversion.iss"
- #include "scripts\products\winversion.iss"
- #include "scripts\products\dotnetfxversion.iss"
- #ifdef use_netcorecheck
- #include "scripts\products\netcorecheck.iss"
- #endif
- #ifdef use_netcore31
- #include "scripts\products\netcore31.iss"
- #endif
- #ifdef use_netcore31desktop
- #include "scripts\products\netcore31desktop.iss"
- #endif
- // content
- [Tasks]
- [Tasks]
- Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
- Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
- [Files]
- Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
- Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
- [Icons]
- Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
- Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
- Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
- [Run]
- Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
- [Registry]
- Root: HKCR; Subkey: ".pixi"; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""
- Root: HKCR; Subkey: "{#MyAppName}"; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey; ValueType: string; ValueName: ""
- Root: HKCR; Subkey: "{#MyAppName}\DefaultIcon"; ValueData: "{app}\{#MyAppExeName},0"; ValueType: string; ValueName: ""
- Root: HKCR; Subkey: "{#MyAppName}\shell\open\command"; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; ValueType: string; ValueName: ""
- [CustomMessages]
- DependenciesDir=MyProgramDependencies
- WindowsServicePack=Windows %1 Service Pack %2
- [Code]
- function InitializeSetup(): Boolean;
- begin
- // initialize windows version
- initwinversion();
- #ifdef use_netcore31
- netcore31();
- #endif
- #ifdef use_netcore31desktop
- netcore31desktop();
- #endif
- Result := true;
- end;
|