installer-setup-x86-light.iss 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. // contribute: https://github.com/domgho/InnoDependencyInstaller
  2. // official article: https://www.codeproject.com/Articles/20868/Inno-Setup-Dependency-Installer
  3. #define MyAppName "PixiEditor"
  4. #define MyAppVersion GetFileVersion("..\Builds\PixiEditor-x64-light\PixiEditor\PixiEditor.exe") ;Not perfect solution, it's enviroment dependend
  5. #define MyAppPublisher "PixiEditor"
  6. #define MyAppURL "https://github.com/PixiEditor/PixiEditor"
  7. #define MyAppExeName "PixiEditor.exe"
  8. #define TargetPlatform "x86-light"
  9. [Setup]
  10. ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
  11. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
  12. AppId={{83DE4F2A-1F75-43AE-9546-3184F1C44517}
  13. AppName={#MyAppName}
  14. AppVersion={#MyAppVersion}
  15. AppVerName={#MyAppName} {#MyAppVersion}
  16. VersionInfoVersion={#MyAppVersion}
  17. AppPublisher={#MyAppPublisher}
  18. AppPublisherURL={#MyAppURL}
  19. AppSupportURL={#MyAppURL}
  20. AppUpdatesURL={#MyAppURL}
  21. DefaultDirName={autopf}\{#MyAppName}
  22. DisableProgramGroupPage=yes
  23. ; The [Icons] "quicklaunchicon" entry uses {userappdata} but its [Tasks] entry has a proper IsAdminInstallMode Check.
  24. UsedUserAreasWarning=no
  25. LicenseFile=..\LICENSE
  26. ; Uncomment the following line to run in non administrative install mode (install for current user only.)
  27. ;PrivilegesRequired=lowest
  28. OutputDir=Assets\PixiEditor-{#TargetPlatform}
  29. OutputBaseFilename=PixiEditor-{#MyAppVersion}-setup-x86
  30. SetupIconFile=..\icon.ico
  31. Compression=lzma
  32. SolidCompression=yes
  33. WizardStyle=modern
  34. ChangesAssociations = yes
  35. PrivilegesRequired=admin
  36. ArchitecturesAllowed=x86
  37. ArchitecturesInstallIn64BitMode=x64 ia64
  38. // downloading and installing dependencies will only work if the memo/ready page is enabled (default and current behaviour)
  39. DisableReadyPage=no
  40. DisableReadyMemo=no
  41. // requires netcorecheck.exe and netcorecheck_x64.exe in src dir
  42. #define use_netcorecheck
  43. #define use_netcore31
  44. #define use_netcore31desktop
  45. // supported languages
  46. #include "scripts\lang\english.iss"
  47. #include "scripts\lang\german.iss"
  48. #include "scripts\lang\french.iss"
  49. #include "scripts\lang\italian.iss"
  50. #include "scripts\lang\dutch.iss"
  51. #ifdef UNICODE
  52. #include "scripts\lang\chinese.iss"
  53. #include "scripts\lang\polish.iss"
  54. #include "scripts\lang\russian.iss"
  55. #include "scripts\lang\japanese.iss"
  56. #endif
  57. // shared code for installing the products
  58. #include "scripts\products.iss"
  59. // helper functions
  60. #include "scripts\products\stringversion.iss"
  61. #include "scripts\products\winversion.iss"
  62. #include "scripts\products\dotnetfxversion.iss"
  63. #ifdef use_netcorecheck
  64. #include "scripts\products\netcorecheck.iss"
  65. #endif
  66. #ifdef use_netcore31
  67. #include "scripts\products\netcore31.iss"
  68. #endif
  69. #ifdef use_netcore31desktop
  70. #include "scripts\products\netcore31desktop.iss"
  71. #endif
  72. // content
  73. [Tasks]
  74. [Tasks]
  75. Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
  76. Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
  77. [Files]
  78. Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
  79. Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
  80. [Icons]
  81. Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
  82. Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
  83. Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
  84. [Run]
  85. Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
  86. [Registry]
  87. Root: HKCR; Subkey: ".pixi"; ValueData: "{#MyAppName}"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""
  88. Root: HKCR; Subkey: "{#MyAppName}"; ValueData: "Program {#MyAppName}"; Flags: uninsdeletekey; ValueType: string; ValueName: ""
  89. Root: HKCR; Subkey: "{#MyAppName}\DefaultIcon"; ValueData: "{app}\{#MyAppExeName},0"; ValueType: string; ValueName: ""
  90. Root: HKCR; Subkey: "{#MyAppName}\shell\open\command"; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; ValueType: string; ValueName: ""
  91. [CustomMessages]
  92. DependenciesDir=MyProgramDependencies
  93. WindowsServicePack=Windows %1 Service Pack %2
  94. [Code]
  95. function InitializeSetup(): Boolean;
  96. begin
  97. // initialize windows version
  98. initwinversion();
  99. #ifdef use_netcore31
  100. netcore31();
  101. #endif
  102. #ifdef use_netcore31desktop
  103. netcore31desktop();
  104. #endif
  105. Result := true;
  106. end;