Installer:
[pithos-ms-client] / trunk / Pithos.Installer / PithosPlus.~is
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\pithos_logo-square-icon-35.bmp
46 WizardImageBackColor=$FFFFFF
47 VersionInfoVersion={#MyAppVersion}
48 MinVersion=0,5.01sp3
49 ArchitecturesInstallIn64BitMode=x64
50 AppMutex=PITHOSMUTEX
51 OutputDir=Output\
52 SetupLogging=true
53 UninstallLogMode=append
54 VersionInfoCompany=GRNET
55 VersionInfoDescription=Pithos Plus
56 VersionInfoCopyright=(c) 2011-2012 GRNET
57 VersionInfoProductName=Pithos Plus
58 VersionInfoProductVersion=1
59 AppModifyPath="{app}\UninsHs.exe" /m0=AppId
60 ;CloseApplications=yes
61 RestartApplications=yes
62
63 [Languages]
64 Name: "english"; MessagesFile: "compiler:Default.isl"
65 Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
66 Name: "german"; MessagesFile: "compiler:Languages\German.isl"
67 Name: "french"; MessagesFile: "compiler:Languages\French.isl"
68 Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
69
70 [CustomMessages]
71 ;Web=You can visit our web site for more info
72
73 [Tasks]
74 Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; Components: Documentation RequiredFiles
75 Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1; Components: Documentation RequiredFiles
76 ;Name: "visitweb"; Description: "{cm:Web}"; GroupDescription: "{cm:Web}"; Flags: unchecked; Components: Documentation RequiredFiles; Languages: english french german greek spanish
77
78 [Files]
79 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
80 ; Executable
81 Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
82 Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
83 ; Appearance
84 ;Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
85 ;Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy
86 ; Repair/Modify
87 Source: "Tools\UninsHs.exe"; DestDir: {app}; Flags: restartreplace
88 ; Running Processes
89 ;Source: "Tools\IssProc.dll"; DestDir: {app}; Flags: restartreplace
90 ; DLL
91 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
92 Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
93 Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
94 Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
95 Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
96 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
97 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
98 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
99 Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
100 Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
101 Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
102 Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
103 Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
104 Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
105 Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
106 Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
107 Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
108 Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
109 Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
110 Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
111 Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
112 Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
113 ; Tortoise
114 Source: "TortoiseOverlays\License.txt"; DestDir: {cf}/\TortoiseOverlays; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
115 Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
116 Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
117 Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: {cf}/\TortoiseOverlays/icons/\XPStyle; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
118 ;Redistributables
119 Source: "Redistributables\*"; DestDir: {tmp}; Flags: ignoreversion deleteafterinstall
120 Source: "Redistributables\x86\msvcp100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
121 Source: "Redistributables\x86\msvcr100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
122 Source: "Redistributables\x64\msvcp100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
123 Source: "Redistributables\x64\msvcr100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
124 ; Wizard Images
125 Source: "Images\grnet-logo.bmp"; Flags: dontcopy
126 Source: "Images\account.bmp"; Flags: dontcopy
127
128 [Icons]
129 Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
130 Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
131 Name: "{group}\{cm:ProgramOnTheWeb,GRNET}"; Filename: "{#MyURL}"
132 ;Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
133 Name: "{group}\Uninstall {#MyAppName}"; Filename: "{app}\UninsHs.exe"; Parameters: /u0=AppId
134 Name: "{commonstartup}\{#MyStartupName}"; Filename: "{app}\{#MyAppExeName}"; Parameters: "startup"
135 Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
136 ;Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
137
138 [Run]
139 Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
140
141 [Registry]
142 ;Startup >>> Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Pithos+"; ValueData: """{app}\{#MyAppExeName}"""; Flags: createvalueifdoesntexist uninsdeletevalue
143 Root: "HKCR"; Subkey: "*\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: string; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}"
144
145 Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}"; ValueType: String; ValueData: "PithosContextMenu";  
146 Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}\InprocServer32"; ValueType: String; ValueData: "ThreadingModel";  
147 Root: "HKCR"; Subkey: "CLSID\{{0CFB4119-DABE-4E32-AB2D-2D41873BC599}\InprocServer32"; ValueType: String; ValueData: "{app}\PithosExtensions.dll";  
148
149 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
150 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\Implemented Categories";  
151 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
152 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
153 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";  
154 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
155 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
156 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
157 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
158 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String;  
159 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";  
160 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
161 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
162 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
163 Root: "HKCR"; Subkey: "CLSID\{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}\ProgId"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
164
165 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
166 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}";  
167 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
168 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";  
169 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
170 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll"; Components: RequiredFiles
171 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  
172 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
173 Root: "HKCR"; Subkey: "CLSID\{{11051AB4-D786-4248-BC6E-369F25EC74E4}\ProgId"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
174
175 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
176 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\Implemented Categories";  
177 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
178 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
179 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";  
180 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
181 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
182 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  Components: RequiredFiles
183 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
184 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String;  
185 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";  
186 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
187 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
188 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
189 Root: "HKCR"; Subkey: "CLSID\{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
190
191 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
192 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\Implemented Categories";  
193 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
194 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
195 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";  
196 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
197 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
198 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
199 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
200 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String;  
201 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";  
202 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
203 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
204 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
205 Root: "HKCR"; Subkey: "CLSID\{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
206
207 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
208 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\Implemented Categories";  
209 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
210 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
211 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";  
212 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
213 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
214 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
215 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
216 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String;  
217 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";  
218 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
219 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
220 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319";  Components: RequiredFiles
221 Root: "HKCR"; Subkey: "CLSID\{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
222
223 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
224 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\Implemented Categories";  
225 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
226 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueData: "mscoree.dll";  
227 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";  
228 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
229 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
230 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
231 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
232 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String;  
233 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";  
234 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
235 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
236 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
237 Root: "HKCR"; Subkey: "CLSID\{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
238
239 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
240 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\Implemented Categories";  
241 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; ValueType: String;  
242 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "(Default)"; ValueData: "mscoree.dll";  
243 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";  
244 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
245 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
246 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
247 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32"; ValueType: String; ValueName: "ThreadingModel"; ValueData: "Both";  
248 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "(Default)";  
249 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";  
250 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "Class"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
251 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
252 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "RuntimeVersion"; ValueData: "v4.0.30319"; Components: RequiredFiles
253 Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
254   
255 Root: "HKCR"; Subkey: "Directory\Background\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
256 Root: "HKCR"; Subkey: "Directory\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
257 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.FileContextMenu"; ValueType: String; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
258 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.FileContextMenu\CLSID"; ValueType: String; ValueData: "{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}";  
259 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Menus.FileContextMenu"; ValueType: String; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
260 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Menus.FileContextMenu\CLSID"; ValueType: String; ValueData: "{{B1F1405D-94A1-4692-B72F-FC8CAF8B8700}";  
261 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.AddedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.AddedIconOverlay";  
262 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.AddedIconOverlay\CLSID"; ValueType: String; ValueData: "{{EAD1663B-9A03-4E92-80D3-B01B981CD828}";  
263 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay";  
264 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ConflictIconOverlay\CLSID"; ValueType: String; ValueData: "{{3EFA16FC-C6B6-4673-BFEC-BD9518F1EFCE}";  
265 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay";  
266 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.DeletedIconOverlay\CLSID"; ValueType: String; ValueData: "{{11051AB4-D786-4248-BC6E-369F25EC74E4}";  
267 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay";  
268 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.ModifiedIconOverlay\CLSID"; ValueType: String; ValueData: "{{3D05BCB0-733B-49CD-B340-9D79C17C73CC}";  
269 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.NormalIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.NormalIconOverlay";  
270 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.NormalIconOverlay\CLSID"; ValueType: String; ValueData: "{{1941D8CA-2727-491B-BC03-9E8CA4FE972B}";  
271 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay";  
272 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedIconOverlay\CLSID"; ValueType: String; ValueData: "{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}";  
273 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedOverlay"; ValueType: String; ValueData: "Pithos.ShellExtensions.Overlays.UnversionedOverlay";  
274 Root: "HKCR"; Subkey: "Pithos.ShellExtensions.Overlays.UnversionedOverlay\CLSID"; ValueType: String; ValueData: "{{10CF08FE-1252-4AAB-BE78-971B0C5E8AE0}";  
275 ;
276 Root: "HKCU"; Subkey: "Software\{#Manufacturer}";  
277 Root: "HKLM"; Subkey: "Software\{#Manufacturer}\Pithos"; ValueType: dword; ValueName: "ShowOnlyInExplorer"; ValueData: "0";  
278 ;
279 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Added"; ValueType: String; ValueName: "Pithos"; ValueData: "{{ead1663b-9a03-4e92-80d3-b01b981cd828}";  
280 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Conflict"; ValueType: String; ValueName: "Pithos"; ValueData: "{{3efa16fc-c6b6-4673-bfec-bd9518f1efce}";  
281 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Deleted"; ValueType: String; ValueName: "Pithos"; ValueData: "{{11051AB4-D786-4248-BC6E-369F25EC74E4}";  
282 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Modified"; ValueType: String; ValueName: "Pithos"; ValueData: "{{3d05bcb0-733b-49cd-b340-9d79c17c73cc}"; Components: RequiredFiles
283 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Normal"; ValueType: String; ValueName: "Pithos"; ValueData: "{{1941d8ca-2727-491b-bc03-9e8ca4fe972b}";  
284 Root: "HKLM"; Subkey: "Software\TortoiseOverlays\Unversioned"; ValueType: String; ValueName: "Pithos"; ValueData: "{{10cf08fe-1252-4aab-be78-971b0c5e8ae0}";  
285
286 Root: "HKLM"; Subkey: "Software\{#Manufacturer}\{#MyAppName}\{{56EDB812-2F78-060D-D5D1-6AA27B1165A5}"; ValueType: String; ValueData: "_D9DCD31A441A4B7B845F98CB12D6BFBA"; Components: RequiredFiles
287
288 [Components]
289 Name: "RequiredFiles"; Description: "Required Files"; Types: Advanced Default; Flags: checkablealone fixed; Languages: english french german greek spanish
290 Name: "Documentation"; Description: "Documentation"; Types: Default Advanced; Flags: dontinheritcheck; Languages: english french german greek spanish
291
292 [Types]
293 Name: "Default"; Description: "Default Installation"; Languages: english french german greek spanish
294 Name: "Advanced"; Description: "Custom Installation"; Flags: iscustom; Languages: english german french greek spanish
295
296 [Dirs]
297 Name: "{cf}/\TortoiseOverlays"; Components: RequiredFiles; Tasks: desktopicon; Languages: english french german greek spanish
298 Name: "{cf}/\TortoiseOverlays/\icons"
299 Name: "{cf}/\TortoiseOverlays/icons/\XPStyle"
300
301
302 [Code]
303 const 
304   WM_QUIT = 18;
305   MyAppMutex = 'PITHOSMUTEX';
306   XMLURL = 'https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/versioninfo.xml';
307   XMLUpdate = 'MYLatest.xml';
308   
309 var 
310 dotNET40Missing: Boolean;
311        IsUpdate: Boolean;
312       UsagePage: TOutputMsgWizardPage;
313       Wz1, Wz2 : TOutputMsgWizardPage;
314          ChkBox: TCheckBox;
315         LicenseID: Integer;      
316
317 // IssFindModule called on in/uninstall
318 ///function IssFindModule(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;
319 ///external 'IssFindModuleW@files:IssProc.dll stdcall setuponly';
320
321 ///function IssFindModuleU(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;
322 ///external 'IssFindModuleW@{app}\IssProc.dll stdcall uninstallonly';
323
324 //Call this to enable search for any in use file type
325 ///function IssEnableAnyFileInUseCheck(Folder: String): Integer;
326 ///external 'IssEnableAnyFileInUseCheckW@files:IssProc.dll stdcall setuponly';
327
328 //IssEnableAnyFileInUseCheck called on uninstall
329 ///function IssEnableAnyFileInUseCheckU(Folder: String): Integer;
330 ///external 'IssEnableAnyFileInUseCheckW@{app}\IssProc.dll stdcall uninstallonly';
331
332 //Register for commercial use on install
333 ///function IssRegister(rName: PAnsiChar; rKey: PAnsiChar): Integer;
334 ///external 'IssRegister@files:IssProc.dll stdcall setuponly';
335
336 //Register for commercial use on uninstall
337 ///function IssRegisterU(rName: PAnsiChar; rKey: PAnsiChar): Integer;
338 ///external 'IssRegister@{app}\IssProc.dll stdcall uninstallonly';
339
340 // Importing LoadSkin API from ISSkin.DLL
341 //procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
342 //external 'LoadSkin@files:isskin.dll stdcall';
343
344 //procedure UnloadSkin();
345 //external 'UnloadSkin@files:isskin.dll stdcall';
346
347 // Importing ShowWindow Windows API from User32.DLL
348 function ShowWindow(hWnd: Integer; uType: Integer): Integer;
349 external 'ShowWindow@user32.dll stdcall';
350
351 function IsDotNetDetected(version: string; service: cardinal): boolean;
352 //    'v1.1.4322'     .NET Framework 1.1
353 //    'v2.0.50727'    .NET Framework 2.0
354 //    'v3.0'          .NET Framework 3.0
355 //    'v3.5'          .NET Framework 3.5
356 //    'v4\Client'     .NET Framework 4.0 Client Profile
357 //    'v4\Full'       .NET Framework 4.0 Full Installation
358 // service pack
359 //    0               No service packs required
360 //    1, 2, etc.      Service pack 1, 2, etc. required
361 //    if not IsDotNetDetected('v4\Client', 0) then begin
362 var
363     key: string;
364     install, serviceCount: cardinal;
365     success: boolean;
366    
367 begin
368     key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\' + version;
369     // .NET 3.0 uses value InstallSuccess in subkey Setup
370     if Pos('v3.0', version) = 1 then begin
371         success := RegQueryDWordValue(HKLM, key + '\Setup', 'InstallSuccess', install);
372     end else begin
373         success := RegQueryDWordValue(HKLM, key, 'Install', install);
374     end;
375     // .NET 4.0 uses value Servicing instead of SP
376     if Pos('v4', version) = 1 then begin
377         success := success and RegQueryDWordValue(HKLM, key, 'Servicing', serviceCount);
378     end else begin
379         success := success and RegQueryDWordValue(HKLM, key, 'SP', serviceCount);
380     end;
381     result := success and (install = 1) and (serviceCount >= service);
382 end;
383
384 function NextButtonClick(CurPage: Integer): Boolean;
385 var
386   hWnd: Integer;
387   sModuleName: String;
388   nCode: Integer;  {IssFindModule returns: 0 if no module found; 1 if cancel pressed; 2 if ignore pressed; -1 if an error occured }
389 begin
390   Result := true;
391
392  if CurPage = wpReady then
393    begin
394       Result := false;
395             
396       hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));                     { get main wizard handle }
397 ///      IssEnableAnyFileInUseCheck(ExpandConstant('{app}'));
398 ///      sModuleName :=ExpandConstant('pithos*.dll;PithosPlus.exe');            
399 ///      nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }
400      if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }
401           PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }
402      end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}
403           Result := true;                                                   { continue setup  }
404      end;
405   end;
406 end;
407
408 function InitializeSetup(): Boolean;
409 begin
410   //Unpack The Skin
411  //ExtractTemporaryFile('GRNETWhite.cjstyles');
412  //LoadSkin(ExpandConstant('{tmp}\GRNETWhite.cjstyles'), '');
413     
414   // Test the presence of .NET 4.0
415   if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then
416       dotNET40Missing := True;
417     
418   Result := True;
419 end;
420
421 procedure DeinitializeSetup();
422 begin
423   //Hide Window widget
424   //ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
425   //UnloadSkin();
426 end;
427
428 function ShouldInstalldotNET40(): Boolean;
429 begin
430     Result := dotNET40Missing;
431 end;
432
433 procedure CurPageChanged(CurPageID: Integer);
434 begin
435   if CurPageID = wpInstalling then
436     IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}'));
437   if CurPageID = LicenseID then
438     Wizardform.NextButton.Enabled := False;
439   if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then
440     WizardForm.BackButton.Visible := False;
441 end;
442
443 function NotAnUpdate: Boolean;
444 begin
445   result := not IsUpdate;
446 end;
447
448 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
449 var
450 mRes : integer;
451 begin
452   case CurUninstallStep of
453     usUninstall:
454       begin
455         mRes := MsgBox('Do you want to remove your settings?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2)
456         if mRes = IDYES then
457           begin            
458             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PithosPlus.exe_StrongName_1vmy3hmn3mscykecwcnmpvno4d4mqi52',true,true,true);     
459             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PITHOS\',true,true,true);
460             
461           End
462         else
463           MsgBox ('Settings will not be removed', mbInformation, MB_OK);        
464       end;
465   end;
466 end;
467
468 procedure BitmapImageOnClick(Sender: TObject);
469 var
470   ErrCode: integer;
471 begin
472   ShellExec('open', 'http://pithos.grnet.gr','', '', SW_SHOW, ewNoWait, ErrCode);
473 end;
474
475 procedure LicenseOnClick(Sender: TObject);
476 begin
477   if chkBox.checked Then
478   Wizardform.NextButton.Enabled := True else
479   Wizardform.NextButton.Enabled := False;  
480 end;
481
482 procedure CreateTheWizardPages;
483 var
484   Page: TWizardPage;
485   Button, FormButton: TNewButton;
486   BitmapImage,BitmapImage1: TBitmapImage;
487   BitmapFileName: String;
488   Memo: TMemo;
489   LabelWz: TLabel;
490
491 begin  
492   Page := CreateCustomPage(wpWelcome, 'GRNET Pithos+ Dev Build {#MyAppVersion}', 'Software License');
493   BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');
494   ExtractTemporaryFile(ExtractFileName(BitmapFileName));
495   
496   Page.Surface.Color := clWhite;
497   BitmapImage := TBitmapImage.Create(Page);
498   BitmapImage.AutoSize := True;
499   BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
500   BitmapImage.Cursor := crHand;
501   BitmapImage.Left := (Page.Surfacewidth - BitmapImage.Width) / 2;
502   BitmapImage.Top := Page.Surface.Top;
503   BitmapImage.OnClick := @BitmapImageOnClick;
504   BitmapImage.Parent := Page.Surface;
505   
506   Memo := TMemo.Create(Page);
507   Memo.Top := BitmapImage.Height;
508   Memo.Width := Page.SurfaceWidth;
509   Memo.Height := Page.SurfaceHeight - (BitmapImage.Height + 20);
510   Memo.ScrollBars := ssVertical;
511   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.';
512   Memo.Parent := Page.Surface;
513   
514   ChkBox := TCheckBox.Create(Page);
515   ChkBox.Top := BitmapImage.Height + Memo.Height;
516   ChkBox.Width := Page.SurfaceWidth;
517   ChkBox.Caption := 'I agree with the above terms';
518   ChkBox.Checked := cbUnChecked;
519   chkBox.OnClick := @LicenseOnClick;
520   ChkBox.Parent := Page.Surface;
521   LicenseID := Page.ID;
522   
523   Page := CreateCustomPage(wpInfoAfter, 'First Steps', 'Setup your account');
524   BitmapFileName := ExpandConstant('{tmp}\account.bmp');
525   ExtractTemporaryFile(ExtractFileName(BitmapFileName));
526
527   Page.Surface.Color := clWhite;
528
529   LabelWz := Tlabel.Create(Page);
530   LabelWz.Top := Page.Surface.Top;
531   LabelWz.Caption := 'To setup your account right click on the Pithos+ icon in the taskbar.';
532   LabelWz.Parent := Page.Surface;
533   
534   BitmapImage1 := TBitmapImage.Create(Page);
535   BitmapImage1.width := Page.SurfaceWidth;
536   BitmapImage1.height := Page.SurfaceHeight;
537   BitmapImage1.Bitmap.LoadFromFile(BitmapFileName);
538   BitmapImage1.Left := 0;
539   BitmapImage1.Top := Page.Surface.Top + LabelWz.Height;
540   BitmapImage1.Parent := Page.Surface;
541 end;
542
543 procedure InitializeWizard;
544 var
545 winHwnd: longint;
546 retVal : boolean;
547 strProg: string;
548 begin
549   winHwnd := FindWindowByClassName('{MyAppMutex}');
550   if winHwnd<>0 then begin { no module found or ignore pressed}
551       msgbox('mutexfound', mbInformation,mb_OK);
552       postmessage(winHwnd,WM_QUIT,0,0);
553    //abort();
554   end;
555   CreateTheWizardPages; 
556 end;
557
558 function ShouldSkipPage(CurPage: Integer): Boolean;
559     begin
560       if Pos('/SP-', UpperCase(GetCmdTail)) > 0 then
561         case CurPage of
562           wpLicense, wpPassword, wpInfoBefore, wpUserInfo,
563           wpSelectDir, wpSelectProgramGroup, wpInfoAfter:
564             Result := True;
565         end;
566     end;
567     
568 [Run]
569 ;Kill Running Task from older versions
570 Filename: cmd; parameters: /c taskkill /f /im pithos.exe; Flags: runhidden
571 Filename: cmd; parameters: /c taskkill /f /im pithos.client.WPF.exe; Flags: runhidden
572 ;Launch Redist
573 Filename: {tmp}\dotNetFx40_Client_setup.exe; Description: Install Microsoft .Net Framework 4.0; Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40
574 Filename: {app}\UninsHs.exe; Parameters: /r0=AppId,{language},{srcexe}; Flags: runminimized