; MBI Installer [Setup] AppName=AyaNova MBI AppVerName=AyaNova MBI 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=ayanovambi4x DefaultDirName={pf}\Ground Zero Tech-Works Inc.\AyaNovaMBI DefaultGroupName=AyaNovaMBI ;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=AyaNovaMBISetup 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; Source: "..\..\release\obfuscated\GZTW.AyaNovaMBI.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\release\obfuscated\GZTW.AyaNovaMBI.Pages.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;website content Source: "..\..\source\MBI\publish\*.aspx";DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\MBI\publish\*.gif";DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\MBI\publish\*.js";DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\MBI\publish\mbi.css";DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\MBI\publish\PrecompiledApp.config";DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; ;bin folder Source: "..\..\source\MBI\publish\bin\*.compiled";DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;supporting files Source: "..\..\source\csla10\CSLA.Core.Bindablebase\bin\Release\CSLA.Core.Bindablebase.dll"; DestDir: "{app}\bin"; Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\csla10\CSLA\bin\Release\CSLA.dll"; DestDir: "{app}\bin"; Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\csla10\CSLA.Server.DataPortal\bin\Release\CSLA.Server.DataPortal.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; ;Source: "..\..\source\csla10\CSLA.Server.ServicedDataPortal\bin\Release\CSLA.Server.ServicedDataPortal.dll"; DestDir: "{app}\bin"; Permissions: everyone-full; Flags:ignoreversion; Source: "..\..\source\Data\Data\bin\Release\GZTW.Data.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\Profile\GZTW.Profile\bin\Release\GZTW.Profile.dll"; DestDir: "{app}\bin";Permissions: everyone-full;Flags:ignoreversion; Source: "license.rtf"; DestDir: "{app}" ;JSON license format required Files (case 3122) Source: "..\..\3rdprtylibs\crypt\BouncyCastle.Crypto.dll"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\json.net.40\Newtonsoft.Json.dll"; DestDir: "{app}\bin" ;firebird files ;;;;;;Source: "..\..\3rdprtylibs\Firebird embedded server files\fbembed.dll"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\Firebird embedded server files\firebird.msg"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\Firebird embedded server files\icudt30.dll"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\Firebird embedded server files\icuin30.dll"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\Firebird embedded server files\icuuc30.dll"; DestDir: "{app}\bin" ;Neither Vista or XP include the c runtime v7 .dll's which fbembed requires ;a lot of people will have them but not on a fresh vista or xp install so ;better safe than sorry ;;;;;;;Source: "msvcp71.dll"; DestDir: "{app}\bin" ;;;;;;Source: "msvcr71.dll"; DestDir: "{app}\bin" Source: "..\..\3rdprtylibs\firebird ado.net driver\FirebirdSql.Data.FirebirdClient.dll"; DestDir: "{app}\bin" ;Sample and real config files Source: "config.txt"; DestDir: "{app}\bin";Permissions: everyone-full;flags:confirmoverwrite; [Code] var MBIChecked: Boolean; MBICheckResult: 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 MBIChecked then begin MBIChecked := True; MBICheckResult := False; { Create the main IIS COM Automation object } try IIS := CreateOleObject('IISNamespace'); except RaiseException('MBI 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'); { (Re)create a virtual dir } try WebRoot.Delete('IIsWebVirtualDir', 'AyaNovaMBI'); WebRoot.SetInfo(); except end; VDir := WebRoot.Create('IIsWebVirtualDir', 'AyaNovaMBI'); VDir.AccessRead := True; VDir.AccessExecute := True; VDir.AppFriendlyName := 'AyaNova MBI'; VDir.Path := ExpandConstant('{app}'); VDir.AppCreate(True); VDir.DefaultDoc := 'default.aspx'; VDir.SetInfo(); MBICheckResult := True; {MsgBox('Created virtual directory AyaNovaMBI'#13#13+VDir.Path, mbInformation, mb_Ok);} end; Result := MBICheckResult; 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.'+#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;