Fixed bug that didn't record skipped uploads, resulting in repeated upload attempts...
[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\pithos_logo-square-icon-35.bmp\r
46 WizardImageBackColor=$FFFFFF\r
47 VersionInfoVersion={#MyAppVersion}\r
48 MinVersion=0,5.01sp3\r
49 ArchitecturesInstallIn64BitMode=x64\r
50 AppMutex=PITHOSMUTEX\r
51 OutputDir=Output\\r
52 SetupLogging=true\r
53 UninstallLogMode=append\r
54 VersionInfoCompany=GRNET\r
55 VersionInfoDescription=Pithos Plus\r
56 VersionInfoCopyright=(c) 2011-2012 GRNET\r
57 VersionInfoProductName=Pitho Plus\r
58 VersionInfoProductVersion=1\r
59 AppModifyPath="{app}\UninsHs.exe" /m0=AppId\r
60 \r
61 [Languages]\r
62 Name: "english"; MessagesFile: "compiler:Default.isl"\r
63 Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"\r
64 Name: "german"; MessagesFile: "compiler:Languages\German.isl"\r
65 Name: "french"; MessagesFile: "compiler:Languages\French.isl"\r
66 Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"\r
67 \r
68 [CustomMessages]\r
69 ;Web=You can visit our web site for more info\r
70 \r
71 [Tasks]\r
72 Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; Components: Documentation RequiredFiles\r
73 Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1; Components: Documentation RequiredFiles\r
74 ;Name: "visitweb"; Description: "{cm:Web}"; GroupDescription: "{cm:Web}"; Flags: unchecked; Components: Documentation RequiredFiles; Languages: english french german greek spanish\r
75 \r
76 [Files]\r
77 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files\r
78 ; Executable\r
79 Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
80 Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
81 ; Appearance\r
82 Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy\r
83 Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy\r
84 ; Repair/Modify\r
85 Source: "Tools\UninsHs.exe"; DestDir: {app}; Flags: restartreplace\r
86 ; Running Processes\r
87 Source: "Tools\IssProc.dll"; DestDir: {app}; Flags: restartreplace\r
88 ; DLL\r
89 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
90 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
91 Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
92 Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
93 Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
94 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
95 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
96 Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
97 Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
98 Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
99 Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
100 Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
101 Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
102 Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.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('pithos*.dll;PithosPlus.exe');            \r
397       nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }\r
398      if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }\r
399           PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }\r
400      end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}\r
401           Result := true;                                                   { continue setup  }\r
402      end;\r
403   end;\r
404 end;\r
405 \r
406 function InitializeSetup(): Boolean;\r
407 begin\r
408   //Unpack The Skin\r
409   ExtractTemporaryFile('GRNETWhite.cjstyles');\r
410   LoadSkin(ExpandConstant('{tmp}\GRNETWhite.cjstyles'), '');\r
411     \r
412   // Test the presence of .NET 4.0\r
413   if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then\r
414       dotNET40Missing := True;\r
415     \r
416   Result := True;\r
417 end;\r
418 \r
419 procedure DeinitializeSetup();\r
420 begin\r
421   //Hide Window widget\r
422   ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);\r
423   UnloadSkin();\r
424 end;\r
425 \r
426 function ShouldInstalldotNET40(): Boolean;\r
427 begin\r
428     Result := dotNET40Missing;\r
429 end;\r
430 \r
431 procedure CurPageChanged(CurPageID: Integer);\r
432 begin\r
433   if CurPageID = wpInstalling then\r
434     IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}'));\r
435   if CurPageID = LicenseID then\r
436     Wizardform.NextButton.Enabled := False;\r
437   if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then\r
438     WizardForm.BackButton.Visible := False;\r
439 end;\r
440 \r
441 function NotAnUpdate: Boolean;\r
442 begin\r
443   result := not IsUpdate;\r
444 end;\r
445 \r
446 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);\r
447 var\r
448 mRes : integer;\r
449 begin\r
450   case CurUninstallStep of\r
451     usUninstall:\r
452       begin\r
453         mRes := MsgBox('Do you want to remove your settings?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2)\r
454         if mRes = IDYES then\r
455           begin            \r
456             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PithosPlus.exe_StrongName_1vmy3hmn3mscykecwcnmpvno4d4mqi52',true,true,true);     \r
457             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PITHOS\',true,true,true);\r
458             \r
459           End\r
460         else\r
461           MsgBox ('Settings will not be removed', mbInformation, MB_OK);        \r
462       end;\r
463   end;\r
464 end;\r
465 \r
466 procedure BitmapImageOnClick(Sender: TObject);\r
467 var\r
468   ErrCode: integer;\r
469 begin\r
470   ShellExec('open', 'http://pithos.grnet.gr','', '', SW_SHOW, ewNoWait, ErrCode);\r
471 end;\r
472 \r
473 procedure LicenseOnClick(Sender: TObject);\r
474 begin\r
475   if chkBox.checked Then\r
476   Wizardform.NextButton.Enabled := True else\r
477   Wizardform.NextButton.Enabled := False;  \r
478 end;\r
479 \r
480 procedure CreateTheWizardPages;\r
481 var\r
482   Page: TWizardPage;\r
483   Button, FormButton: TNewButton;\r
484   BitmapImage,BitmapImage1: TBitmapImage;\r
485   BitmapFileName: String;\r
486   Memo: TMemo;\r
487   LabelWz: TLabel;\r
488 \r
489 begin  \r
490   Page := CreateCustomPage(wpWelcome, 'GRNET Pithos+ Dev Build {#MyAppVersion}', 'Software License');\r
491   BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');\r
492   ExtractTemporaryFile(ExtractFileName(BitmapFileName));\r
493   \r
494   Page.Surface.Color := clWhite;\r
495   BitmapImage := TBitmapImage.Create(Page);\r
496   BitmapImage.AutoSize := True;\r
497   BitmapImage.Bitmap.LoadFromFile(BitmapFileName);\r
498   BitmapImage.Cursor := crHand;\r
499   BitmapImage.Left := (Page.Surfacewidth - BitmapImage.Width) / 2;\r
500   BitmapImage.Top := Page.Surface.Top;\r
501   BitmapImage.OnClick := @BitmapImageOnClick;\r
502   BitmapImage.Parent := Page.Surface;\r
503   \r
504   Memo := TMemo.Create(Page);\r
505   Memo.Top := BitmapImage.Height;\r
506   Memo.Width := Page.SurfaceWidth;\r
507   Memo.Height := Page.SurfaceHeight - (BitmapImage.Height + 20);\r
508   Memo.ScrollBars := ssVertical;\r
509   Memo.Text := 'This software is provided by GRNET S.A. "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall GRNET S.A. or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.';\r
510   Memo.Parent := Page.Surface;\r
511   \r
512   ChkBox := TCheckBox.Create(Page);\r
513   ChkBox.Top := BitmapImage.Height + Memo.Height;\r
514   ChkBox.Width := Page.SurfaceWidth;\r
515   ChkBox.Caption := 'I agree with the above terms';\r
516   ChkBox.Checked := cbUnChecked;\r
517   chkBox.OnClick := @LicenseOnClick;\r
518   ChkBox.Parent := Page.Surface;\r
519   LicenseID := Page.ID;\r
520   \r
521   Page := CreateCustomPage(wpInfoAfter, 'First Steps', 'Setup your account');\r
522   BitmapFileName := ExpandConstant('{tmp}\account.bmp');\r
523   ExtractTemporaryFile(ExtractFileName(BitmapFileName));\r
524 \r
525   Page.Surface.Color := clWhite;\r
526 \r
527   LabelWz := Tlabel.Create(Page);\r
528   LabelWz.Top := Page.Surface.Top;\r
529   LabelWz.Caption := 'To setup your account right click on the Pithos+ icon in the taskbar.';\r
530   LabelWz.Parent := Page.Surface;\r
531   \r
532   BitmapImage1 := TBitmapImage.Create(Page);\r
533   BitmapImage1.width := Page.SurfaceWidth;\r
534   BitmapImage1.height := Page.SurfaceHeight;\r
535   BitmapImage1.Bitmap.LoadFromFile(BitmapFileName);\r
536   BitmapImage1.Left := 0;\r
537   BitmapImage1.Top := Page.Surface.Top + LabelWz.Height;\r
538   BitmapImage1.Parent := Page.Surface;\r
539 end;\r
540 \r
541 procedure InitializeWizard;\r
542 var\r
543 winHwnd: longint;\r
544 retVal : boolean;\r
545 strProg: string;\r
546 begin\r
547   winHwnd := FindWindowByClassName('{MyAppMutex}');\r
548   if winHwnd<>0 then begin { no module found or ignore pressed}\r
549       msgbox('mutexfound', mbInformation,mb_OK);\r
550       postmessage(winHwnd,WM_QUIT,0,0);\r
551    //abort();\r
552   end;\r
553   CreateTheWizardPages; \r
554 end;\r
555 \r
556 function ShouldSkipPage(CurPage: Integer): Boolean;\r
557     begin\r
558       if Pos('/SP-', UpperCase(GetCmdTail)) > 0 then\r
559         case CurPage of\r
560           wpLicense, wpPassword, wpInfoBefore, wpUserInfo,\r
561           wpSelectDir, wpSelectProgramGroup, wpInfoAfter:\r
562             Result := True;\r
563         end;\r
564     end;\r
565     \r
566 [Run]\r
567 ;Kill Running Task from older versions\r
568 Filename: cmd; parameters: /c taskkill /f /im pithos.exe; Flags: runhidden\r
569 Filename: cmd; parameters: /c taskkill /f /im pithos.client.WPF.exe; Flags: runhidden\r
570 ;Launch Redist\r
571 Filename: {tmp}\dotNetFx40_Client_setup.exe; Description: Install Microsoft .Net Framework 4.0; Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40\r
572 Filename: {app}\UninsHs.exe; Parameters: /r0=AppId,{language},{srcexe}; Flags: runminimized