ISS Fixes
[pithos-ms-client] / trunk / Pithos.Installer / PithosPlus.iss
index 0d19b9e..0045ae2 100644 (file)
@@ -79,55 +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; 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; 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; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: {app}; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: {app}; Flags: 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: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek\r
-Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: {app}; Flags: restartreplace; 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\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
+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
@@ -308,18 +328,54 @@ 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
-InstallBottomPanel: TPanel;          \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
 // Importing ShowWindow Windows API from User32.DLL\r
 function ShowWindow(hWnd: Integer; uType: Integer): Integer;\r
 external 'ShowWindow@user32.dll stdcall';\r
 \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
+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
+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 CenterHorizontally(ASource, ATarget: TControl);\r
+begin\r
+  ATarget.Left := (ASource.Width - ATarget.Width) div 2;\r
+end;\r
+\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
 //    'v2.0.50727'    .NET Framework 2.0\r
@@ -399,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
@@ -543,6 +609,9 @@ begin
   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