From: Alexey Smirnov on
On Nov 3, 2:23 pm, Iain <i...(a)test.co.uk> wrote:
> All,
>
> I get the following error when my web page tries to read from the registry:
>
> Configuration Error
> Description: An error occurred during the processing of a configuration
> file required to service this request. Please review the specific error
> details below and modify your configuration file appropriately.
>
> Parser Error Message: Error reading configuration information from the
> registry.
>
> Source Error:
>
> Line 54:         -->
> Line 55:                <authentication mode="Windows"/>
> Line 56:     <identity impersonate="true"
> Line 57:       userName=
> "registry:HKLM\SOFTWARE\app\identity\ASPNET_SETREG,userName"
> Line 58:       password =
> "registry:HKLM\SOFTWARE\app\identity\ASPNET_SETREG,password"
>
> I have given the NETWORK SERVICE read access rights to this key but the
> error still appears. I can't grant access to the ASPNET user as this
> user doesn't exist.
>
> Any ideas?
>
> Iain

Hi Iain

I've tried to follow you problem. I've created a test website under
IIS7 (Server Standard, SP2, x64) and run

aspnet_setreg -k:SOFTWARE\app\identity -u:"username" -p:"password"

This resulted to "Please edit your configuration to contain the
following:"

userName="registry:HKLM\SOFTWARE\app\identity\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\app\identity\ASPNET_SETREG,password"

Following information from the output I created a web.config as

<configuration>
<system.web>
<identity impersonate="true"
userName="registry:HKLM\SOFTWARE\app\identity
\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\app\identity
\ASPNET_SETREG,password">
</identity>
</system.web>
</configuration>

and got the same error message as in your case "Error reading
configuration information from the registry"

Then I went to registry and found that instead of HKLM\SOFTWARE....
the key for ASPNET_SETREG was created at

HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE
\Wow6432Node\app\identity\ASPNET_SETREG

So, I manually created app\identity\ASPNET_SETREG under
HKEY_LOCAL_MACHINE\SOFTWARE and added two binary keys for userName and
password. I copied binary contents from the keys created by
aspnet_setreg and run the test site again. It works! Now asp.net is
able to find registry settings. I am not sure why aspnet_setreg
creates settings under wrong keys. Perhaps we should report about this
problem to Microsoft, as far as I see there is nothing on this on
MSDN.

Hope this helps.
From: Alexey Smirnov on
On Nov 4, 11:44 am, Iain <i...(a)test.co.uk> wrote:
> Alexey Smirnov wrote:
>
> > So, I manually created app\identity\ASPNET_SETREG under
> > HKEY_LOCAL_MACHINE\SOFTWARE and added two binary keys for userName and
> > password. I copied binary contents from the keys created by
> > aspnet_setreg and run the test site again. It works! Now asp.net is
> > able to find registry settings. I am not sure why aspnet_setreg
> > creates settings under wrong keys. Perhaps we should report about this
> > problem to Microsoft, as far as I see there is nothing on this on
> > MSDN.
>
> > Hope this helps.
>
> Hi Alexey
>
> Thanks for the reply. I've checked my settings and the following
> registry key that I am trying to read exists :
>
> HKEY_LOCAL_MACHINE\SOFTWARE\app\Identity\ASPNET_SETREG
>
> So it seems aspnet_setreg has created the correct registry entry.
>
> The problem I reckon is down to permissions. I had the same eror message
> on another machine, but adding the ASPNET user to have read access to
> this key solved the problem. On Windows Server 2008 (where the web page
> is hosted) doesn't have a ASPNET user. Someone recommended adding
> "NETWORK  SERVICE" to have read access to the above key but this didn't
> solve the problem.
>
> Any further help would be greatly appreciated.
>
> Regards
> Iain

hm. that's strange... why it is different for me.

Regarding your problem. What settings are you using? Mode=Classic? In
the web.config file <identity impersonate="false/true"/> ?

Make a test page to see what account is running

<%@Page>

Hello, <%=System.Security.Principal.WindowsIdentity.GetCurrent().Name
%>
From: Alexey Smirnov on
On Nov 4, 12:56 pm, Iain <i...(a)test.co.uk> wrote:
> Alexey Smirnov wrote:
>
>   > hm. that's strange... why it is different for me.
>
> > Regarding your problem. What settings are you using? Mode=Classic? In
> > the web.config file <identity impersonate="false/true"/> ?
>
> > Make a test page to see what account is running
>
> > <%@Page>
>
> > Hello, <%=System.Security.Principal.WindowsIdentity.GetCurrent().Name
> > %>
>
> Test page returns the domain I'm part of and my username, for example
>
> mydomain/iain
>

This is the reason why you can't read registry. You granted Network
Service to read the key but you used impersonation and running the
thread under your account. You either should disable impersonation or
add your account to read the key.