这就是问题所在。
我用 C# (Visual Studio 2012) 编写了一个 Windows 服务,它查询 MS SQL 数据库,然后使用 FAXCOMEXLIB 发送传真。
我可以参考 FAXCOMEXLIB 并使用服务器类和传真文档类。创建并发送传真。
但是,当我尝试使用 FAXCOMEXLIB 库中的任何其他类时,我在运行服务时收到以下错误(它编译时没有任何错误):
System.Runtime.InteropServices.COMException (0x80040111): Retrieving the COM class
factory for component with CLSID {43C28403-E04F-474D-990C-B94669148F59} failed due to
the following error: 80040111 ClassFactory cannot supply requested class (Exception from HRESULT: 0x80040111 (CLASS_E_CLASSNOTAVAILABLE)).
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
这是由
FAXCOMEXLib.FaxOutgoingArchive faxOutgoing = new FAXCOMEXLib.FaxOutgoingArchive();
我试着跑
regsvr32.exe fxscomex.dll
它没有帮助。
我还尝试手动创建和导入以下注册表项。
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}]
@="FaxOutgoingArchive Class"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}\InprocServer32]
@=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,66,00,78,00,\
73,00,63,00,6f,00,6d,00,65,00,78,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}\ProgID]
@="FaxComEx.FaxOutgoingArchive.1"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990CB94669148F59}\Programmable]
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}\TypeLib]
@="{2BF34C1A-8CAC-419F-8547-32FDF6505DB8}"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}\Version]
@="1.0"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{43C28403-E04F-474D-990C-B94669148F59}\VersionIndependentProgID]
@="FaxComEx.FaxOutgoingArchive"
注册表项没有帮助。我尝试在 Windows 7 64 位、Windows Server 2012 64 位和 Windows Server 2008 32 位上运行该服务,结果完全相同。
任何建议将不胜感激。