masschroq_innosetup-1.0.iss 6.55 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; MassChroQ Inno Setup file to build setup installer for windows
;
; MassChroQ: Mass Chromatogram Quantification software.
; Copyright (C) 2010 Benoit Valot, Olivier Langella, Edlira Nano, Michel Zivy.
;
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program.  If not, see <http://www.gnu.org/licenses/>.
;
Olivier Langella's avatar
 
Olivier Langella committed
19

20
; Definition of precompilation variables
Olivier Langella's avatar
 
Olivier Langella committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#define MyAppName "MassChroQ"
#define MyAppVersion "1.0"
#define MyAppPublisher "PAPPSO"
#define MyAppURL "http://pappso.inra.fr/bioinfo/masschroq/"
#define MyAppExeName "masschroq.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{2FEBE499-EE5A-48EE-9C31-D9190A7301EA}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
Edlira Nano's avatar
Edlira Nano committed
42
LicenseFile=C:\developpement\masschroq\win32\LICENCE
Olivier Langella's avatar
 
Olivier Langella committed
43
44
OutputDir=C:\developpement\masschroq\win32
OutputBaseFilename=masschroq_setup
45
; set this to true if you want to perform file associations in the registry
Olivier Langella's avatar
 
Olivier Langella committed
46
ChangesAssociations=true
47
; set this to true if you want to change environment variables
Olivier Langella's avatar
 
Olivier Langella committed
48
ChangesEnvironment=true
49

Olivier Langella's avatar
 
Olivier Langella committed
50
51
Compression=lzma
SolidCompression=yes
Olivier Langella's avatar
   
Olivier Langella committed
52

53
; Changes in registry
Olivier Langella's avatar
 
Olivier Langella committed
54
[Registry]
55
; File association
Olivier Langella's avatar
 
Olivier Langella committed
56
57
Root: HKCR; Subkey: ".masschroqML"; ValueType: string; ValueName: ""; ValueData: "masschroqMLFile "; Flags: uninsdeletevalue; Tasks: addextension
Root: HKCR; Subkey: "masschroqMLFile"; ValueType: string; ValueName: ""; ValueData: "masschroqML File"; Flags: uninsdeletekey; Tasks: addextension
Olivier Langella's avatar
   
Olivier Langella committed
58
Root: HKCR; Subkey: "masschroqMLFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Flags: uninsdeletevalue; Tasks: addextension
Olivier Langella's avatar
 
Olivier Langella committed
59
60
Root: HKCR; Subkey: "masschroqMLFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\masschroq.ico,0"; Flags: uninsdeletevalue; Tasks: addextension

61
;Setup choice languages
Olivier Langella's avatar
 
Olivier Langella committed
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Tasks]
83
84
; Propose choice of these tasks to the user during setup. Put Flags: unchecked if you 
; want teh boxes to be unchecked by default. Put nothing if you want them checked. 
Olivier Langella's avatar
Olivier Langella committed
85
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Olivier Langella's avatar
 
Olivier Langella committed
86
87
88
Name: modifypath; Description: Add application directory to your environmental path (recommended)
Name: addextension; Description: Associate .masschroqML file extension with MassChroQ (recommended)

89
; Files to install
Olivier Langella's avatar
 
Olivier Langella committed
90
91
92
93
94
95
96
97
[Files]
Source: "C:\developpement\masschroq\win32\src\Release\masschroq.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\win32\src\Release\QtCore4.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\win32\src\Release\QtNetwork4.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\win32\src\Release\QtXml4.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\win32\src\Release\QtXmlPatterns4.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\doc\schema\masschroq.xsd"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\developpement\masschroq\doc\logo\masschroq.ico"; DestDir: "{app}"; Flags: ignoreversion
Olivier Langella's avatar
Olivier Langella committed
98
Source: "C:\developpement\masschroq\win32\masschroq_readme.pdf"; DestDir: "{app}"; Flags: ignoreversion
99
Source: "C:\developpement\masschroq\doc\examples\*.*"; DestDir: "{app}\examples"; Flags: ignoreversion
Olivier Langella's avatar
Olivier Langella committed
100
Source: "C:\developpement\masschroq\doc\masschroq_v1_user_manual\masschroq_manual-1.0.pdf"; DestDir: "{app}"; Flags: ignoreversion
Olivier Langella's avatar
Olivier Langella committed
101
;NOTE: Don't use "Flags: ignoreversion" on any shared system files
Olivier Langella's avatar
 
Olivier Langella committed
102

103
; Shortcuts to add 
Olivier Langella's avatar
 
Olivier Langella committed
104
[Icons]
105
; Start shortcuts
Olivier Langella's avatar
Olivier Langella committed
106
Name: "{group}\masschroq_readme.pdf"; Filename: "{app}\masschroq_readme.pdf"
Olivier Langella's avatar
 
Olivier Langella committed
107
108
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
109
Name: "{group}\examples"; Filename: "{app}\examples"
Olivier Langella's avatar
Olivier Langella committed
110
Name: "{group}\masschroq_manual-1.0.pdf"; Filename: "{app}\masschroq_manual-1.0.pdf"
111
; Desktop shortcuts 
Olivier Langella's avatar
Olivier Langella committed
112
Name: "{commondesktop}\masschroq_readme.pdf"; Filename: "{app}\masschroq_readme.pdf"; Tasks: desktopicon
113
Name: "{commondesktop}\masschroq_examples"; Filename: "{app}\examples"; Tasks: desktopicon
Olivier Langella's avatar
 
Olivier Langella committed
114

115
116
117
118
[Run]
Filename: "{app}\masschroq_readme.pdf"; Flags: postinstall shellexec skipifsilent; Description: "View the MassChroQ README file"


119
; Code to modify PATH env. variable. Uses file modpath.iss which you should provide 
Olivier Langella's avatar
 
Olivier Langella committed
120
121
122
123
124
125
126
127
128
129
130
[Code]
const
    ModPathName = 'modifypath';
    ModPathType = 'user';

function ModPathDir(): TArrayOfString;
begin
    setArrayLength(Result, 1)
    Result[0] := ExpandConstant('{app}');
end;
#include "modpath.iss"