Вопрос по .net – Не удалось получить фабрику класса COM для компонента с CLSID {XXXX} из-за следующей ошибки: 80040154

264

Я разработал службу Windows, используя C # .NET для создания отчета в формате PDF. Для создания PDF-файла я использую стороннюю DLL. Приложение работает на моей платформе Windows XP. Когда я развернул службу вWindows Server 2008 64-битная версия, я получил эту ошибку:

Retrieving the COM class factory for component with CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6} failed due to the following error: 80040154.

Я зарегистрировал DLL с помощью команды regsvr32. Я смог увидеть этот CLSID в реестре. Но проблема сохраняется.

В чем может быть проблема?

Error: User Rate Limit Exceeded newprogress
Error: User Rate Limit Exceeded gopal

Ваш Ответ

17   ответов
13

1

office

5

Error: User Rate Limit Exceeded
14

Select Application pool Select the pool which your app uses Advanced settings Enable 32 bit applications true
У меня была похожая проблема, которая была устранена в соответствии с инструкциями Назима, но мне также не нужно было «вставлять типы взаимодействия». (свойство ссылочной библиотеки DLL) и установите Copy Local = true.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
5

c:\windows\system32\regsvr32.exe /U This will not remove references to other copied of the dll in other folders.

Find the key called HKEY_CLASSES_ROOT\CLSID{......}\InprocServer32. This key will have the filename of the DLL as its default value. I removed the HKEY_CLASSES_ROOT\CLSID{......} folder.

C:\Windows\SysWOW64\regsvr32 <file.dll>

0

C:\Windows\SysWow64\RegSvr32.exe c:\Windows\SysWow64\Redemption.dllRestart

7

Error: User Rate Limit Exceeded
6

open cmd.exe with Administrator permission. Copy the dll to the folder C:\Windows\SysWOW64 run regsvr32 from C:\Windows\SysWOW64 Verify that dll is in registry of Windows. If you has a .exe x86 that use the dll, the exe must be compiled in x86 mode. The exe must be installed in folder C:\Program Files (x86)

0

wordexcelWin+RdcomcnfgExcelWordOfficeOpen the properties, select Identity tab and select the interactive user.,

CLSID {000209FF-0000-0000-C000-000000000046}interactive user

3

Create a setup project for your solution. After you create it, Go to Solution Explorer, right click the setup project. Press Configuration Manager. Click on: "Active Solution Platform" combobox and select New (If there is no x86 displayed) Select from first combo x86 then press OK. rebuild Setup project, then rebuild All the project.
14

Locate your COM object GUID under the HKey_Classes_Root\Wow6432Node\CLSID\{GUID} Once located add a new REG_SZ (string) Value. Name should be AppID and data should be the same COM object GUID you have just searched for Add a new key under HKey_Classes_Root\Wow6432Node\AppID. The new key should be called the same as the COM object GUID. Under the new key you just added, add a new String Value, and call it DllSurrogate. Leave the value empty. Create a new Key under HKey_Local_Machine\Software\Classes\AppID\ Again the new key should be called the same as the COM object’s GUID. No values are necessary to be added under this key.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
53

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

367

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
58

x86.

x86

3

Error: User Rate Limit Exceeded
1

an x86 library referenced in my .NET project that was not being registered as OCX/COM

Похожие вопросы