; QBI for RAVEN Installer 

#define MyAppName "AyaNova QBI"
#define MyAppVersion "8.0.0"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "AyaNovaQBI.exe"


[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5E9B4CFD-A6FE-4B41-A4A3-A4A025115840}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\ayanovaqbi
DisableProgramGroupPage=yes
LicenseFile=C:\data\code\ravenqbi\install\license.rtf
OutputDir=C:\data\code\ravenqbi\install\output
OutputBaseFilename=ayanova-qbi-setup
SetupIconFile=C:\data\code\ravenqbi\install\logo.ico
UninstallDisplayIcon={app}\logo.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64



[Files]
Source: "C:\data\code\ravenqbi\install\logo.ico"; DestDir: "{app}";DestName: "logo.ico"; Flags: ignoreversion
Source: "C:\data\code\ravenqbi\AyaNovaQBI\bin\Release\AyaNovaQBI.exe"; DestDir: "{app}";Check: CheckForQBFC;Flags: ignoreversion;
Source: "C:\data\code\ravenqbi\AyaNovaQBI\bin\Release\AyaNovaQBI.exe.config"; DestDir: "{app}";Flags: ignoreversion;Permissions: everyone-full;
Source: "C:\data\code\ravenqbi\AyaNovaQBI\bin\Release\Newtonsoft.Json.dll"; DestDir: "{app}";Flags: ignoreversion;Permissions: everyone-full;


[Icons]
Name: "{autoprograms}\AyaNova QBI\{#MyAppName}"; Filename: "{app}\AyaNovaQBI.exe";IconFilename: "{app}\logo.ico";
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\AyaNovaQBI.exe";IconFilename: "{app}\logo.ico";


[Code]
var
  QBFCChecked: Boolean;
  QBFCCheckResult: Boolean;

function CheckForQBFC(): Boolean;
begin
  if not QBFCChecked then begin
    QBFCCheckResult := True;
    if not FileExists(ExpandConstant('{commoncf64}\Intuit\QuickBooks\QbFC15.dll')) then begin
      QBFCCheckResult := MsgBox('QBFC15 does not appear to have been installed as required prior to QBI.' #13#13 'File: ' + ExpandConstant('{commoncf64}\Intuit\QuickBooks\qbfc15.dll') + ' was not found.'#13#13'Do you want to install QBI anyway?', mbConfirmation, MB_YESNO) = idYes;
      if not QBFCCheckResult then begin
      WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
      end;
      QBFCChecked := True;
    end;
  end;
  Result := QBFCCheckResult;
end;