These are optional because you need only to distribute the component that your application actually uses, for example, if you are using only QBFC you redistribute the QBFC component, not any of the others.
Any of the installers or merge modules within the QB SDK install subdirectories toolsInstallers or toolsMergeModules can be redistributed. Currently these include QBFC, RDS, the QBO connector, and the web connector.
Note
Note
You can never redistribute the request processor DLL (qbxmlrp.dll or qbxmlrp2.dll). This violates the license agreement and can lead to undesirable user experiences.
If you are using the QBFC API, the Remote Data Sharing (RDS) feature, the QBO connector or the web connector in your application, there are only two supported ways in which you can distribute our redistributable components:
Note
Note
NOTE: It is a violation of your qbXML license agreement to redistribute QBFC, RDS, the QBO connector, or the web connector without using either our stand-alone installers or our merge modules.
Do not use automatic installation programs and packaging wizards, such as the wizard in Microsoft® Visual Studio®. These will not install properly (even if you are using .NET), for the following reasons:
Note
Note
The QBFC library requires the Microsoft system DLL ShFolder.dll to be installed on the system. Newer Microsoft operating systems (Windows ME, Windows XP, etc.) have this DLL pre-installed. This DLL is installed if needed by QuickBooks and by the QBFC stand-alone installer using the SHFolder.exe redistributable installer from Microsoft. If you plan to use the QBFC merge module in your installer and you want your application to work with RDS (where QuickBooks may not be installed on the machine where your application is installed) then your installer must include and execute the SHFolder.exe installer from Microsoft. Technical issues prevent us from including this action in the QBFC merge module itself.
If your install process does not support merge modules, you will need to use the stand-alone installers provided with the SDK. These installers will automatically perform a proper installation.
To install the QBFC Library on your end-users’ machines:
QBFC1, QBFC2, QBFC2CA, QBFC2_1, QBFC3, QBFC4, and QBFC5 can be installed side-by-side on the same computer. The stand-alone installer for QBFC4 will install QBFC4 and QBXMLRP2.
If your install process supports Microsoft merge modules, you can use the merge modules that are provided.
The Microsoft Installer (MSI) service is built into Windows 2000 and XP. MSI solves a number of installation problems, such as getting clean uninstalls and protecting system components, and includes redistributable install engines that support Win98, WinNT, and Win ME. To get a “Designed for Windows” logo, your application must be installed using MSI.
“Merge modules” are a key part of MSI. They encode the logic and files needed to correctly redistribute shared components, which aren’t removed from a system until all of the applications that installed them are removed.
Any installation that is built for an MSI-engine installer can use merge modules. Many proprietary install tools that are not strictly based on MSI (for example, newer versions of InstallShield Professional) can also take advantage of merge modules.
The SDK merge modules are located in the /tools/MergeModules folder.
Here’s how to use them:
The QBFC merge modules provide QBFC DLL files and COM registration information for QBFC. The QBFC merge modules depend on the Xerces XML parser module and on the QBXMLRP2 merge module—in other words, installing QBFC installs the Xerces files and QBXMLRP2.