.NET Framework Bookmark and Share   
 index > Windows Communication Foundation > Error installing WCF Non-HTTP Activation on Windows Vista
 

Error installing WCF Non-HTTP Activation on Windows Vista

We are building a solution using WCF with MSMQ (netMsmqBinding), and we plan to host the solution using WAS in IIS7. In order to host using WAS, I need to install the “Microsoft .NET 3.0 Framework > Windows Communication Foundation non-HTTP Activation�feature in Windows Vista SP1. Unfortunately, the WCF Non-HTTP Activation install is not working for me.

Here were my steps (I've run through them MANY times now to verify that I didn't miss anything):
1. Start > run > OptionalFeatures
2. Checked the box for Microsoft .NET 3.0 Framework > Windows Communication Foundation non-HTTP Activation
3. Clicked OK to begin the install

... the install went through the initial steps, the progress bar turned almost entirely green, and then an error message reported that the installation had failed so all of my changes would be rolled back. There was no error number or specific reason provided. So, I began my research:

1. I checked the Windows Event log, and I saw the error below under the System log. It says that the Net.Tcp Listening Adapter service cannot access the machine.config file. I updated the entire C:\Windows\Microsoft.Net folder to set my account as the owner, and tried again, but I got the same error. Next, I granted Full Control to the Local Service account, and that also still gave me the error.

2. Then, I went into the Windows services and tried to start the Net.Tcp Listening Adapter manually �got the same error. So, this seems to indicate that the "WCF non-HTTP activation" feature is dependant on this service, and since the service is failing, the install fails, too. (Of course, this could be coincidence, too.)

3. A blog online indicated that it may be a problem with IIS, so I uninstalled and re-installed IIS to see if that had any impact. No luck.

4. I also ran a repair on the .NET 3.5 framework.

5. Finally, I went through the ideas listed here (http://msdn.microsoft.com/en-us/windows/bb188202.aspx) and made sure that none of these explained my problem.

I have verified that one of my coworkers can install the feature, so I suspect there is a setting that I can toggle to fix this. Any help would be greatly appreciated.

-Jeff

Detailed Windows Event Log Error Message:

Log Name: System

Source: SMSvcHost 3.0.0.0

Date: 9/17/2009 7:10:32 AM

Event ID: 7

Task Category: Sharing Service

Level: Error

Keywords: Classic

User: LOCAL SERVICE

Computer: JTownes2DAL.pariveda.local

Description:

A request to start the service failed.

Error Code: System.TypeInitializationException: The type initializer for 'System.ServiceModel.Activation.DiagnosticUtility' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: An error occurred loading a configuration file: Access to the path 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config' is denied. (C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config) ---> System.UnauthorizedAccessException: Access to the path 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config' is denied.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)

at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)

at System.Configuration.Internal.InternalConfigHost.StaticOpenStreamForRead(String streamName)

at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName, Boolean assertPermissions)

at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName)

at System.Configuration.ClientConfigurationHost.OpenStreamForRead(String streamName)

at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

--- End of inner exception stack trace ---

at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)

at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)

at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()

at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)

--- End of inner exception stack trace ---

at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)

at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName)

at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)

at System.Configuration.ConfigurationManager.GetSection(String sectionName)

at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)

at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()

at System.Diagnostics.DiagnosticsConfiguration.Initialize()

at System.Diagnostics.DiagnosticsConfiguration.get_Sources()

at System.Diagnostics.TraceSource.Initialize()

at System.Diagnostics.TraceSource.get_Listeners()

at System.ServiceModel.Diagnostics.DiagnosticTrace.UnsafeRemoveDefaultTraceListener(PiiTraceSource piiTraceSource)

at System.ServiceModel.Diagnostics.DiagnosticTrace.CreateTraceSource()

at System.ServiceModel.Diagnostics.DiagnosticTrace..ctor(TraceSourceKind sourceType, String traceSourceName, String eventSourceName)

at System.ServiceModel.Activation.DiagnosticUtility.InitDiagnosticTraceImpl(TraceSourceKind sourceType, String traceSourceName)

at System.ServiceModel.Activation.DiagnosticUtility.InitializeTracing()

at System.ServiceModel.Activation.DiagnosticUtility..cctor()

--- End of inner exception stack trace ---

at System.ServiceModel.Activation.TcpPortSharing.OnStart(String[] args)

Process Name: SMSvcHost

Process ID: 564

Event Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="SMSvcHost 3.0.0.0" />

<EventID Qualifiers="49156">7</EventID>

<Level>2</Level>

<Task>13</Task>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime="2009-09-17T12:10:32.000Z" />

<EventRecordID>427368</EventRecordID>

<Channel>System</Channel>

<Computer>JTownes2DAL.pariveda.local</Computer>

<Security UserID="S-1-5-19" />

</System>

<EventData>

<Data>System.TypeInitializationException: The type initializer for 'System.ServiceModel.Activation.DiagnosticUtility' threw an exception. ---&gt; System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---&gt; System.Configuration.ConfigurationErrorsException: An error occurred loading a configuration file: Access to the path 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config' is denied. (C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config) ---&gt; System.UnauthorizedAccessException: Access to the path 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config' is denied.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)

at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)

at System.Configuration.Internal.InternalConfigHost.StaticOpenStreamForRead(String streamName)

at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName, Boolean assertPermissions)

at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.OpenStreamForRead(String streamName)

at System.Configuration.ClientConfigurationHost.OpenStreamForRead(String streamName)

at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

--- End of inner exception stack trace ---

at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)

at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)

at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()

at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)

--- End of inner exception stack trace ---

at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)

at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName)

at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)

at System.Configuration.ConfigurationManager.GetSection(String sectionName)

at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)

at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()

at System.Diagnostics.DiagnosticsConfiguration.Initialize()

at System.Diagnostics.DiagnosticsConfiguration.get_Sources()

at System.Diagnostics.TraceSource.Initialize()

at System.Diagnostics.TraceSource.get_Listeners()

at System.ServiceModel.Diagnostics.DiagnosticTrace.UnsafeRemoveDefaultTraceListener(PiiTraceSource piiTraceSource)

at System.ServiceModel.Diagnostics.DiagnosticTrace.CreateTraceSource()

at System.ServiceModel.Diagnostics.DiagnosticTrace..ctor(TraceSourceKind sourceType, String traceSourceName, String eventSourceName)

at System.ServiceModel.Activation.DiagnosticUtility.InitDiagnosticTraceImpl(TraceSourceKind sourceType, String traceSourceName)

at System.ServiceModel.Activation.DiagnosticUtility.InitializeTracing()

at System.ServiceModel.Activation.DiagnosticUtility..cctor()

--- End of inner exception stack trace ---

at System.ServiceModel.Activation.TcpPortSharing.OnStart(String[] args)</Data>

<Data>SMSvcHost</Data>

<Data>564</Data>

</EventData>

</Event>


Pariveda Solutions
jeff.townes
Hi Jeff,

If you use Admin role, whether you can install the “Microsoft .NET 3.0 Framework > Windows Communication Foundation non-HTTP Activation�feature.

Best regards,
Riquel
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Riquel_Dong

Yes, I selected "Run as Administrator" before attempting the install, and I was logged into the machine as an admin acccount.


Pariveda Solutions
jeff.townes

You can use google to search for other answers

Custom Search

More Threads

• BasicHttpBinding -> TransportWithMessageCredential security
• Certificate issue? or Configuration issue?
• Pooling Extensibility
• Help with WCF Collection
• WCF serialization to WSE deserialization problem...
• Error occure while calling a WCF Service.(The underlying connection was closed: The connection was closed unexpectedly.)
• wsDualHTTPBinding Issue with Firewalled PC Client
• (S-ABC) Sharing data between per-session service instances
• Remoting using WCF Services
• svcutil error: item with same key has already been added