Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ezfit:clarujust:ezfit_optimizer_clarujust_installation [2009/11/19 15:36]
smayr
ezfit:clarujust:ezfit_optimizer_clarujust_installation [2009/12/24 08:47] (current)
smayr
Line 3: Line 3:
 === Installing Clarujust Proxy Files === === Installing Clarujust Proxy Files ===
 <code inno> <code inno>
 +;//----------------------------------------------------------------------------
 +;// Inno-script: clarujust-proxy-setup.iss
 +;//----------------------------------------------------------------------------
 +;//----------------------------------------------------------------------------
 +;// Global Defines
 +;//----------------------------------------------------------------------------
 +#define DefaultAppPath "Audina\ezFITOptimizer\"
 +...
 + 
 +;//----------------------------------------------------------------------------
 +;// Setup section
 +;//----------------------------------------------------------------------------
 +[Setup]
 +DefaultDirName={param:AppPath|{pf}\{#DefaultAppPath}}
 +...
 +
 [Files] [Files]
 ... ...
-;--------------------------------------------------- +;//--------------------------------------------------- 
-; Clarujust files +;// Clarujust files 
-;---------------------------------------------------+;//---------------------------------------------------
 Source: ..\ClarujustProxy\MockClarujustApp.dll; DestDir: {app}\Clarujust; Flags: ignoreversion Source: ..\ClarujustProxy\MockClarujustApp.dll; DestDir: {app}\Clarujust; Flags: ignoreversion
 Source: ..\ClarujustProxy\ClarujustProxyServer.dll; DestDir: {app}\Clarujust; Flags: ignoreversion Source: ..\ClarujustProxy\ClarujustProxyServer.dll; DestDir: {app}\Clarujust; Flags: ignoreversion
Line 38: Line 54:
 ... ...
 [Files] [Files]
-;--------------------------------------------------- +;//--------------------------------------------------- 
-; Application files +;// Application files 
-;---------------------------------------------------+;//---------------------------------------------------
 Source: {src}\clarujust-setup.exe; DestDir: {src}; Flags: ignoreversion external skipifsourcedoesntexist dontcopy Source: {src}\clarujust-setup.exe; DestDir: {src}; Flags: ignoreversion external skipifsourcedoesntexist dontcopy
 ... ...
Line 70: Line 86:
  
 [Files] [Files]
-;--------------------------------------------------- +;//--------------------------------------------------- 
-; Clarujust files +;// Clarujust files 
-;--------------------------------------------------- +;//--------------------------------------------------- 
-Source: ..\ClarujustProxy\MockClarujustApp.dll; DestDir: {app}\Clarujust; Flags: ignoreversion +Source: ..\ClarujustProxy\MockClarujustApp.dll; DestDir: {app}; Flags: ignoreversion 
-Source: ..\ClarujustProxy\ClarujustProxyServer.dll; DestDir: {app}\Clarujust; Flags: ignoreversion +Source: ..\ClarujustProxy\ClarujustProxyServer.dll; DestDir: {app}; Flags: ignoreversion 
-Source: ..\ClarujustProxy\ClarujustProxyServer.tlb; DestDir: {app}\Clarujust; Flags: ignoreversion +Source: ..\ClarujustProxy\ClarujustProxyServer.tlb; DestDir: {app}; Flags: ignoreversion 
-Source: ..\ClarujustProxy\Interop.EzFITOptimizerSvr.dll; DestDir: {app}\Clarujust; Flags: ignoreversion+Source: ..\ClarujustProxy\Interop.EzFITOptimizerSvr.dll; DestDir: {app}; Flags: ignoreversion
 ... ...
  
 [Run] [Run]
-Filename: {dotnet20}\RegAsm.exe; Parameters: ClarujustProxyServer.dll /codebase /silent; WorkingDir: {app}\Clarujust\; Flags: skipifdoesntexist runhidden+Filename: {dotnet20}\RegAsm.exe; Parameters: ClarujustProxyServer.dll /codebase /silent; WorkingDir: {app}; Flags: skipifdoesntexist runhidden
 ... ...
  
 [UninstallRun] [UninstallRun]
-Filename: {dotnet20}\RegAsm.exe; Parameters: ClarujustProxyServer.dll /unregister; WorkingDir: {app}\Clarujust\; Flags: skipifdoesntexist runhidden+Filename: {dotnet20}\RegAsm.exe; Parameters: ClarujustProxyServer.dll /unregister; WorkingDir: {app}; Flags: skipifdoesntexist runhidden
  
 [Code] [Code]
Line 138: Line 154:
  
 The Clarujust installer should probably check that ezFIT has been installed (by checking the path and version in the Windows registry), and then it can proceed with the installation. The Clarujust installer should probably check that ezFIT has been installed (by checking the path and version in the Windows registry), and then it can proceed with the installation.
- 
 ===== Sample Script ===== ===== Sample Script =====
 +This sample script shows how to check if ezFIT (Stand-alone) is installed on the system, and if it is not, then we install it.  It also describes how to get the installation path from the Windows registry.  Please note: a similar logic needs to be implemented to check for a ezFIT for Noah version installation, since either can be present in the system.
 +
 <code inno> <code inno>
 +;//----------------------------------------------------------------------------
 +;// Inno-script: clarujust-ezfit-setup.iss
 +;//----------------------------------------------------------------------------
 +...
 +
 [Files] [Files]
-;--------------------------------------------------- +;//--------------------------------------------------- 
-; Application files +;// Application files 
-;---------------------------------------------------+;//---------------------------------------------------
 Source: {src}\ezfit-setup.exe; DestDir: {src}; Flags: ignoreversion external skipifsourcedoesntexist dontcopy; Languages:  Source: {src}\ezfit-setup.exe; DestDir: {src}; Flags: ignoreversion external skipifsourcedoesntexist dontcopy; Languages: 
 ... ...
  
 [Run] [Run]
-Filename: {src}\ezfit-setup.exe; Description: {cm:LaunchProgram,ezfit.exe}; Flags: skipifdoesntexist; Check: NoValidEzFitExists +Filename: {src}\ezfit-setup.exe; Description: {cm:LaunchProgram,ezfit.exe}; Flags: skipifdoesntexist; Check: NoValidEzFitExists('4.212009121601'
 ... ...
  
Line 158: Line 180:
 function GetEzfitPath(): string; forward; function GetEzfitPath(): string; forward;
 function GetEzfitVersion(): string; forward; function GetEzfitVersion(): string; forward;
-function NoValidEzFitExists(ValidVer: string): Boolean; forward;+function NoValidEzFitExists(ValidVersion: string): Boolean; forward;
 ... ...
  
Line 209: Line 231:
  
 //---------------------------------------------------------------------------- //----------------------------------------------------------------------------
-// description: Verify there is no valid ezFIT installation in system. +// description: Verify there is no prior valid ezFIT installation in system
-// parameters : void +//  If there is a valid installation, we do not reinstall ezFIT, that is why 
-// return     : T if no installation, F if there is an existing installation+//  we check for no valid install in order to execute ezFIT installer
 +// parameters : ValidVersion: string.  Format: V.vvBBBBBBBBBB 
 +//              V = Major version 
 +//              v = Minor version 
 +//              B = Build number 
 +//              Example: 4.212009121601 -> version 4.21, build 2009-12-16 (number 01) 
 +// return     : T if no valid installation, F if there is a valid installation
 //---------------------------------------------------------------------------- //----------------------------------------------------------------------------
-function NoValidEzFitExists(ValidVer: string): Boolean; +function NoValidEzFitExists(ValidVersion: string): Boolean; 
 var var
   curBuild, validBuild: integer;   curBuild, validBuild: integer;
 +  curVer, validVer: integer;
 begin begin
-  result := False; +  result := False;  // A valid ezFIT install exists already 
-  if GetEzfitPath() <> '' then begin +  if (GetEzfitPath() <> ''then begin 
-     curBuild   := StrToInt(copy(GetEzfitVersion(), 2, 10)); +     curVer     := StrToInt(copy(GetEzfitVersion(), 1, 4)); 
-     validBuild := StrToInt(copy(ValidVer2, 10)); +     validVer   := StrToInt(copy(ValidVersion,      1, 4)); 
-     if StrToFloat(curBuild>= (validBuild) then begin +     curBuild   := StrToInt(copy(GetEzfitVersion(), 5, 10)); 
-       result := True;+     validBuild := StrToInt(copy(ValidVersion     5, 10)); 
 +     if ((curVer < validVeror (curBuild < validBuild)) then begin 
 +       result := True;  // No valid ezFIT install exists
      end;      end;
   end;   end;