##// END OF EJS Templates
win32: fix win32 installers generation...
Pascal Quantin -
r23174:7041b712 default
parent child Browse files
Show More
@@ -1,146 +1,137 b''
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 #ifndef ARCH
20 20 #define ARCH = "x86"
21 21 #endif
22 22
23 23 [Setup]
24 24 AppCopyright=Copyright 2005-2010 Matt Mackall and others
25 25 AppName=Mercurial
26 26 #if ARCH == "x64"
27 27 AppVerName=Mercurial {#VERSION} (64-bit)
28 28 OutputBaseFilename=Mercurial-{#VERSION}-x64
29 29 ArchitecturesAllowed=x64
30 30 ArchitecturesInstallIn64BitMode=x64
31 31 #else
32 32 AppVerName=Mercurial {#VERSION}
33 33 OutputBaseFilename=Mercurial-{#VERSION}
34 34 #endif
35 35 InfoAfterFile=contrib/win32/postinstall.txt
36 36 LicenseFile=COPYING
37 37 ShowLanguageDialog=yes
38 38 AppPublisher=Matt Mackall and others
39 39 AppPublisherURL=http://mercurial.selenic.com/
40 40 AppSupportURL=http://mercurial.selenic.com/
41 41 AppUpdatesURL=http://mercurial.selenic.com/
42 42 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
43 43 AppContact=mercurial@selenic.com
44 44 DefaultDirName={pf}\Mercurial
45 45 SourceDir=..\..
46 46 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
47 47 VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others
48 48 VersionInfoCompany=Matt Mackall and others
49 49 InternalCompressLevel=max
50 50 SolidCompression=true
51 51 SetupIconFile=contrib\win32\mercurial.ico
52 52 AllowNoIcons=true
53 53 DefaultGroupName=Mercurial
54 54 PrivilegesRequired=none
55 55
56 56 [Files]
57 57 Source: contrib\mercurial.el; DestDir: {app}/Contrib
58 58 Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
59 59 Source: contrib\zsh_completion; DestDir: {app}/Contrib
60 60 Source: contrib\bash_completion; DestDir: {app}/Contrib
61 61 Source: contrib\tcsh_completion; DestDir: {app}/Contrib
62 62 Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
63 63 Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
64 64 Source: contrib\xml.rnc; DestDir: {app}/Contrib
65 65 Source: contrib\mercurial.el; DestDir: {app}/Contrib
66 66 Source: contrib\mq.el; DestDir: {app}/Contrib
67 67 Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib
68 68 Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib
69 69 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
70 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles;
70 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile;
71 71 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
72 72 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
73 73 #if ARCH == "x64"
74 74 Source: dist\*.dll; Destdir: {app}
75 75 Source: dist\*.pyd; Destdir: {app}
76 76 #else
77 77 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
78 78 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
79 79 Source: dist\w9xpopen.exe; DestDir: {app}
80 80 #endif
81 81 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
82 82 Source: dist\library.zip; DestDir: {app}
83 83 Source: dist\add_path.exe; DestDir: {app}
84 84 Source: dist\cacert.pem; Destdir: {app}
85 85 Source: doc\*.html; DestDir: {app}\Docs
86 86 Source: doc\style.css; DestDir: {app}\Docs
87 87 Source: mercurial\help\*.txt; DestDir: {app}\help
88 Source: mercurial\default-hgrc.d\*.rc; DestDir: {app}\default-hgrc.d
88 Source: mercurial\default.d\*.rc; DestDir: {app}\default.d
89 89 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
90 90 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
91 91 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
92 92 Source: COPYING; DestDir: {app}; DestName: Copying.txt
93 93
94 94 [INI]
95 95 Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/
96 96 Filename: {app}\Mercurial.ini; Section: web; Key: cacerts; String: {app}\cacert.pem
97 97
98 98 [UninstallDelete]
99 99 Type: files; Name: {app}\Mercurial.url
100 100
101 101 [Icons]
102 102 Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
103 103 Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
104 104 Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
105 105 Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
106 106 Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
107 107
108 108 [Run]
109 109 Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
110 110
111 111 [UninstallRun]
112 112 Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
113 113
114 114 [UninstallDelete]
115 115 Type: files; Name: "{app}\hg.exe.local"
116 116
117 117 [Code]
118 118 var
119 119 WriteFile: Boolean;
120 120 CheckDone: Boolean;
121 121
122 122 function CheckFile(): Boolean;
123 123 begin
124 124 if not CheckDone then begin
125 125 WriteFile := True;
126 126 if FileExists(ExpandConstant(CurrentFileName)) then begin
127 127 WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes;
128 128 end;
129 129 CheckDone := True;
130 130 end;
131 131 Result := WriteFile;
132 132 end;
133 133
134 procedure ConcatenateFiles();
135 var
136 MergeConfigs: TArrayOfString;
137 begin
138 if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin
139 SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True);
140 end;
141 end;
142
143 134 procedure Touch(fn: String);
144 135 begin
145 136 SaveStringToFile(ExpandConstant(fn), '', False);
146 137 end;
@@ -1,172 +1,172 b''
1 1 <?xml version='1.0' encoding='windows-1252'?>
2 2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
3 3
4 4 <!-- Copyright 2010 Steve Borho <steve@borho.org>
5 5
6 6 This software may be used and distributed according to the terms of the
7 7 GNU General Public License version 2 or any later version. -->
8 8
9 9 <?include guids.wxi ?>
10 10 <?include defines.wxi ?>
11 11
12 12 <?if $(var.Platform) = "x64" ?>
13 13 <?define PFolder = ProgramFiles64Folder ?>
14 14 <?else?>
15 15 <?define PFolder = ProgramFilesFolder ?>
16 16 <?endif?>
17 17
18 18 <Product Id='*'
19 19 Name='Mercurial $(var.Version) ($(var.Platform))'
20 20 UpgradeCode='$(var.ProductUpgradeCode)'
21 21 Language='1033' Codepage='1252' Version='$(var.Version)'
22 22 Manufacturer='Matt Mackall and others'>
23 23
24 24 <Package Id='*'
25 25 Keywords='Installer'
26 26 Description="Mercurial distributed SCM (version $(var.Version))"
27 27 Comments='$(var.Comments)'
28 28 Platform='$(var.Platform)'
29 29 Manufacturer='Matt Mackall and others'
30 30 InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
31 31
32 32 <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
33 33 CompressionLevel='high' />
34 34 <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
35 35
36 36 <Condition Message='Mercurial MSI installers require Windows XP or higher'>
37 37 VersionNT >= 501
38 38 </Condition>
39 39
40 40 <Property Id="INSTALLDIR">
41 41 <ComponentSearch Id='SearchForMainExecutableComponent'
42 42 Guid='$(var.ComponentMainExecutableGUID)' />
43 43 </Property>
44 44
45 45 <!--Property Id='ARPCOMMENTS'>any comments</Property-->
46 46 <Property Id='ARPCONTACT'>mercurial@selenic.com</Property>
47 47 <Property Id='ARPHELPLINK'>http://mercurial.selenic.com/wiki/</Property>
48 48 <Property Id='ARPURLINFOABOUT'>http://mercurial.selenic.com/about/</Property>
49 49 <Property Id='ARPURLUPDATEINFO'>http://mercurial.selenic.com/downloads/</Property>
50 50 <Property Id='ARPHELPTELEPHONE'>http://mercurial.selenic.com/wiki/Support</Property>
51 51 <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
52 52
53 53 <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
54 54 <Property Id='REINSTALLMODE'>amus</Property>
55 55
56 56 <!--Auto-accept the license page-->
57 57 <Property Id='LicenseAccepted'>1</Property>
58 58
59 59 <Directory Id='TARGETDIR' Name='SourceDir'>
60 60 <Directory Id='$(var.PFolder)' Name='PFiles'>
61 61 <Directory Id='INSTALLDIR' Name='Mercurial'>
62 62 <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
63 63 <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
64 64 <Environment Id="Environment" Name="PATH" Part="last" System="yes"
65 65 Permanent="no" Value="[INSTALLDIR]" Action="set" />
66 66 </Component>
67 67 <Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'>
68 68 <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
69 69 KeyPath='yes'/>
70 70 </Component>
71 71 <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'>
72 72 <File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
73 73 KeyPath='yes'/>
74 74 </Component>
75 75
76 76 <Directory Id='HGRCD' Name='hgrc.d'>
77 77 <Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)' Win64='$(var.IsX64)'>
78 78 <File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
79 79 ReadOnly='yes' KeyPath='yes'/>
80 80 </Component>
81 81 <Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)' Win64='$(var.IsX64)'>
82 <File Id='mergetools.rc' Name='MergeTools.rc' Source='mercurial\default-hgrc.d\mergetools.rc'
82 <File Id='mergetools.rc' Name='MergeTools.rc' Source='mercurial\default.d\mergetools.rc'
83 83 ReadOnly='yes' KeyPath='yes'/>
84 84 </Component>
85 85 <Component Id='paths.rc' Guid='$(var.paths.rc.guid)' Win64='$(var.IsX64)'>
86 86 <CreateFolder/>
87 87 <IniFile Id="ini0" Action="createLine" Directory="HGRCD" Name="Paths.rc"
88 88 Section="web" Key="cacerts" Value="[INSTALLDIR]hgrc.d\cacert.pem" />
89 89 </Component>
90 90 <Component Id='cacert.pem' Guid='$(var.cacert.pem.guid)' Win64='$(var.IsX64)'>
91 91 <File Id='cacert.pem' Name='cacert.pem' Source='..\misc\cacert.pem'
92 92 ReadOnly='yes' KeyPath='yes'/>
93 93 </Component>
94 94 </Directory>
95 95
96 96 </Directory>
97 97 </Directory>
98 98
99 99 <Directory Id="ProgramMenuFolder" Name="Programs">
100 100 <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
101 101 <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
102 102 <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
103 103 <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
104 104 Value='[INSTALLDIR]' KeyPath='yes' />
105 105 <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
106 106 Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
107 107 </Component>
108 108 </Directory>
109 109 </Directory>
110 110
111 111 <?if $(var.Platform) = "x86" ?>
112 112 <Merge Id='VCRuntime' DiskId='1' Language='1033'
113 113 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
114 114 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
115 115 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
116 116 <?else?>
117 117 <Merge Id='VCRuntime' DiskId='1' Language='1033'
118 118 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
119 119 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
120 120 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
121 121 <?endif?>
122 122 </Directory>
123 123
124 124 <Feature Id='Complete' Title='Mercurial' Description='The complete package'
125 125 Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
126 126 <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
127 127 Level='1' Absent='disallow' >
128 128 <ComponentRef Id='MainExecutable' />
129 129 <ComponentRef Id='distOutput' />
130 130 <ComponentRef Id='ProgramMenuDir' />
131 131 <ComponentRef Id='ReadMe' />
132 132 <ComponentRef Id='COPYING' />
133 133 <ComponentRef Id='mercurial.rc' />
134 134 <ComponentRef Id='mergetools.rc' />
135 135 <ComponentRef Id='paths.rc' />
136 136 <ComponentRef Id='cacert.pem' />
137 137 <ComponentRef Id='helpFolder' />
138 138 <ComponentGroupRef Id='templatesFolder' />
139 139 <MergeRef Id='VCRuntime' />
140 140 <MergeRef Id='VCRuntimePolicy' />
141 141 </Feature>
142 142 <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
143 143 <ComponentGroupRef Id='localeFolder' />
144 144 <ComponentRef Id='i18nFolder' />
145 145 </Feature>
146 146 <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
147 147 <ComponentGroupRef Id='docFolder' />
148 148 </Feature>
149 149 <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
150 150 <ComponentGroupRef Id='contribFolder' />
151 151 </Feature>
152 152 </Feature>
153 153
154 154 <UIRef Id="WixUI_FeatureTree" />
155 155 <UIRef Id="WixUI_ErrorProgressText" />
156 156
157 157 <WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
158 158
159 159 <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
160 160
161 161 <Upgrade Id='$(var.ProductUpgradeCode)'>
162 162 <UpgradeVersion
163 163 IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
164 164 Property='INSTALLEDMERCURIALPRODUCTS' />
165 165 </Upgrade>
166 166
167 167 <InstallExecuteSequence>
168 168 <RemoveExistingProducts After='InstallInitialize'/>
169 169 </InstallExecuteSequence>
170 170
171 171 </Product>
172 172 </Wix>
General Comments 0
You need to be logged in to leave comments. Login now