; This script generates an installation kit for a Windows-native XEmacs, version 21.4. ; This script runs with Inno Setup version 5.1.6, see http://www.jrsoftware.org/ for more info. ; ; Version History ; 2006-01-26 Vin Shelton Don't append XEmacs binary directory to system path. ; 2006-01-21 Vin Shelton Append XEmacs binary directory to system path; this is not currently deleted on uninstall. ; Get built kit from C:\XEmacs-built. ; 2005-12-26 Vin Shelton Packages are now installed directly into {app}\xemacs-packages, etc. As of 21.4.19, the package root is found automatically, so EMACSPACKAGEPATH is no longer necessary. ; 2005-12-17 Vin Shelton Move packages out of the version-specific tree ; 2005-12-13 Vin Shelton Created. [Setup] AppName=XEmacs AppVersion={code:XEmacsVersion} AppVerName=XEmacs {code:XEmacsVersion} AppPublisher=The XEmacs Development Team AppPublisherURL=http://www.xemacs.org AppSupportURL=http://www.xemacs.org AppUpdatesURL=http://www.xemacs.org DefaultDirName={pf}\XEmacs DefaultGroupName=XEmacs AllowNoIcons=yes OutputDir=. OutputBaseFilename=XEmacs Setup 21.4.19 Compression=lzma SolidCompression=yes InfoAfterFile=README [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] ; Before you run this script, XEmacs-21.4 must be installed in C:\XEmacs-built\XEmacs-21.4.xx ; and any packages you want to include must be installed in C:\XEmacs-built\{xemacs,mule,site}-packages Source: "C:\XEmacs-built\*"; Excludes: "C:\XEmacs-built\XEmacs-21.5*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [INI] Filename: "{app}\xemacs.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.xemacs.org" [Icons] Name: "{group}\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe" Name: "{group}\{cm:ProgramOnTheWeb,XEmacs}"; Filename: "{app}\xemacs.url" Name: "{group}\{cm:UninstallProgram,XEmacs}"; Filename: "{uninstallexe}" Name: "{userdesktop}\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\XEmacs"; Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Tasks: quicklaunchicon [Registry] ; Set a registry key to point to the packages so they can be shared between multiple installed versions of XEmacs ; This is no longer necessary as of version 21.4.19. ;Root: HKLM; Subkey: "Software\XEmacs\XEmacs"; ValueType: string; ValueName: "EMACSPACKAGEPATH"; ValueData: "{app}\Packages"; Flags: uninsdeletekey ; Don't fiddle with the system path ;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32" [Run] Filename: "{app}\XEmacs-{code:XEmacsVersion}\i586-pc-win32\xemacs.exe"; Description: "{cm:LaunchProgram,XEmacs}"; Flags: nowait postinstall skipifsilent [UninstallDelete] Type: files; Name: "{app}\xemacs.url" [Code] function XEmacsVersion(Param: String): String; begin Result := '21.4.19'; end; procedure CurStepChanged(CurStep: TSetupStep); var BinDir: String; EtcDir: String; InstallBase: String; SiteStart: String; begin // Create a site-start.el file to allow easy package downloading in the future and to add the binary directory to exec-path. // E.g, here's what we're going to add to lisp\site-start.el: // (setq package-get-package-index-file-location "C:\\Program Files\XEmacs\\XEmacs-21.4.98\\etc") // ; Uncomment the next line to select the primary XEmacs package download site // ;(setq package-get-remote '("ftp.xemacs.org" "pub/xemacs/packages")) if CurStep = ssPostInstall then begin // Convert directory names to lisp format by doubling each backslash InstallBase := WizardDirValue + '\XEmacs-' + XEmacsVersion(''); StringChange(InstallBase, '\', '\\'); EtcDir := InstallBase + '\\etc'; //BinDir := InstallBase + '\\i586-pc-win32\\'; SiteStart := WizardDirValue + '\site-packages\lisp'; CreateDir(SiteStart); SiteStart := SiteStart + '\site-start.el'; SaveStringToFile(SiteStart, #13#10 + '(setq package-get-package-index-file-location "' + EtcDir + '")' + #13#10, True); SaveStringToFile(SiteStart, '; Uncomment the next line to select the primary XEmacs package download site' + #13#10, True); SaveStringToFile(SiteStart, ';(setq package-get-remote ' + Chr(39) + '("ftp.xemacs.org" "pub/xemacs/packages"))' + #13#10, True); //SaveStringToFile(SiteStart, '(pushnew "' + BinDir + '" exec-path)' + #13#10, True); end; end;