ISS Fixes
[pithos-ms-client] / trunk / Pithos.Installer / PithosPlus.iss
index 8b89b43..0045ae2 100644 (file)
@@ -43,6 +43,7 @@ AppReadmeFile=My Readme
 UninstallDisplayIcon={app}\PithosPlus.exe\r
 WizardImageFile=Images\ppWZDImage.bmp\r
 WizardSmallImageFile=Images\pithos_logo-square-icon-35.bmp\r
+WizardImageBackColor=$FFFFFF\r
 VersionInfoVersion={#MyAppVersion}\r
 MinVersion=0,5.01sp3\r
 ArchitecturesInstallIn64BitMode=x64\r
@@ -53,9 +54,12 @@ UninstallLogMode=append
 VersionInfoCompany=GRNET\r
 VersionInfoDescription=Pithos Plus\r
 VersionInfoCopyright=(c) 2011-2012 GRNET\r
-VersionInfoProductName=Pitho Plus\r
+VersionInfoProductName=Pithos Plus\r
 VersionInfoProductVersion=1\r
 AppModifyPath="{app}\UninsHs.exe" /m0=AppId\r
+CloseApplicationsFilter="*.*"\r
+CloseApplications=true\r
+RestartApplications=true\r
 \r
 [Languages]\r
 Name: "english"; MessagesFile: "compiler:Default.isl"\r
@@ -75,56 +79,75 @@ Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescrip
 [Files]\r
 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files\r
 ; Executable\r
-Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-; Appearance\r
-Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy\r
-Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy\r
+Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
 ; Repair/Modify\r
-Source: "Tools\UninsHs.exe"; DestDir: {app}; Flags: restartreplace\r
-; Running Processes\r
-Source: "Tools\IssProc.dll"; DestDir: {app}; Flags: restartreplace\r
+Source: "Tools\UninsHs.exe"; DestDir: "{app}"; Flags: restartreplace\r
+\r
 ; DLL\r
-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
-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
-Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.Search.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-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
-Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.ShellExtensions\bin\x86\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
+Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
+Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Microsoft.CompilerServices.AsyncTargetingPack.Net4.xml"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+\r
+Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SqlServerCe.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceca40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlcecompact40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceer40EN.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceme40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceqp40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlcese40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+\r
+Source: "..\Pithos.Client.WPF\bin\Debug\x86\Microsoft.VC90.CRT\msvcr90.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+\r
+;Source: "..\Pithos.Client.WPF\x86\SQLite.Interop.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+;Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+\r
+Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+\r
+Source: "..\Pithos.Client.WPF\bin\Debug\System.Net.Http.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\System.Net.Http.xml"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
 ; Tortoise\r
-Source: "TortoiseOverlays\License.txt"; DestDir: {cf}/\TortoiseOverlays; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
-Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
-Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: {cf}/\TortoiseOverlays/icons/\XPStyle; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "TortoiseOverlays\License.txt"; DestDir: "{cf}/\TortoiseOverlays"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
+Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
+Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: "{cf}/\TortoiseOverlays/icons/\XPStyle"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
+; OpenSSL\r
+Source: "..\Pithos.Client.WPF\bin\Debug\ManagedOpenSsl.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+Source: "..\Pithos.Client.WPF\bin\Debug\libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
+; Manual\r
+Source: "..\Pithos.Manual\Pithos+.chm"; DestDir: "{app}"; Flags: ignoreversion; Components: Documentation; Languages: english french german spanish greek\r
 ;Redistributables\r
-Source: "Redistributables\*"; DestDir: {tmp}; Flags: ignoreversion deleteafterinstall\r
-Source: "Redistributables\x86\msvcp100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
-Source: "Redistributables\x86\msvcr100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
-Source: "Redistributables\x64\msvcp100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
-Source: "Redistributables\x64\msvcr100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
+Source: "Redistributables\dotNetFx40_Client_setup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall\r
+Source: "Redistributables\x86\msvcp100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
+Source: "Redistributables\x86\msvcr100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode\r
+Source: "Redistributables\x64\msvcp100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
+Source: "Redistributables\x64\msvcr100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode\r
 ; Wizard Images\r
 Source: "Images\grnet-logo.bmp"; Flags: dontcopy\r
 Source: "Images\account.bmp"; Flags: dontcopy\r
 \r
 [Icons]\r
 Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"\r
+Name: "{group}\{#MyAppName} Manual"; Filename: "{app}\Pithos+.chm"\r
 Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"\r
 Name: "{group}\{cm:ProgramOnTheWeb,GRNET}"; Filename: "{#MyURL}"\r
 ;Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"\r
@@ -305,46 +328,53 @@ const
   XMLUpdate = 'MYLatest.xml';\r
   \r
 var \r
-dotNET40Missing: Boolean;\r
-       IsUpdate: Boolean;\r
-      UsagePage: TOutputMsgWizardPage;\r
-      Wz1, Wz2 : TOutputMsgWizardPage;\r
-         ChkBox: TCheckBox;\r
-        LicenseID: Integer;      \r
-\r
-// IssFindModule called on in/uninstall\r
-function IssFindModule(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;\r
-external 'IssFindModuleW@files:IssProc.dll stdcall setuponly';\r
-\r
-function IssFindModuleU(hWnd: Integer; Modulename: String; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;\r
-external 'IssFindModuleW@{app}\IssProc.dll stdcall uninstallonly';\r
+    dotNET40Missing: Boolean;\r
+           IsUpdate: Boolean;\r
+          UsagePage: TOutputMsgWizardPage;\r
+           Wz1, Wz2: TOutputMsgWizardPage;\r
+             ChkBox: TCheckBox;\r
+          LicenseID: Integer;  \r
+ InstallBottomPanel: TPanel;          \r
+InnerNotebookBounds: TRect;\r
+OuterNotebookBounds: TRect;\r
 \r
-//Call this to enable search for any in use file type\r
-function IssEnableAnyFileInUseCheck(Folder: String): Integer;\r
-external 'IssEnableAnyFileInUseCheckW@files:IssProc.dll stdcall setuponly';\r
-\r
-//IssEnableAnyFileInUseCheck called on uninstall\r
-function IssEnableAnyFileInUseCheckU(Folder: String): Integer;\r
-external 'IssEnableAnyFileInUseCheckW@{app}\IssProc.dll stdcall uninstallonly';\r
+// Importing ShowWindow Windows API from User32.DLL\r
+function ShowWindow(hWnd: Integer; uType: Integer): Integer;\r
+external 'ShowWindow@user32.dll stdcall';\r
 \r
-//Register for commercial use on install\r
-function IssRegister(rName: PAnsiChar; rKey: PAnsiChar): Integer;\r
-external 'IssRegister@files:IssProc.dll stdcall setuponly';\r
+function Rect(const ALeft, ATop, ARight, ABottom: Integer): TRect;\r
+begin\r
+  Result.Left := ALeft;\r
+  Result.Top := ATop;\r
+  Result.Bottom := ABottom;\r
+  Result.Right := ARight;\r
+end;\r
 \r
-//Register for commercial use on uninstall\r
-function IssRegisterU(rName: PAnsiChar; rKey: PAnsiChar): Integer;\r
-external 'IssRegister@{app}\IssProc.dll stdcall uninstallonly';\r
+function GetBoundsRect(AControl: TControl): TRect;\r
+begin\r
+  Result.Left := AControl.Left;\r
+  Result.Top := AControl.Top;\r
+  Result.Right := AControl.Left + AControl.Width;\r
+  Result.Bottom := AControl.Top + AControl.Height;\r
+end;\r
 \r
-// Importing LoadSkin API from ISSkin.DLL\r
-procedure LoadSkin(lpszPath: String; lpszIniFileName: String);\r
-external 'LoadSkin@files:isskin.dll stdcall';\r
+procedure SetBoundsRect(AControl: TControl; const ARect: TRect);\r
+begin\r
+  AControl.Left := ARect.Left;\r
+  AControl.Top := ARect.Top;\r
+  AControl.Width := ARect.Right - ARect.Left\r
+  AControl.Height := ARect.Bottom - ARect.Top;\r
+end;\r
 \r
-procedure UnloadSkin();\r
-external 'UnloadSkin@files:isskin.dll stdcall';\r
+procedure CenterHorizontally(ASource, ATarget: TControl);\r
+begin\r
+  ATarget.Left := (ASource.Width - ATarget.Width) div 2;\r
+end;\r
 \r
-// Importing ShowWindow Windows API from User32.DLL\r
-function ShowWindow(hWnd: Integer; uType: Integer): Integer;\r
-external 'ShowWindow@user32.dll stdcall';\r
+procedure CenterVertically(ASource, ATarget: TControl);\r
+begin\r
+  ATarget.Top := (ASource.Height - ATarget.Height) div 2;  \r
+end;\r
 \r
 function IsDotNetDetected(version: string; service: cardinal): boolean;\r
 //    'v1.1.4322'     .NET Framework 1.1\r
@@ -392,9 +422,6 @@ begin
       Result := false;\r
             \r
       hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));                     { get main wizard handle }\r
-      IssEnableAnyFileInUseCheck(ExpandConstant('{app}'));\r
-      sModuleName :=ExpandConstant('pithos*.dll;PithosPlus.exe');            \r
-      nCode:=IssFindModule(hWnd,sModuleName,'en',false,true);                { search for module and display files-in-use window if found  }\r
      if nCode=1 then  begin                                                 { cancel pressed or files-in-use window closed }\r
           PostMessage (WizardForm.Handle, $0010, 0, 0);                     { quit setup, $0010=WM_CLOSE }\r
      end else if (nCode=0) or (nCode=2) then begin                          { no module found or ignored pressed}\r
@@ -404,23 +431,20 @@ begin
 end;\r
 \r
 function InitializeSetup(): Boolean;\r
-begin\r
-  //Unpack The Skin\r
-  ExtractTemporaryFile('GRNETWhite.cjstyles');\r
-  LoadSkin(ExpandConstant('{tmp}\GRNETWhite.cjstyles'), '');\r
-    \r
+begin    \r
   // Test the presence of .NET 4.0\r
   if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then\r
       dotNET40Missing := True;\r
     \r
   Result := True;\r
+\r
+  //Remove Old Database\r
+  DeleteFile(ExpandConstant('{localappdata}')+'\GRNET\PITHOS\pithos.db');\r
 end;\r
 \r
 procedure DeinitializeSetup();\r
 begin\r
   //Hide Window widget\r
-  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);\r
-  UnloadSkin();\r
 end;\r
 \r
 function ShouldInstalldotNET40(): Boolean;\r
@@ -431,7 +455,17 @@ end;
 procedure CurPageChanged(CurPageID: Integer);\r
 begin\r
   if CurPageID = wpInstalling then\r
+    begin\r
     IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}'));\r
+    //  SetBoundsRect(WizardForm.OuterNotebook, Rect(OuterNotebookBounds.Left, \r
+    //  OuterNotebookBounds.Top, OuterNotebookBounds.Right, WizardForm.ClientHeight));\r
+    //  SetBoundsRect(WizardForm.InnerNotebook, Rect(OuterNotebookBounds.Left,\r
+    //  WizardForm.Bevel1.Top + WizardForm.Bevel1.Height, OuterNotebookBounds.Right, \r
+    //  WizardForm.ClientHeight));          \r
+\r
+    //  CenterHorizontally(WizardForm.InstallingPage, InstallBackground);\r
+    //  WizardForm.ProgressGauge.Width := InstallBottomPanel.Width - 16;\r
+    end;\r
   if CurPageID = LicenseID then\r
     Wizardform.NextButton.Enabled := False;\r
   if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then\r
@@ -455,7 +489,6 @@ begin
           begin            \r
             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PithosPlus.exe_StrongName_1vmy3hmn3mscykecwcnmpvno4d4mqi52',true,true,true);     \r
             DelTree(ExpandConstant('{localappdata}')+'\GRNET\PITHOS\',true,true,true);\r
-            \r
           End\r
         else\r
           MsgBox ('Settings will not be removed', mbInformation, MB_OK);        \r
@@ -486,12 +519,12 @@ var
   Memo: TMemo;\r
   LabelWz: TLabel;\r
 \r
-begin  \r
+begin\r
   Page := CreateCustomPage(wpWelcome, 'GRNET Pithos+ Dev Build {#MyAppVersion}', 'Software License');\r
-  BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');\r
-  ExtractTemporaryFile(ExtractFileName(BitmapFileName));\r
-  \r
   Page.Surface.Color := clWhite;\r
+\r
+  BitmapFileName := ExpandConstant('{tmp}\grnet-logo.bmp');\r
+  ExtractTemporaryFile(ExtractFileName(BitmapFileName));  \r
   BitmapImage := TBitmapImage.Create(Page);\r
   BitmapImage.AutoSize := True;\r
   BitmapImage.Bitmap.LoadFromFile(BitmapFileName);\r
@@ -527,16 +560,15 @@ begin
   LabelWz := Tlabel.Create(Page);\r
   LabelWz.Top := Page.Surface.Top;\r
   LabelWz.Caption := 'To setup your account right click on the Pithos+ icon in the taskbar.';\r
-  LabelWz.Parent := Page.Surface;  \r
+  LabelWz.Parent := Page.Surface;\r
   \r
   BitmapImage1 := TBitmapImage.Create(Page);\r
   BitmapImage1.width := Page.SurfaceWidth;\r
   BitmapImage1.height := Page.SurfaceHeight;\r
   BitmapImage1.Bitmap.LoadFromFile(BitmapFileName);\r
-  BitmapImage1.Left := 0 \r
+  BitmapImage1.Left := 0;\r
   BitmapImage1.Top := Page.Surface.Top + LabelWz.Height;\r
   BitmapImage1.Parent := Page.Surface;\r
-  \r
 end;\r
 \r
 procedure InitializeWizard;\r
@@ -552,6 +584,34 @@ begin
    //abort();\r
   end;\r
   CreateTheWizardPages; \r
+  WizardForm.MainPanel.Color := clWhite;\r
+  WizardForm.InstallingPage.Color := clWhite;\r
+  WizardForm.PreparingPage.Color := clWhite;\r
+  WizardForm.ReadyPage.Color := clWhite;\r
+  WizardForm.InfoAfterPage.Color := clWhite;\r
+  WizardForm.WelcomePage.Color := clWhite;\r
+  WizardForm.LicensePage.Color := clWhite;\r
+  WizardForm.FinishedPage.Color := clWhite;\r
+  WizardForm.SelectDirPage.Color := clWhite;\r
+  WizardForm.InnerPage.Color := clWhite;\r
+  WizardForm.UserInfoPage.Color := clWhite;\r
+  WizardForm.SelectComponentsPage.Color := clWhite;\r
+  WizardForm.SelectProgramGroupPage.Color := clWhite;\r
+  WizardForm.SelectTasksPage.Color := clWhite;\r
+  WizardForm.ReadyMemo.Color := clWhite;\r
+  WizardForm.TasksList.Color := clWhite;\r
+\r
+  InstallBottomPanel := TPanel.Create(WizardForm);\r
+  InstallBottomPanel.Parent := WizardForm.InstallingPage;\r
+  InstallBottomPanel.BevelOuter := bvNone;\r
+  InstallBottomPanel.Align := alBottom;\r
+  InstallBottomPanel.Caption := '';\r
+  InstallBottomPanel.Color := clWhite;\r
+  InstallBottomPanel.Height := 79;\r
+  InstallBottomPanel.ParentBackground := False;\r
+\r
+  InnerNotebookBounds := GetBoundsRect(WizardForm.InnerNotebook);\r
+  OuterNotebookBounds := GetBoundsRect(WizardForm.OuterNotebook);\r
 end;\r
 \r
 function ShouldSkipPage(CurPage: Integer): Boolean;\r
@@ -565,7 +625,7 @@ function ShouldSkipPage(CurPage: Integer): Boolean;
     end;\r
     \r
 [Run]\r
-;Kill Running Task\r
+;Kill Running Task from older versions\r
 Filename: cmd; parameters: /c taskkill /f /im pithos.exe; Flags: runhidden\r
 Filename: cmd; parameters: /c taskkill /f /im pithos.client.WPF.exe; Flags: runhidden\r
 ;Launch Redist\r