<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Ajit Yadav blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ajit/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ajit/feed.xml</link>
    <description>MSDTC, COM+ and all that jazz..</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:11:48 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>DTC : Component services error - No properties are available on this object.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/dtc-component-services-error-no-properties-are-available-on-this-object</link>
      <pubDate>Mon, 11 Apr 2011 17:24:18 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2011/04/11/dtc-component-services-error-no-properties-are-available-on-this-object/</guid>
      <description><![CDATA[In the component services UI, under the clustered instances of MSDTC we are not able to see the...]]></description>
      <content:encoded><![CDATA[<div style="color: #000000; font-size: small;">
<div>In the component services UI, under the clustered instances of MSDTC we are not able to see the properties of one of the instances of DTC. It appears blank with the message : No properties are available on this object. </div>
</div>
<h3 class="ms-SIfield">Cause</h3>
<div style="color: #000000; font-size: small;">
<div>Configuration issues with the cluster. The issue is related to the problem described in the KB article below : <br />Error message when you connect to a cluster virtual server by using the named pipes protocol: "The machines selected for remote communication is not available at this time. <br /><a href="https://support.microsoft.com/default.aspx?scid=kb;EN-US;306985">https://support.microsoft.com/default.aspx?scid=kb;EN-US;306985</a></div>
<div></div>
<div>
<p>"SQL Server uses remapped pipe names. The issue occurs because these specific network names redirect the named pipe connections and can cause connectivity issues for anything other than SQL Server. Network Name resources that are created by the SQL Server Installation Wizard set the following registry value: <br />HKEY_LOCAL_MACHINE\Cluster\Resources\%ResourceGUID%\Parameters\RemapPipeNames</p>
<p>The SQL Network Name resource should be used only for SQL Server connectivity. Clients should not attempt to connect to this name for other functions (for example, file shares or the Computer Management utility), and no other non-SQL Server resources should be dependent on this Network Name resource. "</p>
</div>
</div>
<h3 class="ms-SIfield">Resolution</h3>
<div style="color: #000000; font-size: small;">
<div>
<p><span style="color: #1f497d;">Solution 1: </span></p>
<p><span style="color: #1f497d;">=====================</span></p>
<p><span style="color: #1f497d;"></span><span style="color: black;">We can reverse the change SQL Server makes during its installation i.e.</span><span style="color: black;"> set </span><span style="color: black;">&ldquo;HKEY_LOCAL_MACHINE\Cluster\Resources\%ResourceGUIDFORSQLNETWORKNAME%\Parameters\RemapPipeName&rdquo; to false for the SQL Network Name Resource. This could cause SQL named pipe communication delays. </span><span style="color: black;"></span></p>
<p><span style="color: #1f497d;"></span></p>
<p><span style="color: #1f497d;">Solution 2: (The preferred solution - the way SQL should implement it) : </span></p>
<p><span style="color: #1f497d;">=============================================================</span></p>
<p><span style="color: black;">If you prefer to leave the key named in solution 1 unchanged, then you can add the following key on each of the cluster nodes. </span></p>
<p><span style="color: black;">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters</span><span style="color: black;"> </span></p>
<p><span style="color: black;">Name: NoRemapPipes </span></p>
<p><span style="color: black;"></span><span style="color: black;">Type: REG_MULTI_SZ </span></p>
<p><span style="color: black;">Data: winreg svcctl eventlog</span><span style="color: #1f497d;"> </span></p>
</div>
</div>
<h3 class="ms-SIfield">More Information</h3>
<div style="color: #000000; font-size: small;">
<div>
<p><span style="color: #1f497d;"><span style="color: black;">To validate either solution you can open &ldquo;remote network registry&rdquo; in &ldquo;regedit&rdquo; and choose a network name for any of the SQL cluster groups. It should open without any errors. </span></span></p>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>COM+ Queued component : Error 80080005 Server execution failed. Error Code = 0xc00e0003</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/com-queued-component-error-80080005-server-execution-failed-error-code-0xc00e0003</link>
      <pubDate>Fri, 24 Dec 2010 15:12:35 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/12/24/com-queued-component-error-80080005-server-execution-failed-error-code-0xc00e0003/</guid>
      <description><![CDATA[On a windows server 2003, we are not able to start a Queued COM+ application. It fails with the...]]></description>
      <content:encoded><![CDATA[<p>On a windows server 2003, we are not able to start a Queued COM+ application. It fails with the error: 80080005 Server execution failed.<br />In the event logs we see the following entries : </p>
<p>Event Type: Error<br />Event Source: COM+<br />Event Category: (115)<br />Event ID: 4811<br />Date: 12/24/2010<br />Time: 4:27:39 PM<br />User: N/A<br />Computer: <br />Description:<br />An unexpected error was returned by Message Queuing API indicated. Unable to retrieve the associated error message text. Message Queuing API return values are defined in Platform SDK file MQ.H.MQPathNameToFormatName</p>
<p>Server Application ID: {45445320-4154-4C41-4E54-455320382E30}<br />Server Application Instance ID:<br />{8AAA34A0-076F-4D41-9751-F7D973F5C81A}<br />Server Application Name: ACM80<br />Error Code = 0xc00e0003 : <br />COM+ Services Internals Information:<br />File: d:\nt\com\complus\src\comsvcs\qc\msmqrt\msmqrt.cpp, Line: 749<br />Comsvcs.dll file version: ENU 2001.12.4720.4045 shp</p>
<p>Event Type: Error<br />Event Source: COM+<br />Event Category: (104)<br />Event ID: 4811<br />Date: 12/24/2010<br />Time: 2:45:16 PM<br />User: N/A<br />Computer: <br />Description:<br />An unexpected error was returned by Message Queuing API indicated. Unable to retrieve the associated error message text. Message Queuing API return values are defined in Platform SDK file MQ.H.MQOpenQueue</p>
<p>Server Application ID: {45445320-4154-4C41-4E54-455320382E30}<br />Server Application Instance ID:<br />{21B51AB1-552F-4FDE-AEC4-9CD7ED000EF0}<br />Server Application Name: ACM80<br />The serious nature of this error has caused the process to terminate.<br />Error Code = 0xc00e0003 : <br />COM+ Services Internals Information:<br />File: d:\nt\com\complus\src\comsvcs\qc\listener\listener2.cpp, Line: 532<br />Comsvcs.dll file version: ENU 2001.12.4720.4045 shp</p>
<p>For more information, see Help and Support Center at <a href="https://go.microsoft.com/fwlink/events.asp">https://go.microsoft.com/fwlink/events.asp</a>.</p>
<p>&nbsp;</p>
<p>Error code 0xc00e0003 indicates MQ_ERROR_QUEUE_NOT_FOUND. </p>
<p>We opened Computer management and checked the private queues. The private queues for the COM+ application were missing. Ideally, when we configure queuing on the COM+ application it creates the private queues for the COM+ application. <br />We unchecked the "Queued - This application can be reached by MSMQ queues" option on the COM+ application to disable queueing. Selected the option again to re-enable queueing. Checked the private queues and now we can see the private queues created for the COM+ application.<br />Started the COM+ application and boom.. it's started.</p>]]></content:encoded>
    </item>
    <item>
      <title>System.Security.SecurityException: Request for the permission of type System.Security.Permissions.SecurityPermission failed.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/system-security-securityexception-request-for-the-permission-of-type-system-security-permissions-securitypermission-failed</link>
      <pubDate>Thu, 02 Dec 2010 17:53:00 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/12/02/system-security-securityexception-request-for-the-permission-of-type-system-security-permissions-securitypermission-failed/</guid>
      <description><![CDATA[WCF service Pieserver is hosted in IIS 7.5. It is using wshttpbinding.client : console application....]]></description>
      <content:encoded><![CDATA[<p><span style="color: #003366;">WCF service Pieserver is hosted in IIS 7.5. It is using wshttpbinding.<br />client : console application. <br /><br />We are able to add the service reference but get the exception below when we call any methods on the proxy object : <br /></span><br />Error Message: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The type initializer for 'OSIsoft.RtBaseline.DataService.ServerManager' threw an exception. <br />System.TypeInitializationException: The type initializer for 'OSIsoft.RtBaseline.DataService.ServerManager' threw an exception. ----&gt; <b>System.Security.SecurityException</b>:<b> Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed</b>. <br />at System.Security.Principal.WindowsIdentity.GetCurrent() at OSIsoft.PIInstrumentation.LogWriter.WriteToEventLog(String source, String message, EventLogEntryType elType) <br />at OSIsoft.PIInstrumentation.LogWriter.WriteGeneralEventLog(String source, String message, Severity svrty, Boolean CheckSuppression) at OSIsoft.PIInstrumentation.RtBLSConfig.get_Setting() at OSIsoft.RtBaseline.DataService.ServerManager..cctor() --- End of inner ExceptionDetail stack trace --- at OSIsoft.RtBaseline.DataService.ServerManager.SetApplicationID(String appID) at PIWebServices.PID...). For more information, see Help and Support Center at <a href="https://go.microsoft.com/fwlink/events.asp">https://go.microsoft.com/fwlink/events.asp</a>. </p>
<p><span style="color: #003366;">The WCF service application files were hosted on a network share. CAS (Code Access Security) policy has been applied for the service. The PIWebServices.dll is trying to get the current windows identity and failing because the defined CAS policy does not grant ControlPrincipal permissions to it.&nbsp;To provide the permissions on the network share we ran the command below: <br /></span><br />CasPol.exe -m -ag 1.2 -url file://\\eas.puget.com/PsePIWebServces/* FullTrust</p>
<p>Reference:</p>
<p><span style="color: #003366;">Using CasPol to Fully Trust a Share <br /></span><a href="https://blogs.msdn.com/b/shawnfa/archive/2004/12/30/344554.aspx">https://blogs.msdn.com/b/shawnfa/archive/2004/12/30/344554.aspx https://blogs.msdn.com/b/shawnfa/archive/2004/12/30/344554.aspx</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>An extension of name clientcredentials already appears in extension collection, extension name must be unique.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/an-extension-of-name-clientcredentials-already-appears-in-extension-collection-extension-name-must-be-unique</link>
      <pubDate>Wed, 02 Jun 2010 11:02:00 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/06/02/an-extension-of-name-clientcredentials-already-appears-in-extension-collection-extension-name-must-be-unique/</guid>
      <description><![CDATA[When we browse the web page it loads fine and continues working. Once we close the IIS manager and...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">When we browse the web page it loads fine and continues working. Once we close the IIS manager and open it again, the following section gets added to the web.config file automatically : <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&lt;extensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;behaviorExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="clientCredentials" type="System.ServiceModel.Configuration.ClientCredentialsElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="serviceCredentials" type="System.ServiceModel.Configuration.ServiceCredentialsElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="callbackDebug" type="System.ServiceModel.Configuration.CallbackDebugElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="clientVia" type="System.ServiceModel.Configuration.ClientViaElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">.....................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">......................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">......................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;/behaviorExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;bindingElementExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="binaryMessageEncoding" type="System.ServiceModel.Configuration.BinaryMessageEncodingElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="compositeDuplex" type="System.ServiceModel.Configuration.CompositeDuplexElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="oneWay" type="System.ServiceModel.Configuration.OneWayElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">...................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">..................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">..................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;/bindingElementExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;bindingExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="basicHttpBinding" type="System.ServiceModel.Configuration.BasicHttpBindingCollectionElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="customBinding" type="System.ServiceModel.Configuration.CustomBindingCollectionElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp; &lt;add name="msmqIntegrationBinding" type="System.ServiceModel.Configuration.MsmqIntegrationBindingCollectionElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">..............<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">..................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp; &lt;/bindingExtensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp; &lt;/extensions&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">And now, when we browse the web page we get the exception : <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">"An extension of name clientcredentials already appears in extension collection, extension name must be unique.&rdquo;</span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><strong><span style="text-decoration: underline;">Resolution <o:p></o:p></span></strong></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">We collected first chance exception dumps and process monitor log files when the issue occurred. The analysis from the dumps : <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.WriteFileContext.DuplicateTemplateAttributes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.WriteFileContext.DuplicateFileAttributes(<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.WriteFileContext.Complete<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.InternalConfigHost.StaticWriteCompleted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.WriteCompleted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Internal.DelegatingConfigHost.WriteCompleted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.UpdateConfigHost.WriteCompleted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.MgmtConfigurationRecord.SaveAs<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Configuration_ni!System.Configuration.Configuration.SaveAsImpl(System.String, System.Configuration.ConfigurationSaveMode, Boolean)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; background: yellow; color: black; font-size: 11pt; mso-highlight: yellow;">System_Configuration_ni</span><span style="font-family: 'Calibri','sans-serif'; background: yellow; color: #1f497d; font-size: 11pt; mso-highlight: yellow;">!</span><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><a href="https://msdn.microsoft.com/en-us/library/system.configuration.configuration.save.aspx">System.Configuration.Configuration.Save</a><span style="background: yellow; mso-highlight: yellow;">(</span></span><span style="font-family: 'Calibri','sans-serif'; background: yellow; color: black; font-size: 11pt; mso-highlight: yellow;">System.Configuration.ConfigurationSaveMode,</span><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"> </span><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">Boolean)System_Web_ni!System.Web.UI.Control.OnLoad(System.EventArgs)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Control.LoadRecursive()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Page.ProcessRequestMain<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Page.ProcessRequest(Boolean, Boolean)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Page.ProcessRequest()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Page.ProcessRequestWithNoAssert<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.UI.Page.ProcessRequest<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpApplication.ExecuteStep<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpApplication+ApplicationStepManager.ResumeSteps<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpRuntime.ProcessRequestInternal<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.HttpRuntime.ProcessRequestNoDemand<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">System_Web_ni!System.Web.Hosting.ISAPIRuntime.ProcessRequest<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">So looks like we are loading some control&nbsp;on the web&nbsp;page and that control is saving some changes to the web.config file using</span><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"> <a href="https://msdn.microsoft.com/en-us/library/system.configuration.configuration.save.aspx">Configuration.Save</a></span><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"> method.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">In the source files, we found following line of code that was saving the config settings everytime the page was loaded : <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background: yellow; mso-highlight: yellow;">config.Save(ConfigurationSaveMode.Full, True)</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">We made the second parameter to false to avoid saving the changes everytime the page is loaded.&nbsp;<span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;">After setting the second parameter to false we did not have the issue any more. </span></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: black; font-size: 11pt;"><strong><span style="text-decoration: underline;">Reference </span></strong></span></p>
<p class="MsoNormal"><b><span style="font-family: 'Segoe UI','sans-serif'; color: #3f529c; font-size: 19pt;">Configuration.Save Method (ConfigurationSaveMode, Boolean)</span></b><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><a href="https://msdn.microsoft.com/en-us/library/system.configuration.configuration.save.aspx">https://msdn.microsoft.com/en-us/library/system.configuration.configuration.save.aspx</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"><o:p>&nbsp;</o:p></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Unable to install MSMQ : Error 0x8004e001 Triggers transactional component could not be registered in COM+</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/unable-to-install-msmq-error-0x8004e001-triggers-transactional-component-could-not-be-registered-in-com</link>
      <pubDate>Mon, 31 May 2010 19:35:13 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/05/31/unable-to-install-msmq-error-0x8004e001-triggers-transactional-component-could-not-be-registered-in-com/</guid>
      <description><![CDATA[We are unable to install MSMQ due to error: Triggers transactional component could not be registered...]]></description>
      <content:encoded><![CDATA[<p>We are unable to install MSMQ due to error: Triggers transactional component could not be registered in COM+. Error Code: 0x8004e001</p>
<p>Since the error message talks about the transactions, we checked if the MSDTC service is running fine. It was not and infact we were not able to start it. When we try to start DTC service we get the error : </p>
<p><strong><span style="color: #ff0000;">Event Type: Error<br />Event Source: MSDTC<br />Event Category: Unknown<br />Event ID: 4209<br />Date: 1/20/2010<br />Time: 11:32:36 AM<br />User: N/A<br />Computer: USLILVM64SP07<br />Description:<br />A critical error occurred in an MS DTC component therefore the process is terminating. The category field identifies the component that encountered the error. Please contact Microsoft Product Support. Error Specifics: d:\nt\com\complus\dtc\dtc\msdtc\src\cservice.cpp:436, Pid: 5740<br />No Callstack,<br />CmdLine: C:\WINDOWS\system32\msdtc.exe</span></strong></p>
<p><strong><span style="color: #ff0000;">For more information, see Help and Support Center at</span></strong> <a href="https://go.microsoft.com/fwlink/events.asp">https://go.microsoft.com/fwlink/events.asp</a>.<br /><span style="color: #ff0000;">Data:<br />0000: 2b 00 11 80 +..&euro;</span> </p>
<p>&nbsp;</p>
<p>Reinstalled MSDTC service using the commands :</p>
<p><strong>msdtc -uninstall<br />msdtc -install<br />msdtc -resetlog</strong></p>
<p><br />Tried to start DTC service, we got the error : </p>
<p><strong><span style="color: #ff0000;">Event Type: Error<br />Event Source: MSDTC<br />Event Category: SVC<br />Event ID: 4197<br />Date: 1/20/2010<br />Time: 11:34:42 AM<br />User: N/A<br />Computer: USLILVM64SP07<br />Description:<br />Could not locate the MS DTC XA Transaction Manager contact object.</span></strong></p>
<p><strong><span style="color: #ff0000;">For more information, see Help and Support Center at</span></strong> <a href="https://go.microsoft.com/fwlink/events.asp">https://go.microsoft.com/fwlink/events.asp</a>.</p>
<p><br />Ran the command "msdtc -uninstall". Checked the registry key <strong>HKCR\CID</strong> to see if it is getting removed (msdtc -uninstall command removes the <strong>HKCR\CID</strong> key from the registry). It is not and infact there are more than 10 entries under that. Ideally we should have only 4 GUID entries under <strong>HKCR\CID.</strong> </p>
<p>We manually deleted the CID key. Ran the command "msdtc -install". DTC installed successfully and came up fine.<br />Ran the wizard to install MSMQ : SUCCESSFUL.</p>]]></content:encoded>
    </item>
    <item>
      <title>COM+ application intermittently stops responding while reading a registry key</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/com-application-intermittently-stops-responding-while-reading-a-registry-key</link>
      <pubDate>Mon, 31 May 2010 19:25:23 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/05/31/com-application-intermittently-stops-responding-while-reading-a-registry-key/</guid>
      <description><![CDATA[The COM+ application randomly stops responding. To fix the problem the COM+ application has to be...]]></description>
      <content:encoded><![CDATA[<p>The COM+ application randomly stops responding. To fix the problem the COM+ application has to be restarted. After some observation the problem appeared to be with reading a custom registry key. <br />We were not able to read registry key while it is in use by a COM+ application. Also when we try to access the registry key using regedit we are not able to do it. </p>
<p>We were using RegOpenKeyEx() function to get the handle to the registry key.</p>
<p>Private Function GetKeyValue(ByVal KeyD As Long, ByVal Key As String, ByVal SubKey <br />As String) As String </p>
<p>Dim value As String <br />Dim length As Long <br />Dim hKey As Long </p>
<p>If RegOpenKeyEx(KeyD, Key, 0&amp;, KEY_ALL_ACCESS, hKey) &lt;&gt; ERROR_SUCCESS Then <br />Err.Raise Err.Number, Err.Source, Err.Description <br />End If </p>
<p>length = 256 <br />value = Space$(length) </p>
<p>If RegQueryValueEx(hKey, SubKey, 0&amp;, 1&amp;, ByVal value, length) &lt;&gt; ERROR_SUCCESS <br />Then <br />Err.Raise Err.Number, Err.Source, Err.Description <br />Else </p>
<p>value = Left$(value, length - 1) <br />GetKeyValue = value <br />End If </p>
<p>End Function </p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Resolution</span></strong></p>
<p>&nbsp;LONG WINAPI RegOpenKeyEx(<br />__in HKEY hKey,<br />__in LPCTSTR lpSubKey,<br />DWORD ulOptions,<br />__in REGSAM samDesired,<br />__out PHKEY phkResult<br />);</p>
<p>&nbsp;</p>
<p>phkResult <br />A pointer to a variable that receives a handle to the opened key. If the key is not <br />one of the predefined registry keys, call the RegCloseKey function after you have <br />finished using the handle.</p>
<p><br />We were&nbsp;reading one of the non-predefined keys so we need to explicitly close the handle to the key.</p>
<p>We implemented the RegCloseKey() function to explicitly release the handle to the registry key. <br />&lt;<a href="https://msdn2.microsoft.com/en-us/library/ms724837.aspx">https://msdn2.microsoft.com/en-us/library/ms724837.aspx</a>&gt;</p>
<p>This resolved the issue. </p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>COM+ : 0x8004E002 : The root transaction wanted to commit, but transaction aborted.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/com-0x8004e002-the-root-transaction-wanted-to-commit-but-transaction-aborted</link>
      <pubDate>Mon, 31 May 2010 16:31:53 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/05/31/com-0x8004e002-the-root-transaction-wanted-to-commit-but-transaction-aborted/</guid>
      <description><![CDATA[The COM+ application 'eConnect' is unable to complete distributed transactions successfully against...]]></description>
      <content:encoded><![CDATA[<p>The COM+ application 'eConnect' is unable to complete distributed transactions successfully against the SQL server. It fails with the error : </p>
<p><span style="color: #ff0000;"><strong>(0x8004E002): The root transaction wanted to commit, but transaction aborted.</strong></span></p>
<p>&nbsp;The eConnect COM+ application tries to send xml data to the SQL server on another server. Both the servers are Windows 2008. It runs for a while and then comes back with the error message : </p>
<p>System.Runtime.InteropServices.COMException (0x8004E002): <strong><span style="color: #ff0000;">The root transaction wanted to commit, but transaction aborted (Exception from HRESULT: 0x8004E002)<br /></span></strong>at System.EnterpriseServices.IRemoteDispatch.RemoteDispatchNotAutoDone(String s)<br />at System.EnterpriseServices.RemoteServicedComponentProxy.Invoke(IMessage reqMsg)<br />at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)<br />at Microsoft.Dynamics.GP.eConnect.eConnectMethods.eConnect_EntryPoint(String ConnectionString, ConnectionStringType ConnectionType, String sXML, <br />SchemaValidationType ValidationType, String eConnectSchema)<br />at DirectDocSenderDotNet.FrmDocSender.btnSend_Click(Object sender, EventArgs e) <br />in C:\program files\Common Files\microsoft shared\eConnect 10\eConnect Samples\CSHARP DirectDocSender\frmDocSender.cs:line 379</p>
<p><br />Checked the DTC security settings under component services --&gt; computers --&gt; My computer --&gt; local dtc --&gt; security. Enabled Network DTC access and the other options : </p>
<p>Allow remote clients<br />Allow remote administrations<br />Allow inbound<br />Allow outbound<br />No authentication required</p>
<p>Enabled the same options on the SQL Server machine. Still the transaction would run for a while and then abort. The global transaction timeout of DTC was set to 360 seconds&nbsp;under component services --&gt; computers --&gt; My computer --&gt; properties --&gt; Options. Configured the same timeout on SQL server box. Still no luck. <br />We checked the C:\windows\system32\DTCTrace.log file and found that the transactions were being aborted by the SQL server box. </p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Resolution</span></strong></p>
<p>We checked the transaction timeout on the COM+ components and they were set to 120 seconds. Changed them to 360 on all the transactional components. Ran the transaction and now it completed successfully. </p>]]></content:encoded>
    </item>
    <item>
      <title>DB2 XA transactions failure : : Failed to enlist on calling object's transaction.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/db2-xa-transactions-failure-failed-to-enlist-on-calling-objects-transaction</link>
      <pubDate>Mon, 31 May 2010 15:55:00 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/05/31/db2-xa-transactions-failure-failed-to-enlist-on-calling-objects-transaction/</guid>
      <description><![CDATA[We are unable to run XA transactions with DB2 server. It fails with the error : 
Source: Microsoft...]]></description>
      <content:encoded><![CDATA[<p>We are unable to run XA transactions with DB2 server. It fails with the error : </p>
<p><span style="color: #ff0000;"><strong>Source: Microsoft OLE DB Provider for ODBC Drivers<br />Parameters: -2147467259<br />[Microsoft][ODBC Driver Manager] Failed to enlist on calling object's transaction<br />Microsoft OLE DB Provider for ODBC Drivers</strong></span></p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">Few things to check</span></strong>&nbsp;</p>
<p>Checked the registry settings :<br />[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL ] DB2cli.dll = &lt;Path of db2cli.dll&gt; <br />[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL ] DB2app.dll = &lt;Path of db2app.dll&gt; </p>
<p>They entries were good. </p>
<p>Added NT Authority\NetworkService account to local admin group and still got the same error, that rules out permissions issue with the MSDTC service logon account.<br />If we set the COM+ components to transaction support level of Supported or Disabled, the web page works. Setting it to Required causes it to fail. This is because when we use the Supported or Disabled setting the transaction is not using DTC service. </p>
<p>We were also getting the error : <br /><strong><span style="color: #ff0000;">Failed to enlist in DTC: SQL state , native error -5042, error message [IBM][CLI <br />Driver] SQL5042N One of the communication protocol server support processes failed to start up.&rdquo;</span></strong></p>
<p><strong><span style="text-decoration: underline;">Resolution</span></strong></p>
<p>As the source of the error was IBM driver, suggested that we should include IBM support to check if the DB2 client is configured properly. Involved the IBM support and the error was resolved by running the correct command as : </p>
<p><strong>db2 update dbm cfg using SPM_NAME sdawwi08</strong></p>
<p>where <br />SPM_NAME = service name <br />sdawwi08 = server name</p>]]></content:encoded>
    </item>
    <item>
      <title>MSDTC : Oracle 10G client : New transaction cannot enlist in the specified transaction coordinator</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/msdtc-oracle-10g-client-new-transaction-cannot-enlist-in-the-specified-transaction-coordinator</link>
      <pubDate>Mon, 31 May 2010 15:17:55 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/05/31/msdtc-oracle-10g-client-new-transaction-cannot-enlist-in-the-specified-transaction-coordinator/</guid>
      <description><![CDATA[Using Oracle Client version 10g (Windows 2003 SP1) to communicate with the Oracle Database Server...]]></description>
      <content:encoded><![CDATA[<p><span style="color: #000000;">Using Oracle Client version 10g (Windows 2003 SP1) to communicate with the Oracle Database Server (OS : Unix). When we enable the option for Transaction Support to be "Required " in the COM+ application we get the error : New transaction cannot enlist in the specified transaction coordinator.</span></p>
<p><strong><span style="text-decoration: underline;">Checklist</span></strong></p>
<p>1. Checked MSDTC Security Configuration and corrected them by following the KB article : <a href="https://support.microsoft.com/default.aspx?scid=kb;EN-US;899191">https://support.microsoft.com/default.aspx?scid=kb;EN-US;899191</a><br />2. Checked the registry entries at the following keys :<br />- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL -- &gt; MTXOCI set to --&gt; C:\WINNT\system32\mtxoci.dll<br />- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI :<br />"OracleXaLib"="oraclient10.dll"<br />"OracleSqlLib"="orasql10.dll"<br />"OracleOciLib"="oci.dll"</p>
<p>All of the above entries look good.</p>
<p>3. Ran Filemon and Regmon tools. <br />4. Regmon looked fine. In Filemon log , got "File Not Found" error for "ORAMTS10.DLL".<br />5. Referred the KB article at : <br /><a href="https://support.microsoft.com/default.aspx?scid=kb;EN-US;843044">https://support.microsoft.com/default.aspx?scid=kb;EN-US;843044</a> according to which : </p>
<p><em>The Oramts.dll file is used when you try to use Microsoft Transaction Server (MTS) in a distributed environment. The .NET Framework Data Provider for Oracle (System.Data.OracleClient) calls the Application Programming Interfaces (APIs) that are publicly exposed by the Oramts.dll file. The Oramts.dll file is only available in Oracle client connectivity software. To install it on your computer, you must explicitly select the "Oracle Services for Microsoft Transaction Server" component during the installation of Oracle client connectivity software.</em></p>
<p><br /><strong><span style="text-decoration: underline;">Resolution<br /></span></strong><br />Reinstalled Oracle Client 10g and selected the checkbox "Oracle Services for Microsoft Transaction Server" during installation. The setup&nbsp;installed the "ORAMTS10.DLL" on the system and resolved the issue.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>COM+ partitions : Retrieving the COM class factory for component with CLSID {GUID} failed due to the following error: 80040154.</title>
      <link>https://docs.microsoft.com/archive/blogs/ajit/com-partitions-retrieving-the-com-class-factory-for-component-with-clsid-guid-failed-due-to-the-following-error-80040154</link>
      <pubDate>Fri, 26 Mar 2010 17:48:00 GMT</pubDate>
      <dc:creator><![CDATA[Ajit Yadav]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ajit/2010/03/26/com-partitions-retrieving-the-com-class-factory-for-component-with-clsid-guid-failed-due-to-the-following-error-80040154/</guid>
      <description><![CDATA[Environment
Windows server 2003 Enterprise Edition SP2Two node windows&nbsp;cluster.
Problem 
We...]]></description>
      <content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;">Environment</span></strong></p>
<p>Windows server 2003 Enterprise Edition SP2<br />Two node windows&nbsp;cluster.</p>
<p><strong><span style="text-decoration: underline;">Problem </span></strong></p>
<p>We browse&nbsp;a web service and then we hit on a method that takes us to a form. After passing parameters on the form and clicking on the submit button we get the error : <br /><br /><strong>Retrieving the COM class factory for component with CLSID {GUID} failed due to the following error: 80040154.</strong><br /><br />The web service is running under a local user account that is a part of local administrators group. The apppool is also running under the same user. <br />Created Test.vbs to do a CoCreateInstance on the COM+ component and that failed too with the error : Activex component cannot create the object '&lt;progid&gt;'. <br />Deleted the component and added it back. Still fails. <br />Deleted the component again. Unregistered it and re-registered it using regsvr32.exe but we did not put it back in COM+. <br />Now the test.vbs worked. Web page worked too.<br />The COM+ package is under a partition named "QA partition" where we have configured some users under Roles but we are not using the roles as "Enable Enforce Access Checks". Even enabling that has no effect, still fails. Tried other COM+ components within the same partition and they are not working. </p>
<p><strong><span style="text-decoration: underline;">Resolution </span></strong></p>
<p>The server had the problem with one particular COM+ application. Other COM+ applications within&nbsp;the same partition&nbsp;worked&nbsp;when the components are invoked from&nbsp;ASP. <br />We checked the web.config file for IIS virtual directory.&nbsp; Found that Impersonation was turned on with SetImpersonate=True, username= &lt;domain user&gt;.&nbsp;All the web requests for the COM+ application was being&nbsp;made under&nbsp;this impersonated user. We created the mapping&nbsp;for this user under COM+ partition --&gt; Roles.&nbsp;This resolved the issue.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>