检索组件80040154的COM类工厂类未注册 - DLL肯定在注册表中,而应用程序正在使用x86

时间:2018-04-10 12:45:42

标签: c# com

我正在尝试将Brother QL-700标签打印机集成到我正在编写的C#应用​​程序中。我已经创建了一个控制台应用程序来测试打印机,并添加了以下代码(取自Brother网站上的SDK):

class Program
{
    private const string TEMPLATE_DIRECTORY = @"c:\program files\brother bpac3 sdk\templates\";
    private const string TEMPLATE_FRAME = @"NamePlate2.LBX";

    static void Main(string[] args)
    {
        string templatePath = TEMPLATE_DIRECTORY;
        templatePath += TEMPLATE_FRAME;

        IDocument doc = new bpac.Document();

        if (doc.Open(templatePath) != false)
        {
            doc.GetObject("objCompany").Text = "Company";
            doc.GetObject("objName").Text = "Your name here...";

            doc.StartPrint("", PrintOptionConstants.bpoDefault);
            doc.PrintOut(1, PrintOptionConstants.bpoDefault);
            doc.EndPrint();
            doc.Close();
        }
        else
        {
            Console.WriteLine("Open() error: " + doc.ErrorCode);
            Console.ReadLine();
        }



    }
}

应用程序在我创建bpac.Document的新实例的行上停止,它会抛出以下错误消息:

  

System.Runtime.InteropServices.COMException:'由于以下错误,检索具有CLSID {B940C105-7F01-46FE-BF41-E040B9BDA83D}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154( REGDB_E_CLASSNOTREG))'

Stack Overflow上有关于此问题的其他几篇文章,我尝试了一些常见的修补程序:

  1. 有问题的DLL肯定在Windows注册表中
  2. 我已将控制台应用程序上的应用程序架构更改为x86
  3. 我仍然无法取得任何进展。还有其他人有其他想法吗?

0 个答案:

没有答案