; AyaNova consolidated installer for ; AyaNova, QBI, QBOI, PTI, Generator, ToMSSQL [Setup] AppName=AyaNova AppVerName=AyaNova 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=ayanova4x DefaultDirName={pf}\Ground Zero Tech-Works Inc.\AyaNova DefaultGroupName=AyaNova 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=AyaNovaSetup OutputDir=.. ;"release" mode full compression Compression=lzma/ultra SolidCompression=true InternalCompressLevel=ultra [Types] Name: "standalone"; Description: "Default setup with sample database" Name: "workstation"; Description: "Network administrator setup (READ NETWORK SETUP INSTRUCTIONS FIRST)" [Components] Name: "ws"; Description: "Shared AyaNova files"; Types: workstation; Flags: fixed Name: "xtra"; Description: "Stand alone single computer AyaNova files"; Types: standalone; Flags: fixed [Tasks] Name: "gen"; Description: "Install AyaNova Generator service - for background notification processing";Flags: unchecked;Components: ws; Name: "csvplugin"; Description: "Install Import/Export to csv plugin"; Flags: unchecked; Name: "FB2SQL"; Description: "Install FireBird SQL to Microsoft SQL migration utility"; Flags: unchecked; Name: "portal";Description: "Install AyaNova Data Portal (requires IIS)"; Flags: unchecked;Components: ws; Name: "qboi"; Description: "Install QBOI - QuickBooks Online accounting integration plugin";Flags: unchecked; Name: "qbi"; Description: "Install QBI - QuickBooks Windows accounting integration plugin";Flags: unchecked; Name: "pti"; Description: "Install PTI - Sage 50 / Peachtree accounting integration plugin ..."; Flags: unchecked; Name: "pti\2020"; Description: "for US Sage 50 2020";Flags:exclusive unchecked; Name: "pti\2019"; Description: "for US Sage 50 2019";Flags:exclusive unchecked; Name: "pti\2018"; Description: "for US Sage 50 2018";Flags:exclusive unchecked; Name: "pti\2016"; Description: "for US Sage 50 2016";Flags:exclusive unchecked; Name: "pti\2015"; Description: "for US Sage 50 2015";Flags:exclusive unchecked; ;DEPRECATED FALL 2019 ;Name: "pti\2014"; Description: "for US Sage 50 Quantum / Peachtree 2014";Flags:exclusive unchecked; ;Name: "pti\2013"; Description: "for US Sage 50 Quantum";Flags:exclusive unchecked; ;Name: "pti\2012"; Description: "for Peachtree 2012";Flags:exclusive unchecked; ;DEPRECATED Fall 2017 (arbitrarily picked 2012 as the cutoff) ;Name: "pti\2011"; Description: "for Peachtree 2011";Flags:exclusive unchecked; ;Name: "pti\2010"; Description: "for Peachtree 2010";Flags:exclusive unchecked; ;Name: "pti\2009"; Description: "for Peachtree 2009";Flags:exclusive unchecked; ;Name: "pti\2008"; Description: "for Peachtree 2008";Flags:exclusive unchecked; ;Name: "pti\2007"; Description: "for Peachtree 2007";Flags:exclusive unchecked; ;Name: "pti\2006"; Description: "for Peachtree 2006";Flags:exclusive unchecked; [Files] Source: "AYANOVA.FDB"; DestDir: "{commonappdata}\AyaNovaData";Flags: onlyifdoesntexist uninsneveruninstall;Permissions: users-modify;Components: xtra ;case 3646 removed ;Source: "AYANOVALITE.FDB"; DestDir: "{commonappdata}\AyaNovaData";Flags: onlyifdoesntexist uninsneveruninstall;Permissions: users-modify;Components: xtra Source: "..\..\3rdprtylibs\chilkat\ChilkatDotNet4.dll"; DestDir: "{app}";Permissions: everyone-full; Check: not IsX64 or IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\chilkat\64bit\ChilkatDotNet4.dll"; DestDir: "{app}";Permissions: everyone-full; Check: IsX64 and not IsTaskSelected('qbi') ;Chilkat c run time library Source: "..\..\3rdprtylibs\microsoft\msvcr100.dll"; DestDir: "{app}"; Check: not IsX64 or IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\microsoft\x64\msvcr100.dll"; DestDir: "{app}"; Check: IsX64 and not IsTaskSelected('qbi') Source: "..\..\source\csla10\CSLA.Core.Bindablebase\bin\Release\CSLA.Core.Bindablebase.dll"; DestDir: "{app}"; Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\csla10\CSLA\bin\Release\CSLA.dll"; DestDir: "{app}"; Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\csla10\CSLA.Server.DataPortal\bin\Release\CSLA.Server.DataPortal.dll"; DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; ;Source: "..\..\source\csla10\CSLA.Server.ServicedDataPortal\bin\Release\CSLA.Server.ServicedDataPortal.dll"; DestDir: "{app}"; Permissions: everyone-full; Flags:ignoreversion; Source: "..\..\source\Data\Data\bin\Release\GZTW.Data.dll"; DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\Profile\GZTW.Profile\bin\Release\GZTW.Profile.dll"; DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\GZWFControls\bin\Release\GZTW.WinForm.Controls.dll"; DestDir: "{app}";Flags:ignoreversion; Source: "license.rtf"; DestDir: "{app}" Source: "Log4Net.config"; DestDir: "{app}";Permissions: everyone-full; Source: "ayalog.txt"; DestDir: "{app}";Permissions: everyone-full; Source: "..\..\3rdprtylibs\log4net\log4net.dll"; DestDir: "{app}" Source: "..\..\release\obfuscated\AyaNova.exe"; DestDir: "{app}";Flags:ignoreversion; ;case 1525 Source: "..\..\release\obfuscated\x86AyaNova.exe"; DestDir: "{app}";DestName: "AyaNova.exe";Flags:ignoreversion;Check: IsX64 and IsTaskSelected('qbi') Source: "AyaNova.exe.config"; DestDir: "{app}";Permissions: everyone-full; Source: "..\..\release\obfuscated\GZTW.AyaNova.BLL.dll"; DestDir: "{app}";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\AyaNova.PlugIn\bin\Release\AyaNova.PlugIn.dll"; DestDir: "{app}";Flags:ignoreversion; ;default plugins Source: "..\..\source\Plugins\AyaNova.PlugIn.Merger\bin\Release\AyaNova.PlugIn.Merger.dll"; DestDir: "{app}\plugins\Merger";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\source\Plugins\AyaNova.PlugIn.XTools\bin\Release\AyaNova.PlugIn.XTools.dll"; DestDir: "{app}\plugins\XTools";Permissions: everyone-full;Flags:ignoreversion; Source: "..\..\release\AyaNova.PlugIn.ClientRemover.dll"; DestDir: "{app}\plugins\ClientRemover";Permissions: everyone-full;Flags:ignoreversion; ;-------- ;v8 migrate ;jan 2021 - users having trouble with this due to some missing dll or .net update or whatever, sb changed to a standalone installer ;Source: "..\..\release\AyaNova.PlugIn.V8.dll"; DestDir: "{app}\plugins\V8Migrate";Permissions: everyone-full;Flags:ignoreversion; ;Source: "..\..\source\Plugins\AyaNova.Plugin.V8\libs\HtmlAgilityPack.dll"; DestDir: "{app}\plugins\V8Migrate";Permissions: everyone-full;Flags:ignoreversion; ;Source: "..\..\source\Plugins\AyaNova.Plugin.V8\libs\ReverseMarkdown.dll"; DestDir: "{app}\plugins\V8Migrate";Permissions: everyone-full;Flags:ignoreversion; ;-------- ;firebird files ;better safe than sorry, may already be present but fbembed requires these: ;case 1009 these are causing conflict when saving a wiki if another version already loaded ;might need to change this in future to only install them if no other version of msvcp or msvcr are already installed ;possibly useful info here: http://msdn.microsoft.com/en-us/library/8kche8ah.aspx ;Source: "msvcp80.dll"; DestDir: "{app}" ;Source: "msvcr100.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\firebird ado.net driver\FirebirdSql.Data.FirebirdClient.dll"; DestDir: "{app}" ;32bit embedded server files Source: "..\..\3rdprtylibs\Firebird embedded server files\fbembed.dll"; DestDir: "{app}"; Check: not IsX64 or IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\icudt30.dll"; DestDir: "{app}"; Check: not IsX64 or IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\icuin30.dll"; DestDir: "{app}"; Check: not IsX64 or IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\icuuc30.dll"; DestDir: "{app}"; Check: not IsX64 or IsTaskSelected('qbi') ;64bit embedded server files Source: "..\..\3rdprtylibs\Firebird embedded server files\x64\fbembed.dll"; DestDir: "{app}"; Check: IsX64 and not IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\x64\icudt30.dll"; DestDir: "{app}"; Check: IsX64 and not IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\x64\icuin30.dll"; DestDir: "{app}"; Check: IsX64 and not IsTaskSelected('qbi') Source: "..\..\3rdprtylibs\Firebird embedded server files\x64\icuuc30.dll"; DestDir: "{app}"; Check: IsX64 and not IsTaskSelected('qbi') ;Sample and real config files Source: "config.txt"; DestDir: "{app}";Permissions: everyone-full;Components: xtra;flags:confirmoverwrite; Source: "{src}\config.txt"; DestDir: "{app}";Permissions: everyone-full;Components: ws;flags: external confirmoverwrite; Source: "networkFirebirdsnapshot.bat"; DestDir: "{app}\examples";Permissions: everyone-full; Source: "EXAMPLE_DATAPORTALconfig.txt"; DestDir: "{app}\examples";Permissions: everyone-full; Source: "EXAMPLE_FIREBIRD_EMBEDDED_DEFAULTconfig.txt"; DestDir: "{app}\examples";Permissions: everyone-full; Source: "EXAMPLE_FIREBIRD_SERVERconfig.txt"; DestDir: "{app}\examples";Permissions: everyone-full; Source: "EXAMPLE_SQLEXPRESSconfig.txt"; DestDir: "{app}\examples";Permissions: everyone-full; Source: "EXAMPLE_MSSQLSERVERconfig.txt"; DestDir: "{app}\examples";Permissions: everyone-full; ;DevExpress Files Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Data.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Utils.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraBars.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraCharts.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraEditors.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraNavBar.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraPrinting.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraReports.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraReports.v10.2.Extensions.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.RichEdit.v10.2.Core.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraRichEdit.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraScheduler.v10.2.Core.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraScheduler.v10.2.Reporting.Extensions.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraScheduler.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraTreeList.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraVerticalGrid.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.Charts.v10.2.Core.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.PivotGrid.v10.2.Core.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.XtraPivotGrid.v10.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\DevExpress\DevExpress.CodeParser.v10.2.dll"; DestDir: "{app}" ;Infragistics Files Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Shared.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.Misc.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinDock.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinEditors.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinExplorerBar.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinGrid.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinMaskedEdit.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinStatusBar.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinTabControl.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinToolbars.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.UltraWinTree.v11.2.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\Infragistics\Infragistics4.Win.v11.2.dll"; DestDir: "{app}" ;RTF2HTML Source: "..\..\3rdprtylibs\sautinsoft\SautinSoft.HtmlToRtf.dll"; DestDir: "{app}" Source: "..\..\3rdprtylibs\sautinsoft\SautinSoft.RtfToHtml.dll"; DestDir: "{app}" ;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}" ;Optional files (tasks) ;QBI Source: "..\..\release\obfuscated\AyaNova.PlugIn.QBI.dll"; DestDir: "{app}\plugins\QBI";Tasks: qbi;Check: CheckForQBFC;Flags:ignoreversion; Source: "MainGrid.lyt"; DestDir: "{app}\plugins\QBI";Permissions: everyone-full;Tasks: qbi; ;QBOI Source: "..\..\release\obfuscated\AyaNova.PlugIn.QBOI.dll"; DestDir: "{app}\plugins\QBOI";Tasks: qboi;Flags:ignoreversion; Source: "MainGrid.lyt"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;NEW oAuth2.0 references Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Core.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Data.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.DataService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Diagnostics.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.EntitlementService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Exception.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.GlobalTaxService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.OAuth2PlatformClient.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.QueryFilter.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.ReportService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Retry.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Security.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.Utility.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\Intuit.Ipp.WebHooksService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\QuickBooks\ippdotnetsdkforquickbooksapiv3.8.1.0\IppDotNetSdkForQuickBooksApiV3.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; Source: "..\..\3rdprtylibs\json.net.4.5\Newtonsoft.Json.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;not fully sure bout this one, seems like something that should be present but perhaps it's not in the full framework? Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Net.Http.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Old oAuth 1.0 references ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\DesktopIppOAuth.NET40.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\DevDefined.OAuth.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Core.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Data.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.DataService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Diagnostics.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Exception.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.GlobalTaxService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.LinqExtender.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.OAuth2PlatformClient.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.PlatformService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.QueryFilter.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.ReportService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Retry.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Security.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.Utility.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline4\Intuit.Ipp.WebHooksService.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\json.net.4.5\Newtonsoft.Json.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;;Web API self host references (not default in .net framework, may be on IIS stations) ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Net.Http.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Net.Http.Formatting.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Net.Http.WebRequest.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Web.Http.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;Source: "..\..\3rdprtylibs\QuickBooks\QBOnline\System.Web.Http.SelfHost.dll"; DestDir: "{app}\plugins\QBOI";Permissions: everyone-full;Tasks: qboi; ;PTI Source: "..\..\release\obfuscated\AyaNova.PlugIn.PTI.dll"; DestDir: "{app}\plugins\PTI";Tasks: pti;Flags:ignoreversion; Source: "MainGrid.lyt"; DestDir: "{app}\plugins\PTI";Permissions: everyone-full;Tasks: pti; ;DEPRECATED VERSIONS (last 5 years only) ;Source: "v13PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2006;Flags:ignoreversion; ;Source: "v14PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2007;Flags:ignoreversion; ;Source: "2008PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2008;Flags:ignoreversion; ;Source: "2009PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2009;Flags:ignoreversion; ;Source: "2010PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2010;Flags:ignoreversion; ;Source: "2011PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2011;Flags:ignoreversion; ;Source: "2012PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2012;Flags:ignoreversion; ;Source: "2013PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2013;Flags:ignoreversion; ;Source: "2014PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2014;Flags:ignoreversion; Source: "2015PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2015;Flags:ignoreversion; Source: "2016PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2016;Flags:ignoreversion; Source: "2018PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2018;Flags:ignoreversion; Source: "2019PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2019;Flags:ignoreversion; Source: "2020PeachtreeAccounting.dll"; DestDir: "{app}\plugins\PTI";DestName: "PeachtreeAccounting.dll";Tasks: pti/2020;Flags:ignoreversion; Source: "..\..\utils\GeneratorService\bin\Release\Generator.exe"; DestDir: "{app}";Tasks: gen;Flags:ignoreversion; Source: "Web.config"; DestDir: "{app}";Tasks: portal;Check: CheckPortalServer; ;case 3677 Source: "Generator.exe.config"; DestDir: "{app}";Tasks: gen;Flags:ignoreversion; ;ImportExport CSV plugin Source: "..\..\3rdprtylibs\FileHelpers\FileHelpers.dll"; DestDir: "{app}\plugins\ImportExportCSV";Tasks: csvplugin; Source: "..\..\source\Plugins\AyaNova.PlugIn.ImportExportCSV\bin\Release\AyaNova.PlugIn.ImportExportCSV.dll"; DestDir: "{app}\plugins\ImportExportCSV";Tasks: csvplugin; ;TO MSSQL utility Source: "..\..\utils\migration\ToMSSQL\bin\Release\ToMSSQL.exe"; DestDir: "{app}";Tasks: FB2SQL; ;Uninstall survey ;Source: "..\..\release\obfuscated\uis.exe"; DestDir: "{app}";Flags:ignoreversion; ;Plugins folder [Dirs] Name: "{app}\plugins";Permissions: everyone-full; [Icons] Name: "{group}\AyaNova"; Filename: "{app}\AyaNova.exe" ;Comment: "AyaNova" Name: "{group}\Utilities\FireBird to MSSQL"; Filename: "{app}\ToMSSQL.exe" ;Comment: "Migrate FireBird database to Microsoft SQL Server"; Tasks: FB2SQL; Name: "{group}\Uninstall AyaNova"; Filename: "{uninstallexe}" Name: "{commondesktop}\AyaNova"; Filename: "{app}\AyaNova.exe" ;Comment: "AyaNova" [Registry] Root: HKCR; Subkey: "AyaNova"; ValueType: string; ValueName: ""; ValueData: "URL:AyaNova protocol"; Flags: uninsdeletekey Root: HKCR; Subkey: "AyaNova"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Root: HKCR; Subkey: "AyaNova\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\AyaNova.exe"; Root: HKCR; Subkey: "AyaNova\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\AyaNova.exe %1"; [Run] Filename: "{app}\Generator.exe"; Parameters: "-i";Tasks: gen;Flags:runhidden; ;Add port for QBOI Authentication Filename: "{sys}\netsh.exe"; Parameters: "http add urlacl url=http://+:65521/ user=\Everyone"; WorkingDir: "{sys}";Tasks: qboi; Flags: runhidden runascurrentuser; [UninstallDelete] Type: files; Name: "{app}\ayalog.txt" [UninstallRun] Filename: "{app}\Generator.exe"; Parameters: "-u";Tasks: gen;Flags:runhidden; ;Remove port for QBOI authentication Filename: "{sys}\netsh.exe"; Parameters: "http delete urlacl url=http://+:65521/"; WorkingDir: "{sys}";Tasks: qboi; Flags: runascurrentuser; [Code] var QBFCChecked: Boolean; QBFCCheckResult: Boolean; DPChecked: Boolean; DPCheckResult: Boolean; function CheckForQBFC(): Boolean; begin if not QBFCChecked then begin QBFCCheckResult := True; if not FileExists(ExpandConstant('{cf}\Intuit\QuickBooks\qbfc7.dll')) then begin QBFCCheckResult := MsgBox('QBFC7 does not appear to have been installed as required prior to QBI.' #13#13 'File: ' + ExpandConstant('{cf}\Intuit\QuickBooks\qbfc7.dll') + ' was not found.'#13#13'Do you want to install QBI plugin anyway?', mbConfirmation, MB_YESNO) = idYes; if not QBFCCheckResult then begin WizardForm.CancelButton.OnClick(WizardForm.CancelButton); end; QBFCChecked := True; end; end; Result := QBFCCheckResult; end; {--- Data Portal ---} const IISServerName = 'localhost'; IISServerNumber = '1'; IISURL = 'http://127.0.0.1'; function CheckPortalServer(): Boolean; var IIS, WebSite, WebServer, WebRoot, VDir: Variant; begin if not DPChecked then begin DPChecked := True; DPCheckResult := False; { Create the main IIS COM Automation object } try IIS := CreateOleObject('IISNamespace'); except RaiseException('Please install Microsoft IIS first.'#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', 'AyaNovaDP'); WebRoot.SetInfo(); except end; VDir := WebRoot.Create('IIsWebVirtualDir', 'AyaNovaDP'); VDir.AccessRead := True; VDir.AccessExecute := True; VDir.AppFriendlyName := 'AyaNova DataPortal INNO'; VDir.Path := ExpandConstant('{app}'); VDir.AppCreate(True); VDir.SetInfo(); DPCheckResult := True; MsgBox('Created virtual directory AyaNovaDP'#13#13+VDir.Path, mbInformation, mb_Ok); end; Result := DPCheckResult; 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; {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; {case 1525 Check if we have a combination of a 64bit os and QBI task selected } var HasQBI64bitChecked: Boolean; IsQBI64Bit: Boolean; function IsQBIX64: Boolean; begin if not HasQBI64bitChecked then begin IsQBI64Bit := (IsTaskSelected('qbi') and IsX64); HasQBI64bitChecked:=true; end; Result:=IsQBI64Bit; end; {auto uninstall case 1396 stuff } ///////////////////////////////////////////////////////////////////// function GetUninstallString(): String; var sUnInstPath: String; sUnInstallString: String; begin sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\ayanova4x_is1'); sUnInstallString := ''; if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); Result := sUnInstallString; end; ///////////////////////////////////////////////////////////////////// function IsUpgrade(): Boolean; begin Result := (GetUninstallString() <> ''); end; ////////////////////////////////////////////////////////////////////// function BackupConfigFile(): Boolean; var OldFile: string; begin Result := false; OldFile := ExpandConstant('{app}\config.txt'); if FileExists(OldFile) then Result := FileCopy(OldFile, ExpandConstant('{app}\config.backup'), false); end; ////////////////////////////////////////////////////////////////////// function RestoreConfigFile(): Boolean; var OldFile: string; begin Result := false; OldFile := ExpandConstant('{app}\config.backup'); if FileExists(OldFile) then Result := FileCopy(OldFile, ExpandConstant('{app}\config.txt'), false); end; ///////////////////////////////////////////////////////////////////// function UnInstallOldVersion(): Integer; var sUnInstallString: String; iResultCode: Integer; begin // Return Values: // 1 - uninstall string is empty // 2 - error executing the UnInstallString // 3 - successfully executed the UnInstallString // default return value Result := 0; // get the uninstall string of the old app sUnInstallString := GetUninstallString(); if sUnInstallString <> '' then begin sUnInstallString := RemoveQuotes(sUnInstallString); BackupConfigFile(); CreateMutex('AyaNovaReInstall');//set a mutex so when the uninstall is running it knows it's a re-install so it won't ask to delete database files survey etc if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then begin Result := 3; RestoreConfigFile(); end else Result := 2; end else Result := 1; end; ///////////////////////////////////////////////////////////////////// procedure CurStepChanged(CurStep: TSetupStep); begin if (CurStep=ssInstall) then begin if (IsUpgrade()) then begin UnInstallOldVersion(); end; end; end; //case 1597 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var ResultCode: Integer; begin if CurUninstallStep = usUninstall then begin if not CheckForMutexes('AyaNovaReInstall') then begin //case 1600 to avoid prompt if reinstall //run uninstall survey since this is a complete uninstall //Exec(ExpandConstant('{app}\uis.exe'), 'survey','', SW_SHOW, ewWaitUntilTerminated, ResultCode); //prompt to remove database files since this is a complete uninstall if MsgBox('Delete installed database files also?', mbConfirmation, MB_YESNO) = IDYES then begin if MsgBox('*** Are you certain you want to permanently delete the installed AyaNova database files on this computer? ***', mbConfirmation, MB_YESNO) = IDYES then begin //case 3646 removed //DeleteFile(ExpandConstant('{commonappdata}')+'\AyaNovaData\AYANOVALITE.FDB'); DeleteFile(ExpandConstant('{commonappdata}')+'\AyaNovaData\AYANOVA.FDB'); end; end; end; end; end;