Files
ayanova7/Installs/AyaNovaINNO/AyaNova.iss

583 lines
32 KiB
Plaintext

; AyaNova consolidated installer for
; AyaNova, QBI, QBOI, PTI, Generator, ToMSSQL
[Setup]
AppName=AyaNova
AppVerName=AyaNova 7.6.17
AppPublisher=Ground Zero Tech-Works Inc.
AppPublisherURL=https://www.ayanova.com/
AppSupportUrl=http://forum.ayanova.com
AppVersion=7.6.17
;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;