C# Kofax导出连接器注册

C# Kofax导出连接器注册,c#,kofax,C#,Kofax,我想创建一个Kofax导出连接器并在管理模块中注册它。我用以下代码创建了一个类库(.netframework),用于安装和发布 KfxReleaseSetupScript.cs namespace Kofax_CoBRA_Export { [Guid("b826cc5a-ed80-4fe1-a80f-86a08cca2851")] public interface IKfxReleaseSetupScript { ReleaseSetu

我想创建一个Kofax导出连接器并在管理模块中注册它。我用以下代码创建了一个
类库(.netframework)
,用于安装和发布

KfxReleaseSetupScript.cs

namespace Kofax_CoBRA_Export
{
    [Guid("b826cc5a-ed80-4fe1-a80f-86a08cca2851")]
    public interface IKfxReleaseSetupScript
    {
        ReleaseSetupData SetupData { get; set; }
        KfxReturnValue OpenScript();
        KfxReturnValue CloseScript();
        KfxReturnValue RunUI();
        KfxReturnValue ActionEvent(KfxActionValue action, string dataStringOne, string dataStringTwo);
    }

    [Guid("39a4f6f6-0de1-40b2-8934-d9a7c2c79468")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("Kofax_CoBRA_Export.KfxReleaseSetupScript")]
    internal class KfxReleaseSetupScript : IKfxReleaseSetupScript
    {
        // Interface Implementation
    }
}
namespace Kofax_CoBRA_Export
{
    [Guid("091d8f6c-b4c4-42d4-81aa-3b86b31ce46d")]
    public interface IKfxReleaseScript
    {
        ReleaseData DocumentData { get; set; }
        KfxReturnValue OpenScript();
        KfxReturnValue CloseScript();
        KfxReturnValue ReleaseDoc();
    }

    [Guid("e034c243-ae35-4823-9f2f-10bb6a6fe5c0")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("Kofax_CoBRA_Export.ReleaseScript")]
    internal class KfxReleaseScript : IKfxReleaseScript
    {
        // Interface Implementation
    }
}
KfxReleaseScript.cs

namespace Kofax_CoBRA_Export
{
    [Guid("b826cc5a-ed80-4fe1-a80f-86a08cca2851")]
    public interface IKfxReleaseSetupScript
    {
        ReleaseSetupData SetupData { get; set; }
        KfxReturnValue OpenScript();
        KfxReturnValue CloseScript();
        KfxReturnValue RunUI();
        KfxReturnValue ActionEvent(KfxActionValue action, string dataStringOne, string dataStringTwo);
    }

    [Guid("39a4f6f6-0de1-40b2-8934-d9a7c2c79468")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("Kofax_CoBRA_Export.KfxReleaseSetupScript")]
    internal class KfxReleaseSetupScript : IKfxReleaseSetupScript
    {
        // Interface Implementation
    }
}
namespace Kofax_CoBRA_Export
{
    [Guid("091d8f6c-b4c4-42d4-81aa-3b86b31ce46d")]
    public interface IKfxReleaseScript
    {
        ReleaseData DocumentData { get; set; }
        KfxReturnValue OpenScript();
        KfxReturnValue CloseScript();
        KfxReturnValue ReleaseDoc();
    }

    [Guid("e034c243-ae35-4823-9f2f-10bb6a6fe5c0")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("Kofax_CoBRA_Export.ReleaseScript")]
    internal class KfxReleaseScript : IKfxReleaseScript
    {
        // Interface Implementation
    }
}
我的
.inf
注册文件包含此代码

[Scripts]
Kofax_CoBRA_Export
[Kofax_CoBRA_Export]
SetupModule=.\bin\Debug\Kofax_CoBRA_Export.dll
SetupProgID=Kofax_CoBRA_Export.KfxReleaseSetupScript
SetupVersion=1.0
ReleaseModule=.\bin\Debug\Kofax_CoBRA_Export.dll
ReleaseProgID=Kofax_CoBRA_Export.KfxReleaseScript
ReleaseVersion=1.0
SupportsNonImageFiles=True
RemainLoaded=True
SupportsKofaxPDF=True
SupportsOriginalFileName=True
SupportsMultipleInstances=False
DisplayName=Kofax_CoBRA_Export
当我在管理模块中选择
.inf
文件时,我只得到一个空框,因此没有要安装的内容

我从他那里得到了信息

Kofax Capture开发者指南10.0.0

KCEC文本导出器示例

Kofax捕获API参考指南

Kofax捕获导出类型库


但我真的不明白为什么要在管理模块中安装任何东西。任何帮助都将不胜感激。

当提供相对路径时,Kofax希望二进制文件位于其自己的目录中(通常是服务器上的C:\Program Files(x86)\Kofax\CaptureS\ServLib\Bin,因为admin.exe使用此工作路径运行)。在您的情况下,这将转换为
C:\Program Files(x86)\Kofax\CaptureSS\ServLib\Bin\Bin\Debug\Kofax\u CoBRA\u Export.dll

请注意,Kofax建议将所有自定义二进制文件(包括inf文件)复制到服务器目录,但是我更喜欢为我的代码创建一个子文件夹,将所有文件放在那里。然后,我的inf文件如下所示:

[Scripts]
SmartCAP.KEC.EnergieAG.SAP

[SmartCAP.KEC.EnergieAG.SAP]
SetupModule=SmartCAP.KEC.EnergieAG.SAP.dll
SetupProgID=SmartCAP.KEC.EnergieAG.SAP.Setup
SetupVersion=11.0
ReleaseModule=SmartCAP.KEC.EnergieAG.SAP.dll
ReleaseProgID=SmartCAP.KEC.EnergieAG.SAP
ReleaseVersion=11.0
SupportsNonImageFiles=True
SupportsKofaxPDF=True

请注意,Kofax仍然需要能够解析您在解决方案中使用的所有依赖项-最明确的是内部依赖项,如
Kofax.ReleaseLib.Interop.DLL
-因此,您可以将它们复制到那里,或者-这是我更喜欢的,在代码中使用自定义程序集解析程序,指向服务器目录。

现在我可以尝试安装导出连接器,但是我再次得到错误<代码>无效PrimID<代码>。如果这个答案解决了您的特定问题,请考虑将它标记为接受的答案,除了支持它-谢谢。关于无效的ProgId消息:请查看本文。如果问题无法解决,请随时提出其他问题。