一直在使用 Intuit Quickbooks SDK(桌面)开发一个简单的应用程序,在过去 3 个月的开发过程中一切都运行良好。我将开发搁置了几周,然后回来,我的应用程序无法打开 Quickbooks(2015 Enterprise)数据文件。我可以在 Quickbooks 中打开它,进行更改并且工作正常(文件完整性完美 - 没有错误)。
当我启动 QBsessionManager 时,收到错误:“无法启动 Quickbooks”。无论 Quickbooks 是打开、关闭、多用户还是单用户模式(没有区别),都会发生这种情况。正如其他论坛所建议的那样,我查看了任务管理器中是否打开了另一个 QB 幻影版本 - 没有。没有什么区别。
sessionManager.BeginSession(qbFilePath, ENOpenMode.omMultiUser)
MultiUser、SingleUser、DontCare 开放模式也没关系。这段代码几个月来一直工作正常 - 突然根本无法工作。
在 QBSDKLOG.txt 文件中,我看到以下内容:
20150827.083322 I 10704 RequestProcessor ========= Started Connection =========
20150827.083322 I 10704 RequestProcessor Request Processor, QBXMLRP2 v13.0
20150827.083322 I 10704 RequestProcessor Connection opened by app named 'QBIntegrator'
20150827.083322 I 10704 CertVerifier The Authenticode signature validated OK.
20150827.083322 I 10704 RequestProcessor OS: Microsoft Professional (build 9200), 64-bit
20150827.083322 I 10704 RequestProcessor Current Process is elevated
20150827.083322 I 10704 RequestProcessor Current User is in AdminGroup
20150827.083322 I 10704 RequestProcessor Current Process is ran as Admin
20150827.083322 I 10704 RequestProcessor Current Process Integrity Level : 3000
20150827.083322 E 10704 RequestProcessor Unknown QBInstanceFinder error. File Name: "Q:\XXXXXXXXXXX.qbw" hr = 80070057
20150827.083322 E 10704 RequestProcessor Could not find or create an instance of QuickBooks using InstanceFinder hr = 80040403
20150827.083323 I 10704 RequestProcessor Connection closed by app named 'QBIntegrator'
20150827.083323 I 10704 RequestProcessor ========== Ended Connection ==========
我唯一能想到的(发生变化的)是 Windows 8.1 有一些更新,以某种方式使 Quickbooks 2015 Enterprise 与 Windows 不兼容(Quickbooks 多年来一直存在这样的错误,但 Intuit 论坛并没有表明新的错误裁剪起来 - 所以我不知所措)。
我只能猜测这个新问题可能是什么。
注意:我正在 Windows 8.1 上的 Visual Studio 2015 中进行开发
原因可能有很多,但其中一个总是困扰我(和我们的用户)——如果您以 Windows 管理员身份运行 QuickBooks,则集成应用程序(您的应用程序)也必须以 Windows 管理员身份运行,反之亦然。从您发布的日志来看,您的应用程序似乎正在以管理员身份运行。
就像您所说,确保没有任何虚拟 QBW32.exe 运行总是好的,但如果有(并且您没有运行 QB Enterprise),通常会给出不同的错误。
如果这不起作用,该网站列出了 7 个可能的原因,但对我来说,这通常是我上面列出的第一件事:http://www.clearify.com/wiki/view/381/error -80040408-quickbooks-不启动
如果您在 Desktop SDK 中遇到“无法启动 QuickBooks”错误消息,这通常表示 QuickBooks 和 SDK 的交互方式存在问题。要解决此问题,请确保 QuickBooks 已正确安装并更新到最新版本。确保 QuickBooks 与您的 SDK 应用程序在相同的用户上下文中运行 - 两者都应该以管理员身份运行或不以管理员身份运行。另外,请检查公司文件是否已打开且可访问,以及您的防火墙或防病毒软件是否阻止 SDK 对 QuickBooks 的访问。如果问题仍然存在,请尝试重新启动计算机和 QuickBooks,并验证您的 SDK 应用程序是否已正确配置为与 QuickBooks 连接。
如果您仍然遇到此问题,请访问 Quickbooks 联系人