Statistics
| Branch: | Revision:

root / trunk / Pithos.Installer / PithosPlus.iss @ 423e3705

History | View | Annotate | Download (44 kB)

1
; Script generated by the Inno Setup Script Wizard.
2
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
3

    
4
#define MyAppName "Pithos+"
5
#define MyStartupName "Run Pithos on startup"
6
#define SrcApp "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"
7
#define MyAppPublisher "GRNET"
8
#define MyAppURL "http://pithos.grnet.gr/"
9
#define MyAppExeName "PithosPlus.exe"
10
#define MyAppVersion GetFileVersion(SrcApp)
11
#define MyURL "http://www.grnet.gr/"
12
#define Manufacturer "GRNET"
13

    
14
[Setup]
15
;WARNING: DO NOT CHANGE THE APP ID (AppId) or the update will not work correctly.
16
;AppId is used to check if we are installed using this isntaller and not by other means.
17
AppID={{926354B2-04D2-47CF-8FAA-04AB3682008B}}
18
AppName={#MyAppName}
19
AppVersion={#MyAppVersion}
20
AppVerName={#MyAppName} {#MyAppVersion}
21
UninstallDisplayName={#MyAppName} {#MyAppVersion}
22
AppPublisher={#MyAppPublisher}
23
AppPublisherURL={#MyAppURL}
24
AppSupportURL={#MyAppURL}
25
AppUpdatesURL={#MyAppURL}
26
DefaultDirName={pf}\PithosPlus
27
DefaultGroupName={#MyAppName}
28
AllowNoIcons=true
29
LicenseFile=Licenses\GRNET License.txt
30
OutputBaseFilename=PithosPlus_Setupv{#MyAppVersion}
31
SolidCompression=true
32
UsePreviousSetupType=true
33
UsePreviousTasks=true
34
UsePreviousLanguage=True
35
ShowTasksTreeLines=true
36
AppCopyright=(c) 2011 - 2012 GRNET
37
PrivilegesRequired=admin
38
EnableDirDoesntExistWarning=true
39
DirExistsWarning=yes
40
AppContact=support@okeanos.grnet.gr
41
AppSupportPhone=+30 210 0000000
42
AppReadmeFile=My Readme
43
UninstallDisplayIcon={app}\PithosPlus.exe
44
WizardImageFile=Images\ppWZDImage.bmp
45
WizardSmallImageFile=Images\ppWZDSmall.bmp
46
VersionInfoVersion={#MyAppVersion}
47
MinVersion=0,5.01sp3
48
ArchitecturesInstallIn64BitMode=x64
49
AppMutex=PITHOSMUTEX
50
OutputDir={tmp}
51
SetupLogging=true
52
UninstallLogMode=append
53
VersionInfoCompany=GRNET
54
VersionInfoDescription=Pithos Plus
55
VersionInfoCopyright=(c) 2011-2012 GRNET
56
VersionInfoProductName=Pitho Plus
57
VersionInfoProductVersion=1
58
AppModifyPath="{app}\UninsHs.exe" /m0=AppId
59

    
60
[Languages]
61
Name: "english"; MessagesFile: "compiler:Default.isl"
62
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
63
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
64
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
65
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
66

    
67
[CustomMessages]
68
;Web=You can visit our web site for more info
69

    
70
[Tasks]
71
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; Components: Documentation RequiredFiles
72
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1; Components: Documentation RequiredFiles
73
;Name: "visitweb"; Description: "{cm:Web}"; GroupDescription: "{cm:Web}"; Flags: unchecked; Components: Documentation RequiredFiles; Languages: english french german greek spanish
74

    
75
[Files]
76
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
77
; Executable
78
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Tasks: desktopicon; Languages: english french german spanish greek
79
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
80
; Appearance
81
Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
82
Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy
83
; Repair/Modify
84
Source: "Tools\UninsHs.exe"; DestDir: "{app}"; Flags: restartreplace
85
; Running Processes
86
Source: "Tools\IssProc.dll"; DestDir: {tmp}; Flags: dontcopy
87
; DLL
88
Source: "..\Pithos.ShellExtensions\bin\x86\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
89
Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
90
Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
91
Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
92
Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
93
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
94
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
95
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
96
Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
97
Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
98
Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
99
Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
100
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
101
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
102
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.Search.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
103
Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
104
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
105
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
106
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
107
Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
108
Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
109
Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
110
Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
111
; Tortoise
112
Source: "TortoiseOverlays\License.txt"; DestDir: "{cf}/\TortoiseOverlays"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
113
Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
114
Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
115
Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: "{cf}/\TortoiseOverlays/icons/\XPStyle"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
116
;Redistributables
117
Source: "Redistributables\*"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
118
Source: "Redistributables\x86\msvcp100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
119
Source: "Redistributables\x86\msvcr100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
120
Source: "Redistributables\x64\msvcp100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
121
Source: "Redistributables\x64\msvcr100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
122
; Wizard Images
123
Source: "Images\grnet-logo.bmp"; Flags: dontcopy
124
Source: "Images\account.bmp"; Flags: dontcopy
125

    
126
[Icons]
127
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
128
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
129
Name: "{group}\{cm:ProgramOnTheWeb,GRNET}"; Filename: "{#MyURL}"
130
;Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
131
Name: "{group}\Uninstall {#MyAppName}"; Filename: "{app}\UninsHs.exe"; Parameters: /u0=AppId
132
Name: "{commonstartup}\{#MyStartupName}"; Filename: "{app}\{#MyAppExeName}"; Parameters: "startup"
133
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
134
;Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
135

    
136
[Run]
137
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
138

    
139
[Registry]
140
;Startup >>> Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Pithos+"; ValueData: """{app}\{#MyAppExeName}"""; Flags: createvalueifdoesntexist uninsdeletevalue
141
Root: "HKCR"; Subkey: "*\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: string; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}"
142

    
143
Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}"; ValueType: String; ValueData: "PithosContextMenu";  
144
Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}\InprocServer32"; ValueType: String; ValueData: "ThreadingModel";  
145
Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}\InprocServer32"; ValueType: String; ValueData: "{app}\PithosExtensions.dll";  
146

    
147
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
148
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\Implemented Categories";  
149
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
150
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
151
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
152
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
153
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
154
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
155
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
156
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String;  
157
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
158
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
159
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
160
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
161
Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\ProgId"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
162

    
163
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
164
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}";  
165
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
166
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
167
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
168
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll"; Components: RequiredFiles
169
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  
170
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
171
Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\ProgId"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
172

    
173
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
174
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\Implemented Categories";  
175
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
176
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
177
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
178
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
179
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
180
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  Components: RequiredFiles
181
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
182
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String;  
183
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
184
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
185
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
186
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
187
Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
188

    
189
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
190
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\Implemented Categories";  
191
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
192
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
193
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
194
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
195
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
196
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
197
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
198
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String;  
199
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
200
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
201
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
202
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
203
Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
204

    
205
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
206
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\Implemented Categories";  
207
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
208
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
209
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
210
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
211
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
212
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
213
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
214
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String;  
215
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
216
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
217
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
218
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  Components: RequiredFiles
219
Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
220

    
221
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
222
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\Implemented Categories";  
223
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
224
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
225
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
226
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
227
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
228
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
229
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
230
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String;  
231
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
232
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
233
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
234
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
235
Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
236

    
237
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
238
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\Implemented Categories";  
239
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
240
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "(Default)"; ValueData: "mscoree.dll";  
241
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
242
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
243
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
244
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
245
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
246
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "(Default)";  
247
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Assembly"; ValueData: "Pithos.ShellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2cc55badaa91f4de";  
248
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
249
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
250
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
251
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
252
  
253
Root: "HKCR"; Subkey: "Directory\Background\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
254
Root: "HKCR"; Subkey: "Directory\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
255
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.FileContextMenu"; ValueType: String; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
256
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.FileContextMenu\CLSID"; ValueType: String; ValueData: "{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}";  
257
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Menus.FileContextMenu"; ValueType: String; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
258
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Menus.FileContextMenu\CLSID"; ValueType: String; ValueData: "{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}";  
259
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.AddedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.AddedIconOverlay";  
260
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.AddedIconOverlay\CLSID"; ValueType: String; ValueData: "{{EAD1663B-9A03-4E92-80D3-B01B981CD828}";  
261
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
262
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay\CLSID"; ValueType: String; ValueData: "{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}";  
263
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
264
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay\CLSID"; ValueType: String; ValueData: "{{11051AB4-D786-4248-BC6E-369F25EC74E4}";  
265
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
266
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay\CLSID"; ValueType: String; ValueData: "{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}";  
267
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.NormalIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
268
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.NormalIconOverlay\CLSID"; ValueType: String; ValueData: "{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}";  
269
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
270
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay\CLSID"; ValueType: String; ValueData: "{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}";  
271
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedOverlay";  
272
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedOverlay\CLSID"; ValueType: String; ValueData: "{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}";  
273
;
274
Root: "HKCU"; Subkey: "Software\{#Manufacturer}";  
275
Root: "HKLM"; Subkey: "Software\{#Manufacturer}\Pithos"; ValueType: dword; ValueName: "ShowOnlyInExplorer"; ValueData: "0";  
276
;
277
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Added"; ValueType: String; ValueName: "Pithos"; ValueData: "{{ead1663b-9a03-4e92-80d3-b01b981cd828}";  
278
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Conflict"; ValueType: String; ValueName: "Pithos"; ValueData: "{{3efa16fc-c6b6-4673-bfec-bd9518f1efce}";  
279
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Deleted"; ValueType: String; ValueName: "Pithos"; ValueData: "{{11051AB4-D786-4248-BC6E-369F25EC74E4}";  
280
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Modified"; ValueType: String; ValueName: "Pithos"; ValueData: "{{3d05bcb0-733b-49cd-b340-9d79c17c73cc}"; Components: RequiredFiles
281
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Normal"; ValueType: String; ValueName: "Pithos"; ValueData: "{{1941d8ca-2727-491b-bc03-9e8ca4fe972b}";  
282
Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Unversioned"; ValueType: String; ValueName: "Pithos"; ValueData: "{{10cf08fe-1252-4aab-be78-971b0c5e8ae0}";  
283

    
284
Root: "HKLM"; Subkey: "Software\{#Manufacturer}\{#MyAppName}\{{56EDB812-2F78-060D-D5D1-6AA27B1165A5}"; ValueType: String; ValueData: "_D9DCD31A441A4B7B845F98CB12D6BFBA"; Components: RequiredFiles
285

    
286
[Components]
287
Name: "RequiredFiles"; Description: "Required Files"; Types: Advanced Default; Flags: checkablealone fixed; Languages: english french german greek spanish
288
Name: "Documentation"; Description: "Documentation"; Types: Default Advanced; Flags: dontinheritcheck; Languages: english french german greek spanish
289

    
290
[Types]
291
Name: "Default"; Description: "Default Installation"; Languages: english french german greek spanish
292
Name: "Advanced"; Description: "Custom Installation"; Flags: iscustom; Languages: english german french greek spanish
293

    
294
[Dirs]
295
Name: "{cf}/\TortoiseOverlays"; Components: RequiredFiles; Tasks: desktopicon; Languages: english french german greek spanish
296
Name: "{cf}/\TortoiseOverlays/\icons"
297
Name: "{cf}/\TortoiseOverlays/icons/\XPStyle"
298

    
299

    
300
[Code]
301
const 
302
  WM_QUIT = 18;
303
  MyAppMutex = 'PITHOSMUTEX';
304
  XMLURL = 'https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/versioninfo.xml';
305
  XMLUpdate = 'MYLatest.xml';
306
  
307
var 
308
dotNET40Missing: Boolean;
309
       IsUpdate: Boolean;
310
      UsagePage: TOutputMsgWizardPage;
311
      Wz1, Wz2 : TOutputMsgWizardPage;
312
         ChkBox: TCheckBox;
313
        LicenseID: Integer;      
314

    
315
// IssFindModule called on in/uninstall
316
function IssFindModule(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;
317
external 'IssFindModuleW@files:IssProc.dll stdcall setuponly';
318

    
319
function IssFindModuleU(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;
320
external 'IssFindModuleW@{app}\IssProc.dll stdcall uninstallonly';
321

    
322
//Call this to enable search for any in use file type
323
function IssEnableAnyFileInUseCheck(Folder: String): Integer;
324
external 'IssEnableAnyFileInUseCheckW@files:IssProc.dll stdcall setuponly';
325

    
326
//IssEnableAnyFileInUseCheck called on uninstall
327
function IssEnableAnyFileInUseCheckU(Folder: String): Integer;
328
external 'IssEnableAnyFileInUseCheckW@{app}\IssProc.dll stdcall uninstallonly';
329

    
330
//Register for commercial use on install
331
function IssRegister(rName: PAnsiChar; rKey: PAnsiChar): Integer;
332
external 'IssRegister@files:IssProc.dll stdcall setuponly';
333

    
334
//Register for commercial use on uninstall
335
function IssRegisterU(rName: PAnsiChar; rKey: PAnsiChar): Integer;
336
external 'IssRegister@{app}\IssProc.dll stdcall uninstallonly';
337

    
338
// Importing LoadSkin API from ISSkin.DLL
339
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
340
external 'LoadSkin@files:isskin.dll stdcall';
341

    
342
procedure UnloadSkin();
343
external 'UnloadSkin@files:isskin.dll stdcall';
344

    
345
// Importing ShowWindow Windows API from User32.DLL
346
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
347
external 'ShowWindow@user32.dll stdcall';
348

    
349
function IsDotNetDetected(version: string; service: cardinal): boolean;
350
//    'v1.1.4322'     .NET Framework 1.1
351
//    'v2.0.50727'    .NET Framework 2.0
352
//    'v3.0'          .NET Framework 3.0
353
//    'v3.5'          .NET Framework 3.5
354
//    'v4\Client'     .NET Framework 4.0 Client Profile
355
//    'v4\Full'       .NET Framework 4.0 Full Installation
356
// service pack
357
//    0               No service packs required
358
//    1, 2, etc.      Service pack 1, 2, etc. required
359
//    if not IsDotNetDetected('v4\Client', 0) then begin
360
var
361
    key: string;
362
    install, serviceCount: cardinal;
363
    success: boolean;
364
   
365
begin
366
    key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\' + version;
367
    // .NET 3.0 uses value InstallSuccess in subkey Setup
368
    if Pos('v3.0', version) = 1 then begin
369
        success := RegQueryDWordValue(HKLM, key + '\Setup', 'InstallSuccess', install);
370
    end else begin
371
        success := RegQueryDWordValue(HKLM, key, 'Install', install);
372
    end;
373
    // .NET 4.0 uses value Servicing instead of SP
374
    if Pos('v4', version) = 1 then begin
375
        success := success and RegQueryDWordValue(HKLM, key, 'Servicing', serviceCount);
376
    end else begin
377
        success := success and RegQueryDWordValue(HKLM, key, 'SP', serviceCount);
378
    end;
379
    result := success and (install = 1) and (serviceCount >= service);
380
end;
381

    
382
function NextButtonClick(CurPage: Integer): Boolean;
383
var
384
  hWnd: Integer;
385
  sModuleName: String;
386
  nCode: Integer;  {IssFindModule returns: 0 if no module found; 1 if cancel pressed; 2 if ignore pressed; -1 if an error occured }
387
begin
388
  Result := true;
389

    
390
 if CurPage = wpReady then
391
   begin
392
      Result := false;
393
            
394
      hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));                     { get main wizard handle }
395
      IssEnableAnyFileInUseCheck(ExpandConstant('{app}'));
396
      sModuleName :=ExpandConstant('pithos*.dll;PithosPlus.exe');            
397
      nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }
398
     if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }
399
          PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }
400
     end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}
401
          Result := true;                                                   { continue setup  }
402
     end;
403
  end;
404
end;
405

    
406
function InitializeSetup(): Boolean;
407
begin
408
  //Unpack The Skin
409
  ExtractTemporaryFile('GRNETWhite.cjstyles');
410
  LoadSkin(ExpandConstant('{tmp}\GRNETWhite.cjstyles'), '');
411
    
412
  // Test the presence of .NET 4.0
413
  if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then
414
      dotNET40Missing := True;
415
    
416
  Result := True;
417
end;
418

    
419
procedure DeinitializeSetup();
420
begin
421
  //Hide Window widget
422
  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
423
  UnloadSkin();
424
end;
425

    
426
function ShouldInstalldotNET40(): Boolean;
427
begin
428
    Result := dotNET40Missing;
429
end;
430

    
431
procedure CurPageChanged(CurPageID: Integer);
432
begin
433
  if CurPageID = wpInstalling then
434
    IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}'));
435
  if CurPageID = LicenseID then
436
    Wizardform.NextButton.Enabled := False;
437
  if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then
438
    WizardForm.BackButton.Visible := False;
439
end;
440

    
441
function NotAnUpdate: Boolean;
442
begin
443
  result := not IsUpdate;
444
end;
445

    
446
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
447
var
448
mRes : integer;
449
begin
450
  case CurUninstallStep of
451
    usUninstall:
452
      begin
453
        mRes := MsgBox('Do you want to remove your settings?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2)
454
        if mRes = IDYES then
455
          begin            
456
            DelTree(ExpandConstant('{localappdata}')+'\GRNET\PithosPlus.exe_StrongName_1vmy3hmn3mscykecwcnmpvno4d4mqi52',true,true,true);     
457
            DelTree(ExpandConstant('{localappdata}')+'\GRNET\PITHOS\',true,true,true);
458
            
459
          End
460
        else
461
          MsgBox ('Settings will not be removed', mbInformation, MB_OK);        
462
      end;
463
  end;
464
end;
465

    
466
procedure BitmapImageOnClick(Sender: TObject);
467
var
468
  ErrCode: integer;
469
begin
470
  ShellExec('open', 'http://pithos.grnet.gr','', '', SW_SHOW, ewNoWait, ErrCode);
471
end;
472

    
473
procedure LicenseOnClick(Sender: TObject);
474
begin
475
  if chkBox.checked Then
476
  Wizardform.NextButton.Enabled := True else
477
  Wizardform.NextButton.Enabled := False;  
478
end;
479

    
480
procedure CreateTheWizardPages;
481
var
482
  Page: TWizardPage;
483
  Button, FormButton: TNewButton;
484
  BitmapImage,BitmapImage1: TBitmapImage;
485
  BitmapFileName: String;
486
  Memo: TMemo;
487
  LabelWz: TLabel;
488

    
489
begin  
490
  Page := CreateCustomPage(wpWelcome, 'GRNET Pithos+ Dev Build {#MyAppVersion}', 'Software License');
491
  BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');
492
  ExtractTemporaryFile(ExtractFileName(BitmapFileName));
493
  
494
  Page.Surface.Color := clWhite;
495
  BitmapImage := TBitmapImage.Create(Page);
496
  BitmapImage.AutoSize := True;
497
  BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
498
  BitmapImage.Cursor := crHand;
499
  BitmapImage.Left := (Page.Surfacewidth - BitmapImage.Width) / 2;
500
  BitmapImage.Top := Page.Surface.Top;
501
  BitmapImage.OnClick := @BitmapImageOnClick;
502
  BitmapImage.Parent := Page.Surface;
503
  
504
  Memo := TMemo.Create(Page);
505
  Memo.Top := BitmapImage.Height;
506
  Memo.Width := Page.SurfaceWidth;
507
  Memo.Height := Page.SurfaceHeight - (BitmapImage.Height + 20);
508
  Memo.ScrollBars := ssVertical;
509
  Memo.Text := 'This software is provided by GRNET S.A. "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall GRNET S.A. or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.';
510
  Memo.Parent := Page.Surface;
511
  
512
  ChkBox := TCheckBox.Create(Page);
513
  ChkBox.Top := BitmapImage.Height + Memo.Height;
514
  ChkBox.Width := Page.SurfaceWidth;
515
  ChkBox.Caption := 'I agree with the above terms';
516
  ChkBox.Checked := cbUnChecked;
517
  chkBox.OnClick := @LicenseOnClick;
518
  ChkBox.Parent := Page.Surface;
519
  LicenseID := Page.ID;
520
  
521
  Page := CreateCustomPage(wpInfoAfter, 'First Steps', 'Setup your account');
522
  BitmapFileName := ExpandConstant('{tmp}\account.bmp');
523
  ExtractTemporaryFile(ExtractFileName(BitmapFileName));
524

    
525
  Page.Surface.Color := clWhite;
526
  BitmapImage1 := TBitmapImage.Create(Page);
527
  BitmapImage1.width := Page.SurfaceWidth;
528
  BitmapImage1.height := PAge.SurfaceHeight;
529
  BitmapImage1.Bitmap.LoadFromFile(BitmapFileName);
530
  BitmapImage1.Left := 0 
531
  BitmapImage1.Top := Page.Surface.Top;
532
  BitmapImage1.Parent := Page.Surface;
533
  
534
  LabelWz := Tlabel.Create(Page);
535
  LabelWz.Top := 0;
536
  LabelWz.Caption := 'To setup your account right click on the Pithos+ icon in the taskbar.';
537
  LabelWz.Parent := Page.Surface;
538
end;
539

    
540
procedure InitializeWizard;
541
var
542
winHwnd: longint;
543
retVal : boolean;
544
strProg: string;
545
begin
546
  winHwnd := FindWindowByClassName('{MyAppMutex}');
547
  if winHwnd<>0 then begin { no module found or ignore pressed}
548
      msgbox('mutexfound', mbInformation,mb_OK);
549
      postmessage(winHwnd,WM_QUIT,0,0);
550
   //abort();
551
  end;
552
  CreateTheWizardPages; 
553
end;
554

    
555
function ShouldSkipPage(CurPage: Integer): Boolean;
556
    begin
557
      if Pos('/SP-', UpperCase(GetCmdTail)) > 0 then
558
        case CurPage of
559
          wpLicense, wpPassword, wpInfoBefore, wpUserInfo,
560
          wpSelectDir, wpSelectProgramGroup, wpInfoAfter:
561
            Result := True;
562
        end;
563
    end;
564
    
565
[Run]
566
;Kill Running Task
567
Filename: cmd; parameters: /c taskkill /f /im pithos.exe;Flags: runhidden
568
Filename: cmd; parameters: /c taskkill /f /im pithos.client.WPF.exe;Flags: runhidden
569
;Launch Redist
570
Filename: {tmp}\dotNetFx40_Client_setup.exe; Description: Install Microsoft .Net Framework 4.0; Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40
571
Filename: {app}\UninsHs.exe; Parameters: /r0=AppId,{language},{srcexe}; Flags: runminimized