diff options
Diffstat (limited to 'distrib/ghc.iss.in')
-rw-r--r-- | distrib/ghc.iss.in | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/distrib/ghc.iss.in b/distrib/ghc.iss.in deleted file mode 100644 index 151fefcfee..0000000000 --- a/distrib/ghc.iss.in +++ /dev/null @@ -1,97 +0,0 @@ -; Inno Setup documentation: http://www.jrsoftware.org/ishelp/ - -[Setup] -AppName=GHC -AppVerName=GHC @ProjectVersion@ -DefaultDirName={sd}\ghc\ghc-@ProjectVersion@ -UsePreviousAppDir=no -DefaultGroupName=GHC -UninstallDisplayIcon={app}\bin\ghci.exe -Compression=lzma -SolidCompression=yes -PrivilegesRequired=none -ChangesAssociations=yes -ChangesEnvironment=yes -LicenseFile=distrib/windows-installer-licences.txt - -; tasks can be disabled selectively -[Tasks] -Name: fileassoc; Description: "Associate with .hs/.lhs files" -Name: fileassoc\default; Description: "Make this version of GHCi the default" -Name: fileassoc\addon; Description: "Add versioned GHCi to right-click menu" -Name: fileassoc\icon; Description: "Add icon" -Name: path; Description: "Add bin directories to PATH" - -; install main payload, license file and icon -[Files] -Source: "bindistprep\ghc-@ProjectVersion@\*"; DestDir: "{app}"; Flags: recursesubdirs -Source: "distrib\windows-installer-licences.txt"; DestDir: "{app}\doc" -Source: "distrib\hsicon.ico"; DestDir: "{app}\icons" - -; Start Menu shortcuts -[Icons] -Name: "{group}\@ProjectVersion@\GHCi"; Filename: "{app}\bin\ghci.exe"; WorkingDir: "{app}\bin" -Name: "{group}\@ProjectVersion@\GHC Documentation"; Filename: "{app}\doc\html\index.html" -Name: "{group}\@ProjectVersion@\GHC Library Documentation"; Filename: "{app}\doc\html\libraries\index.html" -Name: "{group}\@ProjectVersion@\GHC Flag Reference"; Filename: "{app}\doc\html\users_guide\flag-reference.html" - -[Registry] -; set up file associations -; this does _not_ entirely follow the "play nice" proposal (cf. ticket #916) -; future version should -Root: HKCR; Subkey: ".hs"; ValueType: string; ValueName: ""; ValueData: "ghc_haskell"; Flags: uninsdeletevalue; Tasks: fileassoc -Root: HKCR; Subkey: ".lhs"; ValueType: string; ValueName: ""; ValueData: "ghc_haskell"; Flags: uninsdeletevalue; Tasks: fileassoc -Root: HKCR; Subkey: "ghc_haskell"; ValueType: string; ValueName: ""; ValueData: "Haskell Source File"; Flags: uninsdeletekeyifempty; Tasks: fileassoc - -; make this GHCi the default action -Root: HKCR; Subkey: "ghc_haskell\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ghci.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: fileassoc\default - -; add versioned GHCi entry to right-click menu -Root: HKCR; Subkey: "ghc_haskell\shell\Open with GHCi @ProjectVersion@"; ValueType: none; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Tasks: fileassoc\addon -Root: HKCR; Subkey: "ghc_haskell\shell\Open with GHCi @ProjectVersion@\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ghci.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: fileassoc\addon - -; associate file type with icon -Root: HKCR; Subkey: "ghc_haskell\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\icons\hsicon.ico"; Tasks: fileassoc\icon - -; these flags were always set in the past, by the installer -; some programs may rely on them to find GHC -Root: HKCU; Subkey: "Software\Haskell\GHC\ghc-@ProjectVersion@"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey -Root: HKCU; Subkey: "Software\Haskell\GHC"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletevalue - -; set the PATH variable, for both GHC and Cabal -Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{app}\bin;{olddata}"; Check: NotOnPathAlready('{app}\bin'); Flags: preservestringtype; Tasks: path -Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{pf}\Haskell\bin;{olddata}"; Check: NotOnPathAlready('{pf}\Haskell\bin'); Flags: preservestringtype; Tasks: path - - -; stolen from Gtk2Hs, I'm sure they like us :-) -; @dcoutts++ -[Code] - -function NotOnPathAlready(NewValue : String): Boolean; -var - Path: String; -begin - // Log('Checking if Gtk2Hs\bin dir is already on the %PATH%'); - if RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Path) then - begin // Successfully read the value - // Log('HKCU\Environment\PATH = ' + Path); - NewValue := ExpandConstant(NewValue); - // Log('Looking for Gtk2Hs\bin dir in %PATH%: ' + BinDir + ' in ' + Path); - if Pos(LowerCase(NewValue), Lowercase(Path)) = 0 then - begin - // Log('Did not find Gtk2Hs\bin dir in %PATH% so will add it'); - Result := True; - end - else - begin - // Log('Found Gtk2Hs bin dir in %PATH% so will not add it again'); - Result := False; - end - end - else // The key probably doesn't exist - begin - // Log('Could not access HKCU\Environment\PATH so assume it is ok to add it'); - Result := True; - end; -end; - |