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