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