583 lines
32 KiB
Plaintext
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;
|
|
|
|
|