Revision 479e9af2

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

  
50 60
[Languages]
51 61
Name: "english"; MessagesFile: "compiler:Default.isl"
......
65 75
[Files]
66 76
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
67 77
; Executable
68
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
69
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
78
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Tasks: desktopicon; Languages: english french german spanish greek
79
Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
80
; Appearance
81
Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
82
Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy
83
; Repair/Modify
84
Source: "Tools\UninsHs.exe"; DestDir: "{app}"; Flags: restartreplace
85
; Running Processes
86
Source: "Tools\IssProc.dll"; DestDir: {tmp}; Flags: dontcopy
70 87
; DLL
71
Source: "..\Pithos.ShellExtensions\bin\x86\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
72
Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
73
Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
74
Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
75
Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
76
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
77
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
78
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
79
Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
80
Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
81
Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
82
Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
83
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
84
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
85
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.Search.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
86
Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
87
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
88
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
89
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
90
Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
91
Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
92
Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
93
Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
88
Source: "..\Pithos.ShellExtensions\bin\x86\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
89
Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
90
Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
91
Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
92
Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
93
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
94
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
95
Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
96
Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
97
Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
98
Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
99
Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
100
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
101
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
102
Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.Search.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
103
Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
104
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
105
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
106
Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
107
Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
108
Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
109
Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
110
Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
94 111
; Tortoise
95 112
Source: "TortoiseOverlays\License.txt"; DestDir: "{cf}/\TortoiseOverlays"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
96
Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
97
Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
113
Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode
114
Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode
98 115
Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: "{cf}/\TortoiseOverlays/icons/\XPStyle"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek
99 116
;Redistributables
100 117
Source: "Redistributables\*"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
......
110 127
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
111 128
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
112 129
Name: "{group}\{cm:ProgramOnTheWeb,GRNET}"; Filename: "{#MyURL}"
113
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
130
;Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
131
Name: "{group}\Uninstall {#MyAppName}"; Filename: "{app}\UninsHs.exe"; Parameters: /u0=AppId
114 132
Name: "{commonstartup}\{#MyStartupName}"; Filename: "{app}\{#MyAppExeName}"; Parameters: "startup"
115 133
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
116 134
;Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
......
231 249
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\InprocServer32\1.0.0.0"; ValueType: String; ValueName: "CodeBase"; ValueData: "{app}\Pithos.ShellExtensions.dll";  
232 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
233 251
Root: "HKCR"; Subkey: "CLSID\{{EAD1663B-9A03-4E92-80D3-B01B981CD828}\ProgId"; ValueType: String; ValueName: "(Default)"; ValueData: "Pithos.ShellExtensions.Overlays.AddedIcodOverlay";  
234
;Root: "HKCR"; Subkey: "Software\Classes\CLSID\{{C5994560-53D9-4125-87C9-F193FC689CB2}"; ValueType: "String"; ValueData: "*";  
235
;Root: "HKCR"; Subkey: "Software\Classes\CLSID\{{C5994560-53D9-4125-87C9-F193FC689CB2}"; ValueType: "String"; ValueData: "TortoiseSVN";  
236
;Root: "HKCR"; Subkey: "Software\Classes\CLSID\{{C5994560-53D9-4125-87C9-F193FC689CB2}\InProcServer32"; ValueType: "String"; ValueData: "ThreadingModel";  
237
;Root: "HKCR"; Subkey: "Software\Classes\CLSID\{{C5994560-53D9-4125-87C9-F193FC689CB2}\InProcServer32"; ValueType: "String"; ValueData: "[CommonFilesFolder.9D3DBC93_494B_45A8_88D7_430AB5568B0F]TortoiseOverlays\TortoiseOverlays.dll";  
252
  
238 253
Root: "HKCR"; Subkey: "Directory\Background\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
239 254
Root: "HKCR"; Subkey: "Directory\shellex\ContextMenuHandlers\Pithos.FileContextMenu"; ValueType: String; ValueData: "{{b1f1405d-94a1-4692-b72f-fc8caf8b8700}";  
240 255
Root: "HKCR"; Subkey: "Pithos.ShellExtensions.FileContextMenu"; ValueType: String; ValueData: "Pithos.ShellExtensions.Menus.FileContextMenu";  
......
297 312
         ChkBox: TCheckBox;
298 313
        LicenseID: Integer;      
299 314

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

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

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

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

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

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

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

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

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

  
300 349
function IsDotNetDetected(version: string; service: cardinal): boolean;
301 350
//    'v1.1.4322'     .NET Framework 1.1
302 351
//    'v2.0.50727'    .NET Framework 2.0
......
330 379
    result := success and (install = 1) and (serviceCount >= service);
331 380
end;
332 381

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

  
390
 if CurPage = wpReady then
391
   begin
392
      Result := false;
393
            
394
      hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));                     { get main wizard handle }
395
      IssEnableAnyFileInUseCheck(ExpandConstant('{app}'));
396
      sModuleName :=ExpandConstant('{app}*;pithos*.exe;PithosPlus.exe');      
397
      
398
      nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }
399

  
400
     if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }
401
          PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }
402
     end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}
403
          Result := true;                                                   { continue setup  }
404
     end;
405

  
406
  end;
407

  
408
end;
409

  
333 410
function InitializeSetup(): Boolean;
334 411
begin
335
    // Test the presence of .NET 4.0
336
    if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then
337
        dotNET40Missing := True;
412
  //Unpack The Skin
413
  ExtractTemporaryFile('GRNETWhite.msstyles');
414
  LoadSkin(ExpandConstant('{tmp}\GRNETWhite.msstyles'), '');
415
    
416
  // Test the presence of .NET 4.0
417
  if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then
418
      dotNET40Missing := True;
419
    
420
  Result := True;
421
end;
338 422

  
339
    Result := True;
423
procedure DeinitializeSetup();
424
begin
425
  //Hide Window widget
426
  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
427
  UnloadSkin();
340 428
end;
341 429

  
342 430
function ShouldInstalldotNET40(): Boolean;
......
350 438
    IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}'));
351 439
  if CurPageID = LicenseID then
352 440
    Wizardform.NextButton.Enabled := False;
353

  
441
  if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then
442
    WizardForm.BackButton.Visible := False;
354 443
end;
355 444

  
356 445
function NotAnUpdate: Boolean;
......
427 516
  ChkBox := TCheckBox.Create(Page);
428 517
  ChkBox.Top := BitmapImage.Height + Memo.Height;
429 518
  ChkBox.Width := Page.SurfaceWidth;
430
  ChkBox.Caption := 'I Agree with the GRNET licese';
519
  ChkBox.Caption := 'I agree with the licese agreement';
431 520
  ChkBox.Checked := cbUnChecked;
432 521
  chkBox.OnClick := @LicenseOnClick;
433 522
  ChkBox.Parent := Page.Surface;
......
467 556
  CreateTheWizardPages; 
468 557
end;
469 558

  
559
function ShouldSkipPage(CurPage: Integer): Boolean;
560
    begin
561
      if Pos('/SP-', UpperCase(GetCmdTail)) > 0 then
562
        case CurPage of
563
          wpLicense, wpPassword, wpInfoBefore, wpUserInfo,
564
          wpSelectDir, wpSelectProgramGroup, wpInfoAfter:
565
            Result := True;
566
        end;
567
    end;
568
    
470 569
[Run]
471 570
;Kill Running Task
472 571
Filename: cmd; parameters: /c taskkill /f /im pithos.exe;Flags: runhidden
473 572
Filename: cmd; parameters: /c taskkill /f /im pithos.client.WPF.exe;Flags: runhidden
474 573
;Launch Redist
475
Filename: {tmp}\dotNetFx40_Client_setup.exe; Description: Install Microsoft .Net Framework 4.0; Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40
574
Filename: {tmp}\dotNetFx40_Client_setup.exe; Description: Install Microsoft .Net Framework 4.0; Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40
575
Filename: {app}\UninsHs.exe; Parameters: /r0=AppId,{language},{srcexe}; Flags: runminimized
b/trunk/Pithos.Installer/PithosPlus.~is
1
; Script generated by the Inno Setup Script Wizard.
2
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  
299

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

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

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

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

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

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

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

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

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

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

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

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

  
390
 if CurPage = wpReady then
391
   begin
392
      Result := false;
393
            
394
      hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));                     { get main wizard handle }
395
      IssEnableAnyFileInUseCheck(ExpandConstant('{app}'));
396
      sModuleName :=ExpandConstant('{app}*;pithos*.exe;PithosPlus.exe');      
397
      
398
      nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }
399

  
400
     if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }
401
          PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }
402
     end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}
403
          Result := true;                                                   { continue setup  }
404
     end;
405

  
406
  end;
407

  
408
end;
409

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

  
423
procedure DeinitializeSetup();
424
begin
425
  //Hide Window widget
426
  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
427
  UnloadSkin();
428
end;
429

  
430
function ShouldInstalldotNET40(): Boolean;
431
begin
432
    Result := dotNET40Missing;
433
end;
434

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

  
445
function NotAnUpdate: Boolean;
446
begin
447
  result := not IsUpdate;
448
end;
449

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

  
470
procedure BitmapImageOnClick(Sender: TObject);
471
var
472
  ErrCode: integer;
473
begin
474
  ShellExec('open', 'http://pithos.grnet.gr','', '', SW_SHOW, ewNoWait, ErrCode);
475
end;
476

  
477
procedure LicenseOnClick(Sender: TObject);
478
begin
479
  if chkBox.checked Then
480
  Wizardform.NextButton.Enabled := True else
481
  Wizardform.NextButton.Enabled := False;  
482
end;
483

  
484
procedure CreateTheWizardPages;
485
var
486
  Page: TWizardPage;
487
  Button, FormButton: TNewButton;
488
  BitmapImage,BitmapImage1: TBitmapImage;
489
  BitmapFileName: String;
490
  Memo: TMemo;
491
  LabelWz: TLabel;
492

  
493
begin  
494
  Page := CreateCustomPage(wpWelcome, 'GRNET Pithos+ Dev Build {#MyAppVersion}', 'Software License');
495
  BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');
496
  ExtractTemporaryFile(ExtractFileName(BitmapFileName));
497
  
498
  Page.Surface.Color := clWhite;
499
  BitmapImage := TBitmapImage.Create(Page);
500
  BitmapImage.AutoSize := True;
501
  BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
502
  BitmapImage.Cursor := crHand;
503
  BitmapImage.Left := (Page.Surfacewidth - BitmapImage.Width) / 2;
504
  BitmapImage.Top := Page.Surface.Top;
505
  BitmapImage.OnClick := @BitmapImageOnClick;
506
  BitmapImage.Parent := Page.Surface;
507
  
508
  Memo := TMemo.Create(Page);
509
  Memo.Top := BitmapImage.Height;
510
  Memo.Width := Page.SurfaceWidth;
511
  Memo.Height := Page.SurfaceHeight - (BitmapImage.Height + 20);
512
  Memo.ScrollBars := ssVertical;
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.';
514
  Memo.Parent := Page.Surface;
515
  
516
  ChkBox := TCheckBox.Create(Page);
517
  ChkBox.Top := BitmapImage.Height + Memo.Height;
518
  ChkBox.Width := Page.SurfaceWidth;
519
  ChkBox.Caption := 'I agree with the licese agreement';
520
  ChkBox.Checked := cbUnChecked;
521
  chkBox.OnClick := @LicenseOnClick;
522
  ChkBox.Parent := Page.Surface;
523
  LicenseID := Page.ID;
524
  
525
  Page := CreateCustomPage(wpInfoAfter, 'First Steps', 'Setup your account');
526
  BitmapFileName := ExpandConstant('{tmp}\account.bmp');
527
  ExtractTemporaryFile(ExtractFileName(BitmapFileName));
528

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

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

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

  
3
 
4
This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity), the end-user, and rlByte Software Development, the author of  IssProc component ("Author"). This EULA permits you to use a single copy, or multiples copies of the software product identified above, which includes computer software and may include associated media, printed materials, and on-line or electronic documentation ("SOFTWARE PRODUCT").
5

  
6
By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bounded by the terms of this EULA. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.
7

  
8
SOFTWARE PRODUCT LICENSE
9

  
10
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
11

  
12
1. GRANT OF LICENSE. The SOFTWARE PRODUCT is licensed as a single product, to an individual user, or group of users for multiple user licenses and site licenses. This agreement requires that each user of the program be licensed, either individually, or as part of a group. A multi-user license provides for a specified number of users to use the SOFTWARE PRODUCT at any time. This does not provide for concurrent user licensing unless specifically agreed upon and ordered as such at an additional cost above the normal licensing fee. Each user of this program must be covered either individually, or as part of a group multi-user license. The SOFTWARE PRODUCT is considered in use on a computer when it is loaded into temporary memory or installed into permanent memory. This license may not be assigned or otherwise transferred without prior written consent from the Author, and any unauthorized transfer is null and void.
13

  
14
2. LICENSING. 
15

  
16
* You may use the product on commercial applications by purchasing a commercial license. A commercial application means:
17

  
18
  a) any application which is built, owned or maintained by a profit-making person or organization, even if the application does not generate revenue;
19

  
20
  b) any application which generates revenue, even if it is otherwise non-commercial;
21

  
22
  c) any government, government-agency or political-party applications.
23

  
24
 
25

  
26
* You may use the product on non-commercial applications free of charge subject to the terms of this license. A non-commercial application means:
27

  
28
  a) personal or hobby application which generate no revenue (whether from advertising, commissions, sales or any other source);
29

  
30
  b) applications owned and maintained by charitable or not-for-profit organizations;
31

  
32
  c) applications owned and maintained by a school, college or other educational institution.
33

  
34
 
35

  
36
 
37

  
38
3. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
39

  
40
* Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
41

  
42
* Separation of Component. The SOFTWARE PRODUCT is licensed as a single product. Its component parts may not be separated for use on more than one computer.
43

  
44
* Termination. Without prejudice to any other rights, the Author may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
45

  
46
4. DISCLAIMER OF WARRANTIES.
47

  
48
* No Warranties. The Author expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided "AS IS" without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or non infringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
49

  
50
* No Liability for Damages. In no event shall the Author be liable for any special, consequential, incidental or indirect damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if the Author is aware of the possibility of such damages and known defects.
51

  
52
5. COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by the Author.
53

  
54
All versions of the SOFTWARE PRODUCT are protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The sole property belongs to rlByte Software Development. The SOFTWARE PRODUCT may not be duplicated, sold, distributed or utilized in any manner not described herein without the prior written consent of the Author.
55
 
56

  
57
 
58
 

Also available in: Unified diff