##// END OF EJS Templates
win32: add Emacs scripts to Inno Setup installer
Pascal Quantin -
r12080:eb7ddba6 stable
parent child Browse files
Show More
@@ -1,127 +1,129 b''
1 ; Script generated by the Inno Setup Script Wizard.
1 ; Script generated by the Inno Setup Script Wizard.
2 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
2 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
3
3
4 #ifndef VERSION
4 #ifndef VERSION
5 #define FileHandle
5 #define FileHandle
6 #define FileLine
6 #define FileLine
7 #define VERSION = "unknown"
7 #define VERSION = "unknown"
8 #if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py")
8 #if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py")
9 #expr FileLine = FileRead(FileHandle)
9 #expr FileLine = FileRead(FileHandle)
10 #expr FileLine = FileRead(FileHandle)
10 #expr FileLine = FileRead(FileHandle)
11 #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
11 #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
12 #endif
12 #endif
13 #if FileHandle
13 #if FileHandle
14 #expr FileClose(FileHandle)
14 #expr FileClose(FileHandle)
15 #endif
15 #endif
16 #pragma message "Detected Version: " + VERSION
16 #pragma message "Detected Version: " + VERSION
17 #endif
17 #endif
18
18
19 [Setup]
19 [Setup]
20 AppCopyright=Copyright 2005-2010 Matt Mackall and others
20 AppCopyright=Copyright 2005-2010 Matt Mackall and others
21 AppName=Mercurial
21 AppName=Mercurial
22 AppVerName=Mercurial {#VERSION}
22 AppVerName=Mercurial {#VERSION}
23 InfoAfterFile=contrib/win32/postinstall.txt
23 InfoAfterFile=contrib/win32/postinstall.txt
24 LicenseFile=COPYING
24 LicenseFile=COPYING
25 ShowLanguageDialog=yes
25 ShowLanguageDialog=yes
26 AppPublisher=Matt Mackall and others
26 AppPublisher=Matt Mackall and others
27 AppPublisherURL=http://mercurial.selenic.com/
27 AppPublisherURL=http://mercurial.selenic.com/
28 AppSupportURL=http://mercurial.selenic.com/
28 AppSupportURL=http://mercurial.selenic.com/
29 AppUpdatesURL=http://mercurial.selenic.com/
29 AppUpdatesURL=http://mercurial.selenic.com/
30 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
30 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
31 AppContact=mercurial@selenic.com
31 AppContact=mercurial@selenic.com
32 OutputBaseFilename=Mercurial-{#VERSION}
32 OutputBaseFilename=Mercurial-{#VERSION}
33 DefaultDirName={pf}\Mercurial
33 DefaultDirName={pf}\Mercurial
34 SourceDir=..\..
34 SourceDir=..\..
35 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
35 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
36 VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others
36 VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others
37 VersionInfoCompany=Matt Mackall and others
37 VersionInfoCompany=Matt Mackall and others
38 InternalCompressLevel=max
38 InternalCompressLevel=max
39 SolidCompression=true
39 SolidCompression=true
40 SetupIconFile=contrib\win32\mercurial.ico
40 SetupIconFile=contrib\win32\mercurial.ico
41 AllowNoIcons=true
41 AllowNoIcons=true
42 DefaultGroupName=Mercurial
42 DefaultGroupName=Mercurial
43 PrivilegesRequired=none
43 PrivilegesRequired=none
44
44
45 [Files]
45 [Files]
46 Source: contrib\mercurial.el; DestDir: {app}/Contrib
46 Source: contrib\mercurial.el; DestDir: {app}/Contrib
47 Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
47 Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
48 Source: contrib\zsh_completion; DestDir: {app}/Contrib
48 Source: contrib\zsh_completion; DestDir: {app}/Contrib
49 Source: contrib\bash_completion; DestDir: {app}/Contrib
49 Source: contrib\bash_completion; DestDir: {app}/Contrib
50 Source: contrib\tcsh_completion; DestDir: {app}/Contrib
50 Source: contrib\tcsh_completion; DestDir: {app}/Contrib
51 Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
51 Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
52 Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
52 Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
53 Source: contrib\xml.rnc; DestDir: {app}/Contrib
53 Source: contrib\xml.rnc; DestDir: {app}/Contrib
54 Source: contrib\shrink-revlog.py; DestDir: {app}/Contrib
54 Source: contrib\shrink-revlog.py; DestDir: {app}/Contrib
55 Source: contrib\mercurial.el; DestDir: {app}/Contrib
56 Source: contrib\mq.el; DestDir: {app}/Contrib
55 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
57 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
56 Source: contrib\mergetools.hgrc; DestDir: {tmp};
58 Source: contrib\mergetools.hgrc; DestDir: {tmp};
57 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles;
59 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles;
58 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
60 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
59 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
61 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
60 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
62 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
61 Source: dist\library.zip; DestDir: {app}
63 Source: dist\library.zip; DestDir: {app}
62 Source: dist\mfc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
64 Source: dist\mfc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
63 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
65 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
64 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
66 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
65 Source: dist\Microsoft.VC*.MFC.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
67 Source: dist\Microsoft.VC*.MFC.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
66 Source: dist\w9xpopen.exe; DestDir: {app}
68 Source: dist\w9xpopen.exe; DestDir: {app}
67 Source: dist\add_path.exe; DestDir: {app}
69 Source: dist\add_path.exe; DestDir: {app}
68 Source: doc\*.html; DestDir: {app}\Docs
70 Source: doc\*.html; DestDir: {app}\Docs
69 Source: doc\style.css; DestDir: {app}\Docs
71 Source: doc\style.css; DestDir: {app}\Docs
70 Source: mercurial\help\*.txt; DestDir: {app}\help
72 Source: mercurial\help\*.txt; DestDir: {app}\help
71 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs
73 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs
72 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
74 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
73 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
75 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
74 Source: COPYING; DestDir: {app}; DestName: Copying.txt
76 Source: COPYING; DestDir: {app}; DestName: Copying.txt
75
77
76 [INI]
78 [INI]
77 Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/
79 Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/
78
80
79 [UninstallDelete]
81 [UninstallDelete]
80 Type: files; Name: {app}\Mercurial.url
82 Type: files; Name: {app}\Mercurial.url
81 Type: files; Name: {app}\Contrib\shrink-revlog.pyc
83 Type: files; Name: {app}\Contrib\shrink-revlog.pyc
82
84
83 [Icons]
85 [Icons]
84 Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
86 Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
85 Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
87 Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
86 Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
88 Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
87 Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
89 Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
88 Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
90 Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
89
91
90 [Run]
92 [Run]
91 Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
93 Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
92
94
93 [UninstallRun]
95 [UninstallRun]
94 Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
96 Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
95
97
96 [UninstallDelete]
98 [UninstallDelete]
97 Type: files; Name: "{app}\hg.exe.local"
99 Type: files; Name: "{app}\hg.exe.local"
98 [Code]
100 [Code]
99 var
101 var
100 WriteFile: Boolean;
102 WriteFile: Boolean;
101 CheckDone: Boolean;
103 CheckDone: Boolean;
102
104
103 function CheckFile(): Boolean;
105 function CheckFile(): Boolean;
104 begin
106 begin
105 if not CheckDone then begin
107 if not CheckDone then begin
106 WriteFile := True;
108 WriteFile := True;
107 if FileExists(ExpandConstant(CurrentFileName)) then begin
109 if FileExists(ExpandConstant(CurrentFileName)) then begin
108 WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes;
110 WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes;
109 end;
111 end;
110 CheckDone := True;
112 CheckDone := True;
111 end;
113 end;
112 Result := WriteFile;
114 Result := WriteFile;
113 end;
115 end;
114
116
115 procedure ConcatenateFiles();
117 procedure ConcatenateFiles();
116 var
118 var
117 MergeConfigs: TArrayOfString;
119 MergeConfigs: TArrayOfString;
118 begin
120 begin
119 if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin
121 if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin
120 SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True);
122 SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True);
121 end;
123 end;
122 end;
124 end;
123
125
124 procedure Touch(fn: String);
126 procedure Touch(fn: String);
125 begin
127 begin
126 SaveStringToFile(ExpandConstant(fn), '', False);
128 SaveStringToFile(ExpandConstant(fn), '', False);
127 end;
129 end;
General Comments 0
You need to be logged in to leave comments. Login now