Microsoft error while synchronizing call from IIS? - asp.net

I get the below error
***Retrieving the COM class factory for component with CLSID {046C184F-2188-4C99-A95A-9C0DCDC19050} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).***
while using the Microsoft Sync Services on execute of the below statement .
I get the error only when I run from the IIS that is http;//localhost/S71/default.aspx etc. But if I run by pressing F5 from my visual studio it works fine .
All other code like the "Provisioning process" everything works just fine only while I run from the IIS only and on the .Synchronize() method I get the error.
// Execute the synchronization process
SyncOperationStatistics syncStats = syncOrchestrator.Synchronize();

which Sync Fx did you install? x86 or x64? if it is x86, check that your app pool is configured for 32-bit apps as well by setting the "Enable 32-bit applications"

Related

How to deploy an app using external libraries In IIS

This is my first time using IIS so I don't know much about how it works.
I developed an ASP.net c# web form app, in order to deploy it on a server using IIS. I had Visual Studio installed on the windows server, to make sure the app works fine, no problems up to this point.
When I publish the app from visual studio, and put the file system generated inside inetpub/wwwroot... the pages load fine but just when a I try feature of the app that needs an external library, an exception is raised exactly in the line where the first external library's object instaciated within the code (Information givven by the log).
I'm suspecting that once deployed on IIS app has no reference for the libraries or doesn't have the rights to access them since I haven't touched anything inside IIS besides adding the file system to the depault app pool. But how can I adress this issue?
Here are the two errors traces I got from my log :
Retrieving the COM class factory for component with CLSID {ED0EC116-16B8-44CC-A68A-41BF6E15EB3F} failed due to the following error : 80070154 Class not registred (Exception HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).
Or Other Times:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error : 80070005 Access Denied. (Exception HRESULT : 0x80070005 (E_ACCESSDENIED)).
Thanks in advance.
The application is run on IIS base on the pool that you have assign it to it. This pool is run under a specific account.
So add this account to the DCOM Config to been able to access it.
First step is to find your pool user as.
Then add permissions for that user on your DCOM Applications so the pool can read them and run them.
To find the DCOM Config, go to
Control Panel | Administrative Tools | Component Services
Then open
Component Services | Computers | My Computer | DCOM Config
There find your applications that you use, left click to open the menu and select properties... there give permissions to your Pool user

Retrieving the COM class factory for component with CLSID failed due to:80040154 Class not registered (Exception from HRESULT: 0x80040154

I have a application written in asp.net VB; it runs well on my production server. However, when I executed on my desktop / or development server, I get the 80040154 related error mentioned in my header. While doing some research, it was mentioned that the issue is a result of the target platform being set to run on any computer and that I need to set it to run on 64-bit. Using Visual Studio 2012 Ultimate, I performed the following Build >> Configuration Manager >> ... and then under "Active Solution Platform" >> I selected "New" and added x64 to list. ...I still get the error: Retrieving the COM class factory for component with CLSID {E916A72F-7F85-4642-A2CB-CD13DAC01F55} failed due to the following error: 80040154.
Label As I mentioned, it works on my live server, and I'm trying to get it to run on my development server. ..Could I please get some assistance? Thanks in Advance.

ASMX web service crashes when using vb6 .dll

I got a new problem while using vb6 dll in my Web Services. When using dll, the object instance is created fine but when I start calling it's method from my service I got this exception:
Server was unable to process request. ---> Unable to cast COM object
of type 'WS_Resevat_DLL.WS_ResevatCLClass' to interface type
'WS_Resevat_DLL._WS_ResevatCL'. This operation failed because the
QueryInterface call on the COM component for the interface with IID
'{69F1DA59-56D1-47CE-94A4-D681ABECDF80}' failed due to the following
error: No such interface supported (Exception from HRESULT: 0x80004002
(E_NOINTERFACE)).
The whole system runs fine when I test it on my computer IIS (I have Windows 7 with IIS 7). The problem starts when I publish it on server (Windows Server 2003 with IIS 6). I'm using asp.net 3.5 web services with SOAP 1.1. The VB dll is from the third part and I sadly can't debug it (the only thing I checked with dll creator is that binary compatability is enabled, I don't know VB at all), but when it runs outside the service (on Win Server 2003) it works fine.
Some explanation bout the types (WS_ResevatCLClass and WS_ResevatCL). In origin the dll has only one type: WS_ResevatCl. But when I look at the dll in component explorer in Visual Studio I see strange things - there is a class called WS_ReservatCLClass and 4 different interfaces: _WS_ResevatCL, WS_ResevatCL, WS_ResevarCL_v0 and WS ResevatCL_v1. And the most strange thing is that I can create instance of one them (WS_ResevatCL) and it drives exactly like an instance of the class.
Are there any significant differences between Win7 and WinServer2003 that can cause the crash with such exception?

MSBuild Extension Pack IIS7 task on remote server error

I have set up a Continuous Integration build with TeamCity and MSBuild. I am using the MSBuild Extension Pack, primarily for its IIS7AppPool Task. My goal is to stop an IIS app pool before the build script does a deployment step and start the app pool afterwards. The IIS app pool is on a different server from the build agent.
I have used the following MS Build code to stop IIS:
<MSBuild.ExtensionPack.Web.Iis7AppPool TaskAction="Stop" MachineName="$(DeploymentServerName)" Name="$(WebAppPoolName)" Username="$(DeploymentServerUsername)" UserPassword="$(DeploymentServerUserPassword)" />
I have set up a local admin user account on the web server, and used its username and password above as $(DeploymentServerUsername) and $(DeploymentServerPassword).
The error I am receiving is:
[MSBuild.ExtensionPack.Web.Iis7AppPool]
E:\TeamCity\BuildAgent\work\1a1dc058c29f0f12\BuildAndDeployment\Build_DevCI.proj(153,
5): UnauthorizedAccessException: Retrieving the COM class factory for
remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344}
from machine DEPLOYMENTSERVERMACHINENAME failed due to the following
error: 80070005 DEPLOYMENTSERVERMACHINENAME.
I have asked our network guys to take down any firewalls between the two machines, but I still get the same error.
Can anyone see anything wrong with my syntax or offer any advice on how to get this to work?
I can get the task to stop an IIS app pool on my local machine ok, so my syntax should be right.
I have looked at this post, but I don't think it's the same problem:
MSBuild remoting to server throws COMException error

Debugging visual basic dll library from asp.net hosted in IIS

I have the following problem.
I have some project written in Visual Basic (not Visual Basic .NET but simple Visual Basic - sic!). I can compile it and generate a dll.
Then inside my web application I add reference to this dll library. When I run my web application hosted in default Visual Studio server, everything is fine and I can debug my Visual Basic project. However, when I host my web application in IIS then I can't. Code does not stop in my breakpoint.
My asp.net catch the exception when I try to execute some method from the mentioned library which is something like:
Unable to cast COM object of type 'xxx' to interface type 'yyy'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{4C2875B5-3265-306B-9C74-1BEC98986B1A}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
Can someone please help me because I've been struggling for 2 days without success.
Are you debugging using "Attach to Process"?
First determine the w3wp.exe process:
For IIS6
Start > Run > Cmd
Go To Windows > System32
Run cscript iisapp.vbs
You will get the list of Running
Worker ProcessID and the Application
Pool Name.
For IIS7
Start > Run > Cmd
Go To Windows > System32 > Inetsrv
Run appcmd list wp
Note the Process ID (PID).
Next in Visual Studio:
Debug > Attach to Process...
Find the w3wp.exe with the right PID and attach
Your breakpoints should work.

Resources