1;;----------------------------------------------------------------;; 2;; -- reduce.iss -- REDUCE InnoSetup installation script ;; 3;;----------------------------------------------------------------;; 4;; ;; 5;; * InnoSetup version 5.1.7 or above is recommended ;; 6;; ;; 7;; * IMPORTANT! ;; 8;; Section [CustomMessages] below contains messages ;; 9;; in several 8-bit encodings (code pages 1251, 1252). ;; 10;; Don't use any encoding conversion tool (e.g. iconv, ;; 11;; recode) on this file directly! That section is in fact in a ;; 12;; separate file "messages.iss" that is used via #include to ;; 13;; leave this top-level file more robust. The "files" section ;; 14;; has also moved to "files.iss" since it is a part of the ;; 15;; script most liable to change. ;; 16;; ;; 17;;----------------------------------------------------------------;; 18 19 20[Setup] 21AppName=REDUCE 22AppVerName=REDUCE 23AppId=REDUCE 24UsePreviousAppDir=yes 25AppPublisher=REDUCE Developers 26VersionInfoCopyright=REDUCE Developers 27AppPublisherURL=https://reduce-algebra.sourceforge.io/ 28AppSupportURL=https://reduce-algebra.sourceforge.io/ 29AppUpdatesURL=https://reduce-algebra.sourceforge.io/ 30AppVersion={#myver} 31OutputBaseFilename=Reduce-Setup 32DefaultDirName={pf}\Reduce 33DefaultGroupName=Reduce 34AllowNoIcons=yes 35LicenseFile={#mydir}\C\csl\reduce.doc\BINARY-LICENSE.txt 36Compression=lzma/ultra 37SolidCompression=yes 38Uninstallable=yes 39UninstallFilesDir={app}\uninst 40ShowLanguageDialog=yes 41ChangesAssociations=yes 42PrivilegesRequired=none 43ArchitecturesInstallIn64BitMode=x64 44 45 46[Languages] 47Name: "en"; MessagesFile: "compiler:Default.isl" 48Name: "de"; MessagesFile: "compiler:Languages\German.isl" 49Name: "fr"; MessagesFile: "compiler:Languages\French.isl" 50Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" 51Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" 52 53 54[Types] 55Name: "full"; Description: "{cm:FullInstallation}" 56Name: "cslonly"; Description: "{cm:CslOnlyInstallation}" 57Name: "pslonly"; Description: "{cm:PslOnlyInstallation}" 58Name: "custom"; Description: "{cm:CustomInstallation}"; Flags: iscustom 59 60 61[Components] 62Name: "common"; Description: "{cm:ReduceCommon}"; Types: full cslonly pslonly custom; Flags: fixed 63Name: "common\source"; Description: "{cm:ReduceSrc}"; Types: full custom 64Name: "csl"; Description: "{cm:ReduceCSL}"; Types: full cslonly custom 65Name: "psl32"; Description: "{cm:ReducePSL}"; Types: full pslonly custom; Check: not Is64BitInstallMode 66Name: "psl64"; Description: "{cm:ReducePSL}"; Types: full pslonly custom; Check: Is64BitInstallMode 67 68 69#include "files.iss" 70 71[Icons] 72;Name: "{group}\redcsl"; Filename: "{app}\bin\redcsl.bat"; IconFileName: "{app}\bin\redcsl.bat"; WorkingDir: "%USERPROFILE%\Documents"; Components: csl 73Name: "{group}\CSL Reduce"; Filename: "{app}\lib\csl\winreduce.exe"; WorkingDir: "%USERPROFILE%\Documents"; Components: csl 74Name: "{group}\CSL Bootstrap Reduce"; Filename: "{app}\lib\csl\bootstrapreduce.exe"; WorkingDir: "%USERPROFILE%\Documents"; Components: csl 75Name: "{group}\CSL Lisp system"; Filename: "{app}\lib\csl\wincsl.exe"; WorkingDir: "%USERPROFILE%\Documents"; Components: csl 76Name: "{group}\PSL Reduce"; Filename: "{app}\bin\redpsl.bat"; IconFileName: "{app}\lib\psl\psl\bpslw.exe"; WorkingDir: "%USERPROFILE%\Documents"; Components: psl32 psl64 77Name: "{group}\Reduce Manual (PDF version)"; Filename: "{app}\lib\csl\reduce.doc\manual.pdf" ; Components: common 78Name: "{group}\Reduce Manual (HTML version)"; Filename: "{app}\lib\csl\reduce.doc\manual.html" ; Components: common 79Name: "{group}\Inside Reduce"; Filename: "{app}\doc\insidereduce.pdf" ; Components: common 80Name: "{group}\Reduce Symbolic Mode Primer"; Filename: "{app}\doc\primer.pdf" ; Components: common 81Name: "{group}\Standard Lisp Report"; Filename: "{app}\doc\sl.pdf" ; Components: common 82 83 84[Run] 85Filename: "{app}\lib\gp460-win32-setup.exe"; Description: "Install Gnuplot"; Flags: postinstall; Check: MyGnuPlotCheck 86Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\lib\csl\reduce.exe"" redcsl"; Flags: runhidden; Components: csl 87Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\lib\csl\bootstrapreduce.exe"" bootstrapreduce"; Flags: runhidden; Components: csl 88Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\lib\csl\csl.exe"" csl"; Flags: runhidden; Components: csl 89Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\bin\rfcsl.exe"" ""{app}\bin\rfcsl.exe"" rfcsl"; Flags: runhidden; Components: csl 90Filename: "{app}\lib\psl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\bin\redpsl"" redpsl"; Flags: runhidden; Components: psl32 psl64 91Filename: "{app}\lib\psl\make-cygwin-symlink.exe"; Description: "set symlinks for benefit of cygwin users"; Parameters: """{app}\bin\rfpsl.exe"" ""{app}\bin\rfpsl.exe"" rfpsl"; Flags: runhidden; Components: psl32 psl64 92 93 94[UninstallRun] 95Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Parameters: "redcsl"; Flags: runhidden; Components: csl 96Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Parameters: "bootstrapreduce"; Flags: runhidden; Components: csl 97Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Parameters: "csl"; Flags: runhidden; Components: csl 98Filename: "{app}\lib\csl\make-cygwin-symlink.exe"; Parameters: "rfcsl"; Flags: runhidden; Components: csl 99Filename: "{app}\lib\psl\make-cygwin-symlink.exe"; Parameters: "redpsl"; Flags: runhidden; Components: psl32 psl64 100Filename: "{app}\lib\psl\make-cygwin-symlink.exe"; Parameters: "rfpsl"; Flags: runhidden; Components: psl32 psl64 101 102 103[Code] 104var 105 NeedGnuPlotInstall: Boolean; 106 GnuPlotPath: String; 107 108function InitializeSetup(): Boolean; 109var 110 RegVal: String; 111begin 112 Log('InitializeSetup called'); 113 if not RegQueryStringValue(HKEY_CLASSES_ROOT, 'gnuplot\shell\open\command', '', RegVal) then begin 114 NeedGnuPlotInstall := True; 115 Log('No Gnuplot Installed'); 116 end else begin 117 NeedGnuPlotInstall := False; 118 GnuPlotPath := RegVal; 119 Delete(GnuPlotPath, Pos(' -p ', RegVal), Length(RegVal)); 120 Log('Gnuplot found at '+GnuPlotPath); 121 end; 122 Result := True; 123end; 124 125 126function MyGnuPlotCheck(): Boolean; 127begin 128 Result := NeedGnuPlotInstall; 129end; 130 131#include "messages.iss" 132 133#expr SaveToFile("ReducePreprocessed.iss") 134 135;; End if reduce.iss 136