; RI Installer [Setup] AppName=AyaNova RI AppVerName=AyaNova RI 7.6 AppPublisher=Ground Zero Tech-Works Inc. AppPublisherURL=https://www.ayanova.com/ AppSupportUrl=http://forum.ayanova.com AppVersion=7.6.0 ;App ID is used for updating and patching ;see: http://www.jrsoftware.org/iskb.php?updateinstall AppId=ayanovaRI7x DefaultDirName={pf}\Ground Zero Tech-Works Inc.\AyaNovaRI DefaultGroupName=AyaNovaRI ;UninstallDisplayIcon={app}\AyaNova.exe LicenseFile=license.rtf WizardImageFile=wizlarge.bmp WizardImageStretch=no WizardImageBackColor=clWhite WizardSmallImageFile=wizsmall.bmp ;Hide page asking where shortcuts should go DisableProgramGroupPage=Yes ;Hide page prompting user for install location as there is only one valid location DisableDirPage=Yes OutputBaseFilename=AyaNovaRISetup OutputDir=.. ;"release" mode full compression Compression=lzma/ultra SolidCompression=true InternalCompressLevel=ultra [Files] Source: "web.config"; DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion;Check: CheckIIS; ;Obfuscated files Source: "..\..\release\obfuscated\GZTW.AyaNova.BLL.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;NOT THERE YET: Source: "..\..\release\obfuscated\GZTW.AyaNovaRI.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;Config.txt db connection file Source: "config.txt"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:confirmoverwrite; ;content Source: "..\..\source\ri\ri\Content\*";Excludes:"web.config"; DestDir: "{app}\Content";Permissions: everyone-full;Flags:ignoreversion recursesubdirs; ;fonts Source: "..\..\source\ri\ri\fonts\*"; DestDir: "{app}\fonts";Permissions: everyone-full;Flags:ignoreversion; ;images - MAYBE DON"T NEED THIS??? Source: "..\..\source\ri\ri\Images\*"; DestDir: "{app}\Images";Permissions: everyone-full;Flags:ignoreversion; ;Scripts Source: "..\..\source\ri\ri\Scripts\*"; DestDir: "{app}\Scripts";Permissions: everyone-full;Flags:ignoreversion recursesubdirs; ;Views Source: "..\..\source\ri\ri\Views\*"; DestDir: "{app}\Views";Permissions: everyone-full;Flags:ignoreversion recursesubdirs; ;Customize Source: "..\..\source\ri\ri\Customize\*"; DestDir: "{app}\Customize";Permissions: everyone-full;Flags:ignoreversion; ;Bin Source: "..\..\source\ri\ri\bin\*";Excludes:"config.txt,*.xml,GZTW.AyaNova.BLL.dll,ChilkatDotNet4.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;DevExpress Files Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Data.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Utils.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraBars.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraCharts.v10.2.dll";DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraEditors.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraNavBar.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraPrinting.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraReports.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraReports.v10.2.Web.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraReports.v10.2.Extensions.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.RichEdit.v10.2.Core.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraRichEdit.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraTreeList.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraVerticalGrid.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Charts.v10.2.Core.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.PivotGrid.v10.2.Core.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraPivotGrid.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.CodeParser.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Web.ASPxEditors.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Web.v10.2.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;JSON license format required Files (case 3122) Source: "..\..\3rdprtylibs\crypt\BouncyCastle.Crypto.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\json.net.40\Newtonsoft.Json.dll"; DestDir: "{app}" ;Root folder files Source: "..\..\source\ri\ri\favicon.ico";DestDir: "{app}\";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\ri\ri\Global.asax";DestDir: "{app}\";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\ri\ri\ReportView.aspx";DestDir: "{app}\";Permissions: everyone-full;Flags:ignoreversion; ;;;Source: "..\..\source\ri\ri\loginbanner.png";DestDir: "{app}\";Permissions: everyone-full;Flags:ignoreversion; ;Chilkat mail component related files (don't need????) Source: "..\..\3rdprtylibs\chilkat\ChilkatDotNet4.dll"; DestDir: "{app}";Permissions: everyone-full; Check: not IsX64 Source: "..\..\3rdprtylibs\chilkat\64bit\ChilkatDotNet4.dll"; DestDir: "{app}";Permissions: everyone-full; Check: IsX64 ;Chilkat c run time library Source: "..\..\3rdprtylibs\microsoft\msvcr100.dll"; DestDir: "{app}"; Check: not IsX64 Source: "..\..\3rdprtylibs\microsoft\x64\msvcr100.dll"; DestDir: "{app}"; Check: IsX64 ;supporting files Source: "license.rtf"; DestDir: "{app}"; ;App_Data folder for XtraReports [Dirs] Name: "{app}\App_Data";Permissions: everyone-modify; [Code] var RIChecked: Boolean; RICheckResult: Boolean; {--- Data Portal ---} const IISServerName = 'localhost'; IISServerNumber = '1'; IISURL = 'http://127.0.0.1'; function CheckIIS(): Boolean; var IIS, WebSite, WebServer, WebRoot, VDir: Variant; begin if not RIChecked then begin RIChecked := True; RICheckResult := False; { Create the main IIS COM Automation object } try IIS := CreateOleObject('IISNamespace'); except RaiseException('RI requires Microsoft IIS.'#13#13'(Error ''' + GetExceptionMessage + ''' occurred)'); end; { Connect to the IIS server } WebSite := IIS.GetObject('IIsWebService', IISServerName + '/w3svc'); WebServer := WebSite.GetObject('IIsWebServer', IISServerNumber); WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root'); { Remove old virtual dir } try WebRoot.Delete('IIsWebVirtualDir', 'AyaNovaRI'); WebRoot.SetInfo(); except ; end; { Create new virtual dir } VDir := WebRoot.Create('IIsWebVirtualDir', 'AyaNovaRI'); VDir.AccessRead := True; VDir.AccessExecute := True; VDir.AppFriendlyName := 'AyaNova RI'; VDir.Path := ExpandConstant('{app}'); VDir.AppCreate(True); VDir.DefaultDoc := 'Login.cshtml'; VDir.SetInfo(); RICheckResult := True; {MsgBox('Created virtual directory AyaNovaRI'#13#13+VDir.Path, mbInformation, mb_Ok);} end; Result := RICheckResult; end; {Check for the .net 4 framework} function InitializeSetup(): Boolean; var ErrorCode: Integer; NetFrameWorkInstalled : Boolean; Result1 : Boolean; begin NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'); if NetFrameWorkInstalled then begin Result := true; end else begin Result1 := MsgBox('This application requires the .NET Framework 4 or newer.'+#13#13+'Please download and install the .NET Framework and run this setup again.'+#13#13+'Do you want to download the framework now?', mbConfirmation, MB_YESNO) = idYes; if Result1 =false then begin Result:=false; end else begin Result:=false; ShellExec('open', 'http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992', '','',SW_SHOWNORMAL,ewNoWait,ErrorCode); end; end; end; {Check for 64 bit operating system} var Has64bitChecked: Boolean; Is64Bit: Boolean; function IsX64: Boolean; begin if not Has64bitChecked then begin Is64Bit := (ProcessorArchitecture = paX64); Has64bitChecked:=true; end; Result:=Is64Bit; end;