3

我在 c# 中创建了一个连接到我们的 QB 的应用程序,以便发布发票等。我准备将其部署给会计师,以便他们可以进一步测试应用程序。这个应用程序在我的机器上运行良好,但是,当我构建我的项目并将 exe 带到我们的一台会计师计算机时,我收到一个关于“COM 类工厂,等等,等等类未注册”的错误

在过去,该错误意味着我需要使用 x86 而不是 x64 构建 c#,但我做到了并且仍然收到错误。我现在相信他们没有像我一样在他们的计算机上注册 QBFC12.dll。

这是问题吗,如果是这样,我是否必须手动注册 dll 或者是他们在他们的机器上获取该 dll 的另一种方式?

4

3 回答 3

3

我终于找到了答案。

  1. 如果您安装了 QBSDK,请浏览该文件夹并找到 Tools 文件夹
  2. 在它下面,您应该找到一个包含“QBFC12_0Installer.exe”的安装程序文件夹
  3. 在客户端机器上安装 exe。
  4. 尝试运行您的程序,如果您遇到另一个关于“未安装 QBXML 组件的错误,您将需要重新安装 QuickBooks 并再次从步骤 1 开始。这应该可以让您的应用程序为客户端启动并运行。

最接近并让我走上正轨的人是 MikeBr59,所以我给了他投票,并发布了这篇文章,以防它帮助其他人。

谢谢,

于 2013-11-05T22:01:29.687 回答
1

我认为您必须手动复制并注册。

没有其他选择。

请按照以下步骤手动复制和注册。

1.将“QBFC12.dll”文件复制到以下2个文件夹中:

aC:\Windows\System32\

bC:\Windows\SysWOW64\

2.使用以下步骤注册“QBFC12.dll”文件:

打开命令提示符

cd C:\Windows\System32
regsvr32  QBFC12.dll

3.在从 Visual Studio 运行项目时,将平台目标强制为 32 位 -> 因为项目已使用以下步骤以 32 位开发:

Right click on Project
Select Properties
Goto Build Options
Change  "Platform Target" from "ANY CPU" to "X86"

4.现在运行项目。

于 2013-11-01T14:29:47.347 回答
0

QBFC12.dll通过创建 COM+ 应用程序并QBFC12.dll在 Windows 组件服务中注册为该 COM+ 应用程序的组件,我解决了我的 x64 应用程序无法通过 COM 使用的问题。

于 2018-05-24T13:40:05.247 回答