Windows Server 3003 and No-Touch Deployment

  • Thread starter Thread starter Mike Livenspargar
  • Start date Start date
M

Mike Livenspargar

We're using no-touch deployment with a particular application. We can serve
the application from a Windows 2000 Server machine with no problem. We're
not able to serve the application from a Windows 2003 Server. It appears
that the app's .config is not being transferred to the client when they try
to launch the application from the Win 2003 server.

The web.config file for the virtual directories includes entries in the
httpHandler section to allow .config files to be retrieved, and we've
deleted the .config entry from the App Mappings tab in the properties for
the virtual directories (which I think means our httpHandler mods are not
necessary). The virtual directory on the Win 2003 server allows anonymous
access. The machine.config files between the two servers in question are
identical with the exception of some database connection strings in the
appSettings section.

An examination of the IIS log files on the Win2003 server shows the last
entry for a no-touch deployment session to be a GET for the app.exe.config
file with a status 401. A FileLoadException is thrown on the client machine
when we try to run from the Win2003 server.

What other settings should we change on the Win2003 server?

Thanks,
Mike
 
Hello Mike,

Thanks for posting in the group.

We will look into it and reply with more information here. Please post here
if you have any more concerns.

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!Reply-To: "Mike Livenspargar" <[email protected]>
!From: "Mike Livenspargar" <[email protected]>
!Subject: Windows Server 3003 and No-Touch Deployment
!Date: Wed, 24 Sep 2003 17:28:46 -0700
!Lines: 26
!Organization: County of Sonoma
!X-Priority: 3
!X-MSMail-Priority: Normal
!X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
!X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
!Message-ID: <#[email protected]>
!Newsgroups: microsoft.public.dotnet.framework
!NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
!Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
!Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:54649
!X-Tomcat-NG: microsoft.public.dotnet.framework
!
!We're using no-touch deployment with a particular application. We can serve
!the application from a Windows 2000 Server machine with no problem. We're
!not able to serve the application from a Windows 2003 Server. It appears
!that the app's .config is not being transferred to the client when they try
!to launch the application from the Win 2003 server.
!
!The web.config file for the virtual directories includes entries in the
!httpHandler section to allow .config files to be retrieved, and we've
!deleted the .config entry from the App Mappings tab in the properties for
!the virtual directories (which I think means our httpHandler mods are not
!necessary). The virtual directory on the Win 2003 server allows anonymous
!access. The machine.config files between the two servers in question are
!identical with the exception of some database connection strings in the
!appSettings section.
!
!An examination of the IIS log files on the Win2003 server shows the last
!entry for a no-touch deployment session to be a GET for the app.exe.config
!file with a status 401. A FileLoadException is thrown on the client machine
!when we try to run from the Win2003 server.
!
!What other settings should we change on the Win2003 server?
!
!Thanks,
!Mike
!
!
!
 
Hi Mike, Take a look at the following Newsgroup thread (Around 25 messages) , Around Message 10 Mike Moore from Microsoft answers this and other questions you may have
in the rest of the thread...

http://www.google.com/groups?hl=en&...=020201c2a20e$4af9ec50$d2f82ecf@TK2MSFTNGXA09

(Watch for line breaks in the URL above)

Please let me know if that thread does answer your question..

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
 
Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
The particular part of the thead I think applies is

"Currently there is no better method. That's why the white paper which
includes commentary on downloaded config files explicitly states that care
should be taken that the config file never needs to be updated as it will
never be updated even if a newer version is available."

Which is what is happening.

Have you had a chance to look over the article mentioned in that thread?

http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.aspx



Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
Reply-To: "Mike Livenspargar" <[email protected]>
From: "Mike Livenspargar" <[email protected]>
References: <#[email protected]> <[email protected]>
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
Thanks Scot for your follow-up. We reviewed the article you mention
and didn't find anything new in there for us.

I don't believe this is an issue of a newer config file on the server
not downloading and overwriting an older config file on a client. Our
problem is the config file is not being transferred down, period.

Let me restate the problem: we have two servers set up. One is a
Windows 2000 server and the other is a Windows 2003 server. We
configure virtual directories with the same setup on each machine. We
copy an executable along with it's associated config file and
supporting dll's into each virtual directory. We can successfully
launch and run the application from the Windows 2000 server. We can
successfully launch the application from the Windows 2003 server but
it fails to run because the app.config file is not transferred down
from the Windows 2003 server. This is true if we try to launch the
application from a client on which the application has never been
launched, and on a machine on which we've cleared the download cache
with gacutil /cdl.

When we examine the web log on the Windows 2003 server we can see that
all attempts to retrieve the app.config file failed with 401
responses. We've enabled anonymous access on the virtual directory and
have enabled transfer of config files from the virtual directory by
removing the .config extension from the list of handled extensions
and/or altering the httpHandler in web.config to allow transfer of
..config files.

There seems to be an additional block for .config files on the Windows
2003 server and I'm wondering where that is. If there are any further
tests we can run to eliminate or find other possibilities, please let
me know.

Thanks,
Mike

The particular part of the thead I think applies is

"Currently there is no better method. That's why the white paper which
includes commentary on downloaded config files explicitly states that care
should be taken that the config file never needs to be updated as it will
never be updated even if a newer version is available."

Which is what is happening.

Have you had a chance to look over the article mentioned in that thread?

http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.aspx



Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
Reply-To: "Mike Livenspargar" <[email protected]>
From: "Mike Livenspargar" <[email protected]>
References: <#[email protected]> <[email protected]>
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
I have scoured the internal databases here for any information that might explain this but have come up dry. No bug reports, prevous cases, etc. At this point my suggestion is that
you use one of your MSDN Incidents and open a support call so you can work directly with a specialist in that area.If it turns out to be a bug in the product you would most likely not
be decremented on your incident count. If you have an actual Reproducable scenario to give to the Support Professional when you call that would probably help to speed things
along.

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
From: Mike Livenspargar <[email protected]>
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Thu, 23 Oct 2003 09:50:18 -0700
Message-ID: <[email protected]>
References: <#[email protected]> <[email protected]> <#[email protected]>
X-Newsreader: Forte Free Agent 1.93/32.576 English (American)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Lines: 1
Path: cpmsftngxa06.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:56938
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks Scot for your follow-up. We reviewed the article you mention
and didn't find anything new in there for us.

I don't believe this is an issue of a newer config file on the server
not downloading and overwriting an older config file on a client. Our
problem is the config file is not being transferred down, period.

Let me restate the problem: we have two servers set up. One is a
Windows 2000 server and the other is a Windows 2003 server. We
configure virtual directories with the same setup on each machine. We
copy an executable along with it's associated config file and
supporting dll's into each virtual directory. We can successfully
launch and run the application from the Windows 2000 server. We can
successfully launch the application from the Windows 2003 server but
it fails to run because the app.config file is not transferred down
from the Windows 2003 server. This is true if we try to launch the
application from a client on which the application has never been
launched, and on a machine on which we've cleared the download cache
with gacutil /cdl.

When we examine the web log on the Windows 2003 server we can see that
all attempts to retrieve the app.config file failed with 401
responses. We've enabled anonymous access on the virtual directory and
have enabled transfer of config files from the virtual directory by
removing the .config extension from the list of handled extensions
and/or altering the httpHandler in web.config to allow transfer of
.config files.

There seems to be an additional block for .config files on the Windows
2003 server and I'm wondering where that is. If there are any further
tests we can run to eliminate or find other possibilities, please let
me know.

Thanks,
Mike

The particular part of the thead I think applies is

"Currently there is no better method. That's why the white paper which
includes commentary on downloaded config files explicitly states that care
should be taken that the config file never needs to be updated as it will
never be updated even if a newer version is available."

Which is what is happening.

Have you had a chance to look over the article mentioned in that thread?

http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.aspx



Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
Reply-To: "Mike Livenspargar" <[email protected]>
From: "Mike Livenspargar" <[email protected]>
References: <#[email protected]> <[email protected]>
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
Did you read Alan's Blog?
http://blogs.gotdotnet.com/alanshi/commentview.aspx/fafd34ae-e72d-44ca-bb2d-7614ecfa2070


Scot Rose said:
I have scoured the internal databases here for any information that might
explain this but have come up dry. No bug reports, prevous cases, etc. At
this point my suggestion is that
you use one of your MSDN Incidents and open a support call so you can work
directly with a specialist in that area.If it turns out to be a bug in the
product you would most likely not
be decremented on your incident count. If you have an actual Reproducable
scenario to give to the Support Professional when you call that would
probably help to speed things
along.

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
X-Newsreader: Forte Free Agent 1.93/32.576 English (American)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Lines: 1
Path:
cpmsftngxa06.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08
..phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:56938
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks Scot for your follow-up. We reviewed the article you mention
and didn't find anything new in there for us.

I don't believe this is an issue of a newer config file on the server
not downloading and overwriting an older config file on a client. Our
problem is the config file is not being transferred down, period.

Let me restate the problem: we have two servers set up. One is a
Windows 2000 server and the other is a Windows 2003 server. We
configure virtual directories with the same setup on each machine. We
copy an executable along with it's associated config file and
supporting dll's into each virtual directory. We can successfully
launch and run the application from the Windows 2000 server. We can
successfully launch the application from the Windows 2003 server but
it fails to run because the app.config file is not transferred down
from the Windows 2003 server. This is true if we try to launch the
application from a client on which the application has never been
launched, and on a machine on which we've cleared the download cache
with gacutil /cdl.

When we examine the web log on the Windows 2003 server we can see that
all attempts to retrieve the app.config file failed with 401
responses. We've enabled anonymous access on the virtual directory and
have enabled transfer of config files from the virtual directory by
removing the .config extension from the list of handled extensions
and/or altering the httpHandler in web.config to allow transfer of
.config files.

There seems to be an additional block for .config files on the Windows
2003 server and I'm wondering where that is. If there are any further
tests we can run to eliminate or find other possibilities, please let
me know.

Thanks,
Mike
http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.asp x
Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
Actaully, My search didn't turn up THAT page... Looks like the answer though doesn't it... Thanks for chiming in here...


Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Wed, 29 Oct 2003 16:07:58 -0800
Lines: 253
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.3790.0
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Message-ID: <[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 131.107.3.86
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:57417
X-Tomcat-NG: microsoft.public.dotnet.framework

Did you read Alan's Blog?
http://blogs.gotdotnet.com/alanshi/commentview.aspx/fafd34ae-e72d-44ca-bb2d-7614ecfa2070


Scot Rose said:
I have scoured the internal databases here for any information that might
explain this but have come up dry. No bug reports, prevous cases, etc. At
this point my suggestion is that
you use one of your MSDN Incidents and open a support call so you can work
directly with a specialist in that area.If it turns out to be a bug in the
product you would most likely not
be decremented on your incident count. If you have an actual Reproducable
scenario to give to the Support Professional when you call that would
probably help to speed things
along.

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
X-Newsreader: Forte Free Agent 1.93/32.576 English (American)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Lines: 1
Path:
cpmsftngxa06.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08
.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:56938
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks Scot for your follow-up. We reviewed the article you mention
and didn't find anything new in there for us.

I don't believe this is an issue of a newer config file on the server
not downloading and overwriting an older config file on a client. Our
problem is the config file is not being transferred down, period.

Let me restate the problem: we have two servers set up. One is a
Windows 2000 server and the other is a Windows 2003 server. We
configure virtual directories with the same setup on each machine. We
copy an executable along with it's associated config file and
supporting dll's into each virtual directory. We can successfully
launch and run the application from the Windows 2000 server. We can
successfully launch the application from the Windows 2003 server but
it fails to run because the app.config file is not transferred down
from the Windows 2003 server. This is true if we try to launch the
application from a client on which the application has never been
launched, and on a machine on which we've cleared the download cache
with gacutil /cdl.

When we examine the web log on the Windows 2003 server we can see that
all attempts to retrieve the app.config file failed with 401
responses. We've enabled anonymous access on the virtual directory and
have enabled transfer of config files from the virtual directory by
removing the .config extension from the list of handled extensions
and/or altering the httpHandler in web.config to allow transfer of
.config files.

There seems to be an additional block for .config files on the Windows
2003 server and I'm wondering where that is. If there are any further
tests we can run to eliminate or find other possibilities, please let
me know.

Thanks,
Mike

The particular part of the thead I think applies is

"Currently there is no better method. That's why the white paper which
includes commentary on downloaded config files explicitly states that care
should be taken that the config file never needs to be updated as it will
never be updated even if a newer version is available."

Which is what is happening.

Have you had a chance to look over the article mentioned in that thread?
http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.asp x



Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
All,
Just checking to see if there is any more info on the issue that Mike has
raised here.
We are having the exact (to the letter) problem outlined below where we can
not get the app.config file to download from a Windows 2003 Server (or
Windows XP), but the same app will work on Windows 2000.
I have tried all of the workarounds mentioned by Chris Sells, Alan Shi, and
Ingo and others to no avail.
Any help would be very much appreciated.

Scot Rose said:
I have scoured the internal databases here for any information that might
explain this but have come up dry. No bug reports, prevous cases, etc. At
this point my suggestion is that
you use one of your MSDN Incidents and open a support call so you can work
directly with a specialist in that area.If it turns out to be a bug in the
product you would most likely not
be decremented on your incident count. If you have an actual Reproducable
scenario to give to the Support Professional when you call that would
probably help to speed things
along.

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
X-Newsreader: Forte Free Agent 1.93/32.576 English (American)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Lines: 1
Path:
cpmsftngxa06.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08
..phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:56938
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks Scot for your follow-up. We reviewed the article you mention
and didn't find anything new in there for us.

I don't believe this is an issue of a newer config file on the server
not downloading and overwriting an older config file on a client. Our
problem is the config file is not being transferred down, period.

Let me restate the problem: we have two servers set up. One is a
Windows 2000 server and the other is a Windows 2003 server. We
configure virtual directories with the same setup on each machine. We
copy an executable along with it's associated config file and
supporting dll's into each virtual directory. We can successfully
launch and run the application from the Windows 2000 server. We can
successfully launch the application from the Windows 2003 server but
it fails to run because the app.config file is not transferred down
from the Windows 2003 server. This is true if we try to launch the
application from a client on which the application has never been
launched, and on a machine on which we've cleared the download cache
with gacutil /cdl.

When we examine the web log on the Windows 2003 server we can see that
all attempts to retrieve the app.config file failed with 401
responses. We've enabled anonymous access on the virtual directory and
have enabled transfer of config files from the virtual directory by
removing the .config extension from the list of handled extensions
and/or altering the httpHandler in web.config to allow transfer of
.config files.

There seems to be an additional block for .config files on the Windows
2003 server and I'm wondering where that is. If there are any further
tests we can run to eliminate or find other possibilities, please let
me know.

Thanks,
Mike
http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.asp x
Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided "AS IS", with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect
Subject: Re: Windows Server 3003 and No-Touch Deployment
Date: Mon, 6 Oct 2003 11:33:00 -0700
Lines: 93
Organization: County of Sonoma
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#[email protected]>
Newsgroups: microsoft.public.dotnet.framework
NNTP-Posting-Host: 209-77-204-223.sonoma-county.org 209.77.204.223
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework:55501
X-Tomcat-NG: microsoft.public.dotnet.framework

Thanks, Scot:

I'm including a console application I'm using to investigate our problem. We
have what I believe are identically set up IIS virtual directories: one on a
Windows 2000 Server and the other on a Windows 2003 Server. The test
application below correctly shows appSettings values from the app.config
file when executed from the 2000 server, but not from the 2003 server. The
machine.config files are identical on the two servers (excepting some
database connection string entries in the appSettings section). We
successfully have done the following in the past to allow app.config files
to transfer to client machines:

1) allow anonymous access to the virtual directory containing the executable
2) added the following to the Web.config/system.web section in the
executable's virtual directory
<httpHandlers>
<remove verb="*" path="*.config"/>
<add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

There seems to be something else we need to do on the 2003 Server in order
to allow the .config file to transfer. I don't see anything in the thread to
which you pointed me that looks like it will help. The sample app below just
displays the contents of the appSettings section, so when run it should show
values contained in the app.config file coming from the server.

using System;

using System.Configuration;

namespace TestRemoteConfig

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

foreach (string appSetting in ConfigurationSettings.AppSettings)

{

Console.WriteLine("AppSetting: {0}", appSetting);

}

Console.ReadLine();

}

}

}



And here are the contents of the associated app.config file



<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<add key="Test" value="yes" />

</configuration>



Thanks,

Mike
 
The problem turned out to be an IIS 6.0 issue -- IIS stores the anonymous user's password in its database, and it was different from the password for the anonymous user stored by the OS. Once we changed the password in both places to a known value we were able to run just fine, downloaded .config files and all. I'm sorry I don't have the name of the utility used to change the password in the IIS database handy but it should be easy to find.
 
Back
Top