X-Git-Url: https://code.grnet.gr/git/pithos-ms-client/blobdiff_plain/285667111cf8f6b06c7860450e45178b7f939b51..0e2b2c19a4eac0d947c462b7d92726cdc601b1bb:/trunk/Pithos.Installer/PithosPlus.iss diff --git a/trunk/Pithos.Installer/PithosPlus.iss b/trunk/Pithos.Installer/PithosPlus.iss index 0d19b9e..0045ae2 100644 --- a/trunk/Pithos.Installer/PithosPlus.iss +++ b/trunk/Pithos.Installer/PithosPlus.iss @@ -79,55 +79,75 @@ Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescrip [Files] ; NOTE: Don't use "Flags: ignoreversion" on any shared system files ; Executable -Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek -; Appearance -;Source: "Skin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy -;Source: "Skin\GRNETWhite.cjstyles"; DestDir: {tmp}; Flags: dontcopy +Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\PithosPlus.exe.config"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek ; Repair/Modify -Source: "Tools\UninsHs.exe"; DestDir: {app}; Flags: restartreplace -; Running Processes -;Source: "Tools\IssProc.dll"; DestDir: {app}; Flags: restartreplace +Source: "Tools\UninsHs.exe"; DestDir: "{app}"; Flags: restartreplace + ; DLL -Source: "..\Pithos.ShellExtensions\bin\x86\Debug\Pithos.ShellExtensions.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode -Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode -Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\AsyncCtpLibrary.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: {app}; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: {app}; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek -Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: {app}; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +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 +Source: "..\Pithos.ShellExtensions\bin\x64\Debug\Pithos.ShellExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode +Source: "..\Pithos.Client.WPF\bin\Debug\AppLimit.NetSparkle.Net40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Microsoft.CompilerServices.AsyncTargetingPack.Net4.xml"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Caliburn.Micro.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Castle.ActiveRecord.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Components.Validator.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Castle.Core.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Iesi.Collections.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\log4net.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.ByteCode.Castle.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\NHibernate.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\ParallelExtensionsExtras.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Core.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Interfaces.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\Pithos.Network.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek + +Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SqlServerCe.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceca40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlcecompact40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceer40EN.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceme40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlceqp40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\x86\sqlcese40.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek + +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 + +;Source: "..\Pithos.Client.WPF\x86\SQLite.Interop.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +;Source: "..\Pithos.Client.WPF\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek + +Source: "..\Pithos.Client.WPF\bin\Debug\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\System.Windows.Interactivity.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\WPFToolkit.Extended.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek + +Source: "..\Pithos.Client.WPF\bin\Debug\System.Net.Http.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\System.Net.Http.xml"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek ; Tortoise -Source: "TortoiseOverlays\License.txt"; DestDir: {cf}/\TortoiseOverlays; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek -Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode -Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: {cf}/\TortoiseOverlays; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode -Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: {cf}/\TortoiseOverlays/icons/\XPStyle; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek +Source: "TortoiseOverlays\License.txt"; DestDir: "{cf}/\TortoiseOverlays"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek +Source: "TortoiseOverlays\x86\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode +Source: "TortoiseOverlays\x64\TortoiseOverlays.dll"; DestDir: "{cf}/\TortoiseOverlays"; Flags: restartreplace; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode +Source: "TortoiseOverlays\icons\XPStyle\*"; DestDir: "{cf}/\TortoiseOverlays/icons/\XPStyle"; Flags: ignoreversion; Components: RequiredFiles; Languages: english french german spanish greek +; OpenSSL +Source: "..\Pithos.Client.WPF\bin\Debug\ManagedOpenSsl.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +Source: "..\Pithos.Client.WPF\bin\Debug\libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace; Components: RequiredFiles; Languages: english french german spanish greek +; Manual +Source: "..\Pithos.Manual\Pithos+.chm"; DestDir: "{app}"; Flags: ignoreversion; Components: Documentation; Languages: english french german spanish greek ;Redistributables -Source: "Redistributables\dotNetFx40_Client_setup.exe"; DestDir: {tmp}; Flags: deleteafterinstall -Source: "Redistributables\x86\msvcp100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode -Source: "Redistributables\x86\msvcr100.dll"; DestDir: {sys}; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode -Source: "Redistributables\x64\msvcp100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode -Source: "Redistributables\x64\msvcr100.dll"; DestDir: {syswow64}; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode +Source: "Redistributables\dotNetFx40_Client_setup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall +Source: "Redistributables\x86\msvcp100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode +Source: "Redistributables\x86\msvcr100.dll"; DestDir: "{sys}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: not Is64BitInstallMode +Source: "Redistributables\x64\msvcp100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode +Source: "Redistributables\x64\msvcr100.dll"; DestDir: "{syswow64}"; Components: RequiredFiles; Languages: english french german spanish greek; Check: Is64BitInstallMode ; Wizard Images Source: "Images\grnet-logo.bmp"; Flags: dontcopy Source: "Images\account.bmp"; Flags: dontcopy [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{group}\{#MyAppName} Manual"; Filename: "{app}\Pithos+.chm" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:ProgramOnTheWeb,GRNET}"; Filename: "{#MyURL}" ;Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" @@ -308,18 +328,54 @@ const XMLUpdate = 'MYLatest.xml'; var - dotNET40Missing: Boolean; - IsUpdate: Boolean; - UsagePage: TOutputMsgWizardPage; - Wz1, Wz2 : TOutputMsgWizardPage; - ChkBox: TCheckBox; - LicenseID: Integer; -InstallBottomPanel: TPanel; + dotNET40Missing: Boolean; + IsUpdate: Boolean; + UsagePage: TOutputMsgWizardPage; + Wz1, Wz2: TOutputMsgWizardPage; + ChkBox: TCheckBox; + LicenseID: Integer; + InstallBottomPanel: TPanel; +InnerNotebookBounds: TRect; +OuterNotebookBounds: TRect; // Importing ShowWindow Windows API from User32.DLL function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall'; +function Rect(const ALeft, ATop, ARight, ABottom: Integer): TRect; +begin + Result.Left := ALeft; + Result.Top := ATop; + Result.Bottom := ABottom; + Result.Right := ARight; +end; + +function GetBoundsRect(AControl: TControl): TRect; +begin + Result.Left := AControl.Left; + Result.Top := AControl.Top; + Result.Right := AControl.Left + AControl.Width; + Result.Bottom := AControl.Top + AControl.Height; +end; + +procedure SetBoundsRect(AControl: TControl; const ARect: TRect); +begin + AControl.Left := ARect.Left; + AControl.Top := ARect.Top; + AControl.Width := ARect.Right - ARect.Left + AControl.Height := ARect.Bottom - ARect.Top; +end; + +procedure CenterHorizontally(ASource, ATarget: TControl); +begin + ATarget.Left := (ASource.Width - ATarget.Width) div 2; +end; + +procedure CenterVertically(ASource, ATarget: TControl); +begin + ATarget.Top := (ASource.Height - ATarget.Height) div 2; +end; + function IsDotNetDetected(version: string; service: cardinal): boolean; // 'v1.1.4322' .NET Framework 1.1 // 'v2.0.50727' .NET Framework 2.0 @@ -399,7 +455,17 @@ end; procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpInstalling then + begin IsUpdate := FileExists(ExpandConstant('{app}\{#MyAppExeName}')); + // SetBoundsRect(WizardForm.OuterNotebook, Rect(OuterNotebookBounds.Left, + // OuterNotebookBounds.Top, OuterNotebookBounds.Right, WizardForm.ClientHeight)); + // SetBoundsRect(WizardForm.InnerNotebook, Rect(OuterNotebookBounds.Left, + // WizardForm.Bevel1.Top + WizardForm.Bevel1.Height, OuterNotebookBounds.Right, + // WizardForm.ClientHeight)); + + // CenterHorizontally(WizardForm.InstallingPage, InstallBackground); + // WizardForm.ProgressGauge.Width := InstallBottomPanel.Width - 16; + end; if CurPageID = LicenseID then Wizardform.NextButton.Enabled := False; if (Pos('/SP-', UpperCase(GetCmdTail)) > 0) and (CurPageID = wpSelectComponents) then @@ -543,6 +609,9 @@ begin InstallBottomPanel.Color := clWhite; InstallBottomPanel.Height := 79; InstallBottomPanel.ParentBackground := False; + + InnerNotebookBounds := GetBoundsRect(WizardForm.InnerNotebook); + OuterNotebookBounds := GetBoundsRect(WizardForm.OuterNotebook); end; function ShouldSkipPage(CurPage: Integer): Boolean;