How to solve COM Exception Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
When I try to create a instance of a COM class it throws an exception as
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Please suggest how could i solve it?
c# vb.net
add a comment |
When I try to create a instance of a COM class it throws an exception as
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Please suggest how could i solve it?
c# vb.net
1
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
10
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57
add a comment |
When I try to create a instance of a COM class it throws an exception as
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Please suggest how could i solve it?
c# vb.net
When I try to create a instance of a COM class it throws an exception as
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Please suggest how could i solve it?
c# vb.net
c# vb.net
edited Oct 6 '09 at 6:48
Jaswant Agarwal
asked Sep 30 '09 at 5:12
Jaswant AgarwalJaswant Agarwal
2,15083346
2,15083346
1
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
10
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57
add a comment |
1
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
10
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57
1
1
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
10
10
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57
add a comment |
19 Answers
19
active
oldest
votes
It looks like whichever program or process you're trying to initialize either isn't installed on your machine, has a damaged installation or needs to be registered.
Either install it, repair it (via Add/Remove Programs) or register it (via Regsvr32.exe).
You haven't provided enough information for us to help you any more than this.
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bitdll
work with a64 bit
server?
– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
add a comment |
You need to make sure all of your assemblies are compiling for the correct architecture. Try changing the architecture for x86 if reinstalling the COM component doesn't work.
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
add a comment |
My problem and the solution
I have a 32 bit third party dll which i have installed in 2008 R2 machine which is 64 bit.
I have a wcf service created in .net 4.5 framework which calls the 32 bit third party dll for process. Now i have build property set to target 'any' cpu and deployed it to the 64 bit machine.
when i tried to invoke the wcf service got error "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
Now i used ProcMon.exe to trace the com registry issue and identified that the process is looking for the registry entry at HKLMCLSID and HKCRCLSID where there is no entry.
Came to know that Microsoft will not register the 32 bit com components to the paths HKLMCLSID, HKCRCLSID in 64 bit machine rather it places the entry in HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID paths.
Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit machine which will look for the registry entry in HKLMCLSID, HKCRCLSID. The solution is we have to force the 64 bit process to look at the registry entry at HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID.
This can be achieved by configuring the wcf service project properties to target to 'X86' machine instead of 'Any'.
After deploying the 'X86' version to the 2008 R2 server got the issue "System.BadImageFormatException: Could not load file or assembly"
Solution to this badimageformatexception is setting the 'Enable32bitApplications' to 'True' in IIS Apppool properties for the right apppool.
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
add a comment |
Also note that the class context when initializing can create that exception. If you have an object which is coded as INPROC_SERVER but you try to CoCreateInstance as CLSCTX_LOCAL_SERVER, you will also get that error.
You need to ensure the object is registered and the CoCreateInstance is creating an instance with the correct class context.
Yep, if for instance you try to createDesktopWallpaper
usingCLSCTX_INPROC
(instead ofCLSCTX_ALL
) you will get the0x80040154 (REGDB_E_CLASSNOTREG)
error.
– user362515
Jan 9 '16 at 22:25
add a comment |
If you are using 64-bit COM components in a web application on IIS, make sure the application pool is set to not allow 32 bit applications (Enable 32-Bit Applications: false in advanced settings)
add a comment |
I got it to work by Enabling 32 bit applications in the Application Pool advanced settings. Right click on the application pool and choose advanced settings - enable 32 bit applications.
This may help someone out there.
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
add a comment |
By registering the class (specifically its CLSID) -- see e.g. here.
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
add a comment |
in my case
my platform
is x64
the Dll library(sdk)
and the redistributable package
is x64
so
in the solution explorer
navigate to your project
open
Properties
change the Platform target from AnyCPU to x64
add a comment |
The way that I resolved this issue was to register the COM
via regsvr32
.
ensure that the COM you are invoking is registered.
My application was using xceedcry.dll
and I was not registering it. Once I registered it, the application worked fine.
add a comment |
For me, I had to create 64 bit build configuration.
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
add a comment |
I had the same issue using MapWinGis.
I found the solution, working on visual studio 2015 windows forms proyect, just right click on the proyect-> properties-> Build, set configuration to All configurations and in the conbobox "platform target" set it to x64.
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
add a comment |
I ran into this issue calling a .Net assembly from a C++ client via COM. It turns out that one of the assemblies the .Net assembly depended on could not be found. I wrestled for a while trying to figure out what was wrong with the 1st assembly, but it was actually one of the 1st assembly's dependencies. I received two different errors when calling CoCreateInstance() from the C++ client. The first was:
REGDB_E_CLASSNOTREG Class not registered
And the second try was:
0x80131040 : The located assembly's manifest definition does not match the assembly reference.
So check that your assembly's references are present.
I discovered this by browsing the 1st assembly with dotPeek and noticing one of it's references was missing. Placing the correct version of the dependency in the folder resolved both errors.
add a comment |
I was compiling my application targeting any CPU and main problem turned out that adobe reader was installed older v10.x needs to upgrade v11.x, this is the way how I get to resolve this issue.
add a comment |
My solution was to change the "Enable 32-Bit Applications" to True in the advanced settings of the relative app pool in IIS.
add a comment |
I ran into the same issue using a COM class, i.e. 'Class not registered exception' at runtime. For me I was able to resolve by going to the app.config file and change the 'startup' and 'supportedRuntime' elements to something like:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
You can read more about the details here http://stackoverflow.com/questions/1604663/
and here https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
I should note I am running Visual Studio 2017.
Target cpu = x86
Embed Interop Type = true (in the properties window)
add a comment |
In my case the class was registered properly and built in ANY CPU / 64 bit mode.
But the Enable 32-bit Applications property of the IIS Application pool of the application which uses the class was set to True.
Class was not found because of the architecture mismatch between the application pool configuration and the actual registered class.
Setting Enable 32-bit Applications to False fixed the issue.
add a comment |
go to the directory of .Net framework and register their the respective dll with Regsvr32.exe white space dll path.
add a comment |
I have faced the same issue. After done some research i found fix for me and it may useful. The issue is not only related to re-installation as of my observation, it depends on access permissions also.
Step 1: Repair the particular COM object.
Step 2: Component Services > Computers > My Computer > DCOM Config > Select your COM object > Right click > Properties > Security tab > Access Permissions > Choose Customize > Click EDIT > Select IIS_USER (If not exists create with complete rights) and give complete access and click OK.
Move to Identity tab > You can select "Interactive user" or "This user" > Click Apply and OK. If you choose "This user", we have to give Administrative privileged user to that server
Step 3: Open IIS Manager > Restart the Application Pools.
Note: If required please restart the server
add a comment |
Here find the solution, run mmc -32 tool (not dcomcfg)
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
add a comment |
protected by Community♦ Apr 4 at 11:18
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
19 Answers
19
active
oldest
votes
19 Answers
19
active
oldest
votes
active
oldest
votes
active
oldest
votes
It looks like whichever program or process you're trying to initialize either isn't installed on your machine, has a damaged installation or needs to be registered.
Either install it, repair it (via Add/Remove Programs) or register it (via Regsvr32.exe).
You haven't provided enough information for us to help you any more than this.
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bitdll
work with a64 bit
server?
– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
add a comment |
It looks like whichever program or process you're trying to initialize either isn't installed on your machine, has a damaged installation or needs to be registered.
Either install it, repair it (via Add/Remove Programs) or register it (via Regsvr32.exe).
You haven't provided enough information for us to help you any more than this.
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bitdll
work with a64 bit
server?
– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
add a comment |
It looks like whichever program or process you're trying to initialize either isn't installed on your machine, has a damaged installation or needs to be registered.
Either install it, repair it (via Add/Remove Programs) or register it (via Regsvr32.exe).
You haven't provided enough information for us to help you any more than this.
It looks like whichever program or process you're trying to initialize either isn't installed on your machine, has a damaged installation or needs to be registered.
Either install it, repair it (via Add/Remove Programs) or register it (via Regsvr32.exe).
You haven't provided enough information for us to help you any more than this.
edited Jul 24 '13 at 10:47
nawfal
43.9k36258304
43.9k36258304
answered Sep 30 '09 at 5:21
Jay RiggsJay Riggs
47.1k9118135
47.1k9118135
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bitdll
work with a64 bit
server?
– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
add a comment |
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bitdll
work with a64 bit
server?
– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
3
3
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Think you meant RegSvr32.exe (as oppose RegSrv32.exe).
– windowsgm
Apr 30 '13 at 14:08
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Indeed I did @killianmcc, thanks.
– Jay Riggs
Apr 30 '13 at 18:26
Will a 32 bit
dll
work with a 64 bit
server?– Suhail Gupta
Jan 4 '16 at 7:36
Will a 32 bit
dll
work with a 64 bit
server?– Suhail Gupta
Jan 4 '16 at 7:36
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
@SuhailGupta see stackoverflow.com/a/9482952/1557027
– Markus Köhler
Jan 26 '16 at 12:54
add a comment |
You need to make sure all of your assemblies are compiling for the correct architecture. Try changing the architecture for x86 if reinstalling the COM component doesn't work.
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
add a comment |
You need to make sure all of your assemblies are compiling for the correct architecture. Try changing the architecture for x86 if reinstalling the COM component doesn't work.
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
add a comment |
You need to make sure all of your assemblies are compiling for the correct architecture. Try changing the architecture for x86 if reinstalling the COM component doesn't work.
You need to make sure all of your assemblies are compiling for the correct architecture. Try changing the architecture for x86 if reinstalling the COM component doesn't work.
edited Feb 28 '12 at 13:44
Matt Fenwick
32.5k14105174
32.5k14105174
answered Feb 28 '12 at 13:39
Andy FiedlerAndy Fiedler
54142
54142
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
add a comment |
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
This solved my process not finding the NAV 2009 R2 Client (ClassID 50000004-0000-1000-0001-0000836BD2D2).
– Vincent Vancalbergh
Jan 22 '18 at 13:55
add a comment |
My problem and the solution
I have a 32 bit third party dll which i have installed in 2008 R2 machine which is 64 bit.
I have a wcf service created in .net 4.5 framework which calls the 32 bit third party dll for process. Now i have build property set to target 'any' cpu and deployed it to the 64 bit machine.
when i tried to invoke the wcf service got error "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
Now i used ProcMon.exe to trace the com registry issue and identified that the process is looking for the registry entry at HKLMCLSID and HKCRCLSID where there is no entry.
Came to know that Microsoft will not register the 32 bit com components to the paths HKLMCLSID, HKCRCLSID in 64 bit machine rather it places the entry in HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID paths.
Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit machine which will look for the registry entry in HKLMCLSID, HKCRCLSID. The solution is we have to force the 64 bit process to look at the registry entry at HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID.
This can be achieved by configuring the wcf service project properties to target to 'X86' machine instead of 'Any'.
After deploying the 'X86' version to the 2008 R2 server got the issue "System.BadImageFormatException: Could not load file or assembly"
Solution to this badimageformatexception is setting the 'Enable32bitApplications' to 'True' in IIS Apppool properties for the right apppool.
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
add a comment |
My problem and the solution
I have a 32 bit third party dll which i have installed in 2008 R2 machine which is 64 bit.
I have a wcf service created in .net 4.5 framework which calls the 32 bit third party dll for process. Now i have build property set to target 'any' cpu and deployed it to the 64 bit machine.
when i tried to invoke the wcf service got error "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
Now i used ProcMon.exe to trace the com registry issue and identified that the process is looking for the registry entry at HKLMCLSID and HKCRCLSID where there is no entry.
Came to know that Microsoft will not register the 32 bit com components to the paths HKLMCLSID, HKCRCLSID in 64 bit machine rather it places the entry in HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID paths.
Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit machine which will look for the registry entry in HKLMCLSID, HKCRCLSID. The solution is we have to force the 64 bit process to look at the registry entry at HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID.
This can be achieved by configuring the wcf service project properties to target to 'X86' machine instead of 'Any'.
After deploying the 'X86' version to the 2008 R2 server got the issue "System.BadImageFormatException: Could not load file or assembly"
Solution to this badimageformatexception is setting the 'Enable32bitApplications' to 'True' in IIS Apppool properties for the right apppool.
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
add a comment |
My problem and the solution
I have a 32 bit third party dll which i have installed in 2008 R2 machine which is 64 bit.
I have a wcf service created in .net 4.5 framework which calls the 32 bit third party dll for process. Now i have build property set to target 'any' cpu and deployed it to the 64 bit machine.
when i tried to invoke the wcf service got error "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
Now i used ProcMon.exe to trace the com registry issue and identified that the process is looking for the registry entry at HKLMCLSID and HKCRCLSID where there is no entry.
Came to know that Microsoft will not register the 32 bit com components to the paths HKLMCLSID, HKCRCLSID in 64 bit machine rather it places the entry in HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID paths.
Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit machine which will look for the registry entry in HKLMCLSID, HKCRCLSID. The solution is we have to force the 64 bit process to look at the registry entry at HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID.
This can be achieved by configuring the wcf service project properties to target to 'X86' machine instead of 'Any'.
After deploying the 'X86' version to the 2008 R2 server got the issue "System.BadImageFormatException: Could not load file or assembly"
Solution to this badimageformatexception is setting the 'Enable32bitApplications' to 'True' in IIS Apppool properties for the right apppool.
My problem and the solution
I have a 32 bit third party dll which i have installed in 2008 R2 machine which is 64 bit.
I have a wcf service created in .net 4.5 framework which calls the 32 bit third party dll for process. Now i have build property set to target 'any' cpu and deployed it to the 64 bit machine.
when i tried to invoke the wcf service got error "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
Now i used ProcMon.exe to trace the com registry issue and identified that the process is looking for the registry entry at HKLMCLSID and HKCRCLSID where there is no entry.
Came to know that Microsoft will not register the 32 bit com components to the paths HKLMCLSID, HKCRCLSID in 64 bit machine rather it places the entry in HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID paths.
Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit machine which will look for the registry entry in HKLMCLSID, HKCRCLSID. The solution is we have to force the 64 bit process to look at the registry entry at HKLMWow6432NodeCLSID and HKCRWow6432NodeCLSID.
This can be achieved by configuring the wcf service project properties to target to 'X86' machine instead of 'Any'.
After deploying the 'X86' version to the 2008 R2 server got the issue "System.BadImageFormatException: Could not load file or assembly"
Solution to this badimageformatexception is setting the 'Enable32bitApplications' to 'True' in IIS Apppool properties for the right apppool.
answered Sep 8 '15 at 14:47
WaheedWaheed
38635
38635
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
add a comment |
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
Please don't post identical answers to multiple questions. Post one good answer, then vote/flag to close the other questions as duplicates. If the question is not a duplicate, tailor your answers to the question.
– kleopatra
Sep 8 '15 at 14:59
add a comment |
Also note that the class context when initializing can create that exception. If you have an object which is coded as INPROC_SERVER but you try to CoCreateInstance as CLSCTX_LOCAL_SERVER, you will also get that error.
You need to ensure the object is registered and the CoCreateInstance is creating an instance with the correct class context.
Yep, if for instance you try to createDesktopWallpaper
usingCLSCTX_INPROC
(instead ofCLSCTX_ALL
) you will get the0x80040154 (REGDB_E_CLASSNOTREG)
error.
– user362515
Jan 9 '16 at 22:25
add a comment |
Also note that the class context when initializing can create that exception. If you have an object which is coded as INPROC_SERVER but you try to CoCreateInstance as CLSCTX_LOCAL_SERVER, you will also get that error.
You need to ensure the object is registered and the CoCreateInstance is creating an instance with the correct class context.
Yep, if for instance you try to createDesktopWallpaper
usingCLSCTX_INPROC
(instead ofCLSCTX_ALL
) you will get the0x80040154 (REGDB_E_CLASSNOTREG)
error.
– user362515
Jan 9 '16 at 22:25
add a comment |
Also note that the class context when initializing can create that exception. If you have an object which is coded as INPROC_SERVER but you try to CoCreateInstance as CLSCTX_LOCAL_SERVER, you will also get that error.
You need to ensure the object is registered and the CoCreateInstance is creating an instance with the correct class context.
Also note that the class context when initializing can create that exception. If you have an object which is coded as INPROC_SERVER but you try to CoCreateInstance as CLSCTX_LOCAL_SERVER, you will also get that error.
You need to ensure the object is registered and the CoCreateInstance is creating an instance with the correct class context.
answered Sep 30 '09 at 5:24
Andrew KeithAndrew Keith
6,65411938
6,65411938
Yep, if for instance you try to createDesktopWallpaper
usingCLSCTX_INPROC
(instead ofCLSCTX_ALL
) you will get the0x80040154 (REGDB_E_CLASSNOTREG)
error.
– user362515
Jan 9 '16 at 22:25
add a comment |
Yep, if for instance you try to createDesktopWallpaper
usingCLSCTX_INPROC
(instead ofCLSCTX_ALL
) you will get the0x80040154 (REGDB_E_CLASSNOTREG)
error.
– user362515
Jan 9 '16 at 22:25
Yep, if for instance you try to create
DesktopWallpaper
using CLSCTX_INPROC
(instead of CLSCTX_ALL
) you will get the 0x80040154 (REGDB_E_CLASSNOTREG)
error.– user362515
Jan 9 '16 at 22:25
Yep, if for instance you try to create
DesktopWallpaper
using CLSCTX_INPROC
(instead of CLSCTX_ALL
) you will get the 0x80040154 (REGDB_E_CLASSNOTREG)
error.– user362515
Jan 9 '16 at 22:25
add a comment |
If you are using 64-bit COM components in a web application on IIS, make sure the application pool is set to not allow 32 bit applications (Enable 32-Bit Applications: false in advanced settings)
add a comment |
If you are using 64-bit COM components in a web application on IIS, make sure the application pool is set to not allow 32 bit applications (Enable 32-Bit Applications: false in advanced settings)
add a comment |
If you are using 64-bit COM components in a web application on IIS, make sure the application pool is set to not allow 32 bit applications (Enable 32-Bit Applications: false in advanced settings)
If you are using 64-bit COM components in a web application on IIS, make sure the application pool is set to not allow 32 bit applications (Enable 32-Bit Applications: false in advanced settings)
answered Sep 12 '13 at 8:11


Matsen75Matsen75
343410
343410
add a comment |
add a comment |
I got it to work by Enabling 32 bit applications in the Application Pool advanced settings. Right click on the application pool and choose advanced settings - enable 32 bit applications.
This may help someone out there.
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
add a comment |
I got it to work by Enabling 32 bit applications in the Application Pool advanced settings. Right click on the application pool and choose advanced settings - enable 32 bit applications.
This may help someone out there.
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
add a comment |
I got it to work by Enabling 32 bit applications in the Application Pool advanced settings. Right click on the application pool and choose advanced settings - enable 32 bit applications.
This may help someone out there.
I got it to work by Enabling 32 bit applications in the Application Pool advanced settings. Right click on the application pool and choose advanced settings - enable 32 bit applications.
This may help someone out there.
answered Apr 8 '16 at 23:14
YokyYoky
615816
615816
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
add a comment |
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
Same for me. A 32bit dll used on a 64bit dev machine, 64bit test and 64 bit live server. Worked fine on the dev box. When deployed to the test and live servers it failed until 32bit apps were allowed in the respective IIS App Pools and the pools restarted. I also had to turn off "Embed Interop Types" (a setting on the offending dll in VS) and set "Copy Local" = true to make sure the dll was actually copied in it's original form to the servers.
– cymorg
Jun 16 '16 at 23:59
add a comment |
By registering the class (specifically its CLSID) -- see e.g. here.
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
add a comment |
By registering the class (specifically its CLSID) -- see e.g. here.
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
add a comment |
By registering the class (specifically its CLSID) -- see e.g. here.
By registering the class (specifically its CLSID) -- see e.g. here.
answered Sep 30 '09 at 5:19
Alex MartelliAlex Martelli
636k12910461284
636k12910461284
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
add a comment |
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
Could it also be some object that needs to be installed on his machine or server, not necessarily a registration of the class.
– Xaisoft
Sep 30 '09 at 5:21
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
@Xaisoft, "installation" typically involves "registration", as the MSDN url I pointed to mentions.
– Alex Martelli
Sep 30 '09 at 5:24
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
That makes sense.
– Xaisoft
Sep 30 '09 at 5:25
add a comment |
in my case
my platform
is x64
the Dll library(sdk)
and the redistributable package
is x64
so
in the solution explorer
navigate to your project
open
Properties
change the Platform target from AnyCPU to x64
add a comment |
in my case
my platform
is x64
the Dll library(sdk)
and the redistributable package
is x64
so
in the solution explorer
navigate to your project
open
Properties
change the Platform target from AnyCPU to x64
add a comment |
in my case
my platform
is x64
the Dll library(sdk)
and the redistributable package
is x64
so
in the solution explorer
navigate to your project
open
Properties
change the Platform target from AnyCPU to x64
in my case
my platform
is x64
the Dll library(sdk)
and the redistributable package
is x64
so
in the solution explorer
navigate to your project
open
Properties
change the Platform target from AnyCPU to x64
answered Jun 13 '16 at 13:32


Basheer AL-MOMANIBasheer AL-MOMANI
7,02314866
7,02314866
add a comment |
add a comment |
The way that I resolved this issue was to register the COM
via regsvr32
.
ensure that the COM you are invoking is registered.
My application was using xceedcry.dll
and I was not registering it. Once I registered it, the application worked fine.
add a comment |
The way that I resolved this issue was to register the COM
via regsvr32
.
ensure that the COM you are invoking is registered.
My application was using xceedcry.dll
and I was not registering it. Once I registered it, the application worked fine.
add a comment |
The way that I resolved this issue was to register the COM
via regsvr32
.
ensure that the COM you are invoking is registered.
My application was using xceedcry.dll
and I was not registering it. Once I registered it, the application worked fine.
The way that I resolved this issue was to register the COM
via regsvr32
.
ensure that the COM you are invoking is registered.
My application was using xceedcry.dll
and I was not registering it. Once I registered it, the application worked fine.
edited Jul 14 '16 at 22:28
Ares
2,77512128
2,77512128
answered Jul 14 '16 at 19:59
CesarBCesarB
13115
13115
add a comment |
add a comment |
For me, I had to create 64 bit build configuration.
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
add a comment |
For me, I had to create 64 bit build configuration.
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
add a comment |
For me, I had to create 64 bit build configuration.
For me, I had to create 64 bit build configuration.
answered May 31 '16 at 16:43
joeyjoey
2,2382329
2,2382329
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
add a comment |
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
so helpful thanks
– Basheer AL-MOMANI
Jun 13 '16 at 13:55
add a comment |
I had the same issue using MapWinGis.
I found the solution, working on visual studio 2015 windows forms proyect, just right click on the proyect-> properties-> Build, set configuration to All configurations and in the conbobox "platform target" set it to x64.
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
add a comment |
I had the same issue using MapWinGis.
I found the solution, working on visual studio 2015 windows forms proyect, just right click on the proyect-> properties-> Build, set configuration to All configurations and in the conbobox "platform target" set it to x64.
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
add a comment |
I had the same issue using MapWinGis.
I found the solution, working on visual studio 2015 windows forms proyect, just right click on the proyect-> properties-> Build, set configuration to All configurations and in the conbobox "platform target" set it to x64.
I had the same issue using MapWinGis.
I found the solution, working on visual studio 2015 windows forms proyect, just right click on the proyect-> properties-> Build, set configuration to All configurations and in the conbobox "platform target" set it to x64.
answered Dec 22 '17 at 14:32
Deydra ADeydra A
111
111
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
add a comment |
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
lifesaver!!!! where do I send the check?
– Owen Ivory
Mar 28 at 16:46
add a comment |
I ran into this issue calling a .Net assembly from a C++ client via COM. It turns out that one of the assemblies the .Net assembly depended on could not be found. I wrestled for a while trying to figure out what was wrong with the 1st assembly, but it was actually one of the 1st assembly's dependencies. I received two different errors when calling CoCreateInstance() from the C++ client. The first was:
REGDB_E_CLASSNOTREG Class not registered
And the second try was:
0x80131040 : The located assembly's manifest definition does not match the assembly reference.
So check that your assembly's references are present.
I discovered this by browsing the 1st assembly with dotPeek and noticing one of it's references was missing. Placing the correct version of the dependency in the folder resolved both errors.
add a comment |
I ran into this issue calling a .Net assembly from a C++ client via COM. It turns out that one of the assemblies the .Net assembly depended on could not be found. I wrestled for a while trying to figure out what was wrong with the 1st assembly, but it was actually one of the 1st assembly's dependencies. I received two different errors when calling CoCreateInstance() from the C++ client. The first was:
REGDB_E_CLASSNOTREG Class not registered
And the second try was:
0x80131040 : The located assembly's manifest definition does not match the assembly reference.
So check that your assembly's references are present.
I discovered this by browsing the 1st assembly with dotPeek and noticing one of it's references was missing. Placing the correct version of the dependency in the folder resolved both errors.
add a comment |
I ran into this issue calling a .Net assembly from a C++ client via COM. It turns out that one of the assemblies the .Net assembly depended on could not be found. I wrestled for a while trying to figure out what was wrong with the 1st assembly, but it was actually one of the 1st assembly's dependencies. I received two different errors when calling CoCreateInstance() from the C++ client. The first was:
REGDB_E_CLASSNOTREG Class not registered
And the second try was:
0x80131040 : The located assembly's manifest definition does not match the assembly reference.
So check that your assembly's references are present.
I discovered this by browsing the 1st assembly with dotPeek and noticing one of it's references was missing. Placing the correct version of the dependency in the folder resolved both errors.
I ran into this issue calling a .Net assembly from a C++ client via COM. It turns out that one of the assemblies the .Net assembly depended on could not be found. I wrestled for a while trying to figure out what was wrong with the 1st assembly, but it was actually one of the 1st assembly's dependencies. I received two different errors when calling CoCreateInstance() from the C++ client. The first was:
REGDB_E_CLASSNOTREG Class not registered
And the second try was:
0x80131040 : The located assembly's manifest definition does not match the assembly reference.
So check that your assembly's references are present.
I discovered this by browsing the 1st assembly with dotPeek and noticing one of it's references was missing. Placing the correct version of the dependency in the folder resolved both errors.
answered Aug 23 '16 at 15:27
Sean BSean B
7,98422134
7,98422134
add a comment |
add a comment |
I was compiling my application targeting any CPU and main problem turned out that adobe reader was installed older v10.x needs to upgrade v11.x, this is the way how I get to resolve this issue.
add a comment |
I was compiling my application targeting any CPU and main problem turned out that adobe reader was installed older v10.x needs to upgrade v11.x, this is the way how I get to resolve this issue.
add a comment |
I was compiling my application targeting any CPU and main problem turned out that adobe reader was installed older v10.x needs to upgrade v11.x, this is the way how I get to resolve this issue.
I was compiling my application targeting any CPU and main problem turned out that adobe reader was installed older v10.x needs to upgrade v11.x, this is the way how I get to resolve this issue.
answered Dec 13 '16 at 9:56


Anjan KantAnjan Kant
2,0792124
2,0792124
add a comment |
add a comment |
My solution was to change the "Enable 32-Bit Applications" to True in the advanced settings of the relative app pool in IIS.
add a comment |
My solution was to change the "Enable 32-Bit Applications" to True in the advanced settings of the relative app pool in IIS.
add a comment |
My solution was to change the "Enable 32-Bit Applications" to True in the advanced settings of the relative app pool in IIS.
My solution was to change the "Enable 32-Bit Applications" to True in the advanced settings of the relative app pool in IIS.
answered Apr 19 '17 at 13:20


AdrianAdrian
47959
47959
add a comment |
add a comment |
I ran into the same issue using a COM class, i.e. 'Class not registered exception' at runtime. For me I was able to resolve by going to the app.config file and change the 'startup' and 'supportedRuntime' elements to something like:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
You can read more about the details here http://stackoverflow.com/questions/1604663/
and here https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
I should note I am running Visual Studio 2017.
Target cpu = x86
Embed Interop Type = true (in the properties window)
add a comment |
I ran into the same issue using a COM class, i.e. 'Class not registered exception' at runtime. For me I was able to resolve by going to the app.config file and change the 'startup' and 'supportedRuntime' elements to something like:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
You can read more about the details here http://stackoverflow.com/questions/1604663/
and here https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
I should note I am running Visual Studio 2017.
Target cpu = x86
Embed Interop Type = true (in the properties window)
add a comment |
I ran into the same issue using a COM class, i.e. 'Class not registered exception' at runtime. For me I was able to resolve by going to the app.config file and change the 'startup' and 'supportedRuntime' elements to something like:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
You can read more about the details here http://stackoverflow.com/questions/1604663/
and here https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
I should note I am running Visual Studio 2017.
Target cpu = x86
Embed Interop Type = true (in the properties window)
I ran into the same issue using a COM class, i.e. 'Class not registered exception' at runtime. For me I was able to resolve by going to the app.config file and change the 'startup' and 'supportedRuntime' elements to something like:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
You can read more about the details here http://stackoverflow.com/questions/1604663/
and here https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
I should note I am running Visual Studio 2017.
Target cpu = x86
Embed Interop Type = true (in the properties window)
edited May 3 '17 at 21:00
answered May 3 '17 at 20:53
Joseph MawerJoseph Mawer
15339
15339
add a comment |
add a comment |
In my case the class was registered properly and built in ANY CPU / 64 bit mode.
But the Enable 32-bit Applications property of the IIS Application pool of the application which uses the class was set to True.
Class was not found because of the architecture mismatch between the application pool configuration and the actual registered class.
Setting Enable 32-bit Applications to False fixed the issue.
add a comment |
In my case the class was registered properly and built in ANY CPU / 64 bit mode.
But the Enable 32-bit Applications property of the IIS Application pool of the application which uses the class was set to True.
Class was not found because of the architecture mismatch between the application pool configuration and the actual registered class.
Setting Enable 32-bit Applications to False fixed the issue.
add a comment |
In my case the class was registered properly and built in ANY CPU / 64 bit mode.
But the Enable 32-bit Applications property of the IIS Application pool of the application which uses the class was set to True.
Class was not found because of the architecture mismatch between the application pool configuration and the actual registered class.
Setting Enable 32-bit Applications to False fixed the issue.
In my case the class was registered properly and built in ANY CPU / 64 bit mode.
But the Enable 32-bit Applications property of the IIS Application pool of the application which uses the class was set to True.
Class was not found because of the architecture mismatch between the application pool configuration and the actual registered class.
Setting Enable 32-bit Applications to False fixed the issue.
answered Sep 19 '17 at 17:49
Bhupinderjit DhanoaBhupinderjit Dhanoa
312
312
add a comment |
add a comment |
go to the directory of .Net framework and register their the respective dll with Regsvr32.exe white space dll path.
add a comment |
go to the directory of .Net framework and register their the respective dll with Regsvr32.exe white space dll path.
add a comment |
go to the directory of .Net framework and register their the respective dll with Regsvr32.exe white space dll path.
go to the directory of .Net framework and register their the respective dll with Regsvr32.exe white space dll path.
answered Dec 29 '17 at 11:57


Muhammad SaeedMuhammad Saeed
4419
4419
add a comment |
add a comment |
I have faced the same issue. After done some research i found fix for me and it may useful. The issue is not only related to re-installation as of my observation, it depends on access permissions also.
Step 1: Repair the particular COM object.
Step 2: Component Services > Computers > My Computer > DCOM Config > Select your COM object > Right click > Properties > Security tab > Access Permissions > Choose Customize > Click EDIT > Select IIS_USER (If not exists create with complete rights) and give complete access and click OK.
Move to Identity tab > You can select "Interactive user" or "This user" > Click Apply and OK. If you choose "This user", we have to give Administrative privileged user to that server
Step 3: Open IIS Manager > Restart the Application Pools.
Note: If required please restart the server
add a comment |
I have faced the same issue. After done some research i found fix for me and it may useful. The issue is not only related to re-installation as of my observation, it depends on access permissions also.
Step 1: Repair the particular COM object.
Step 2: Component Services > Computers > My Computer > DCOM Config > Select your COM object > Right click > Properties > Security tab > Access Permissions > Choose Customize > Click EDIT > Select IIS_USER (If not exists create with complete rights) and give complete access and click OK.
Move to Identity tab > You can select "Interactive user" or "This user" > Click Apply and OK. If you choose "This user", we have to give Administrative privileged user to that server
Step 3: Open IIS Manager > Restart the Application Pools.
Note: If required please restart the server
add a comment |
I have faced the same issue. After done some research i found fix for me and it may useful. The issue is not only related to re-installation as of my observation, it depends on access permissions also.
Step 1: Repair the particular COM object.
Step 2: Component Services > Computers > My Computer > DCOM Config > Select your COM object > Right click > Properties > Security tab > Access Permissions > Choose Customize > Click EDIT > Select IIS_USER (If not exists create with complete rights) and give complete access and click OK.
Move to Identity tab > You can select "Interactive user" or "This user" > Click Apply and OK. If you choose "This user", we have to give Administrative privileged user to that server
Step 3: Open IIS Manager > Restart the Application Pools.
Note: If required please restart the server
I have faced the same issue. After done some research i found fix for me and it may useful. The issue is not only related to re-installation as of my observation, it depends on access permissions also.
Step 1: Repair the particular COM object.
Step 2: Component Services > Computers > My Computer > DCOM Config > Select your COM object > Right click > Properties > Security tab > Access Permissions > Choose Customize > Click EDIT > Select IIS_USER (If not exists create with complete rights) and give complete access and click OK.
Move to Identity tab > You can select "Interactive user" or "This user" > Click Apply and OK. If you choose "This user", we have to give Administrative privileged user to that server
Step 3: Open IIS Manager > Restart the Application Pools.
Note: If required please restart the server
edited Sep 12 '18 at 13:23


Eray Balkanli
4,58852347
4,58852347
answered Sep 12 '18 at 13:01
Pavan Kumar VempatiPavan Kumar Vempati
1
1
add a comment |
add a comment |
Here find the solution, run mmc -32 tool (not dcomcfg)
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
add a comment |
Here find the solution, run mmc -32 tool (not dcomcfg)
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
add a comment |
Here find the solution, run mmc -32 tool (not dcomcfg)
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
Here find the solution, run mmc -32 tool (not dcomcfg)
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
edited Jun 28 '16 at 23:21
LarsTech
70.7k12109161
70.7k12109161
answered Jun 28 '16 at 22:55
Martín MartínezMartín Martínez
1
1
add a comment |
add a comment |
protected by Community♦ Apr 4 at 11:18
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
1
Can you give more detail with some code?
– Xaisoft
Sep 30 '09 at 5:18
10
There are two questions: 1.Did you install / register the COM component on the Windows 7 x64 machine? 2.What the target platform of your application, I think you should set the platform to x86, please do not set it as "Any CPU"? Please register the COM first and then run to test the application, please refer to the document: support.microsoft.com/kb/146219 and Explanation of Regsvr32 usage and error messages
– JackWang
Mar 27 '12 at 2:50
I solved it without changing the build target to 'x86'. Solution in the link : <stackoverflow.com/a/55513690/11310933>
– Sunil Xtha
Apr 4 at 10:57