Modifications made to web.config cause incorrect Web application settings to be applied on Windows Vista computers if original web.config

Article:TECH39774  |  Created: 2008-04-09  |  Updated: 2010-04-08  |  Article URL http://www.symantec.com/docs/TECH39774
NOTE: If you are experiencing this particular known issue, we recommend that you Subscribe to receive email notification each time this article is updated. Subscribers will be the first to learn about any releases, status changes, workarounds or decisions made.
Article Type
Technical Solution



Issue



When creating a Web application, a web.config file existed in the virtual directory before the virtual directory was configured in Wise Installation Studio 7.0 SP1. The modifications that were made to the web.config file cause the settings to be set incorrectly for the Web application. This behavior only occurs when the original web.config file contains the line '<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">'.

Steps to reproduce:

  1. Create a new .wsi using the Web application template.
  2. On the files page, add 1 text file and a web.config file that contains '<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">' to a directory.
  3. On the Web files page, create a virtual directory that points to the directory created in step 2.
  4. Compile the .wsi.
  5. Run the .msi on a Windows Vista* computer.
  6. In IIS, browse to the virtual directory and try viewing the Authentication for the virtual directory. The message "Cannot create a file when that file already exists" appears. If this were an actual Web application, the Web application would error when trying to browse to it as well.

Environment



Wise Installation Studio 7.0 SP1
Microsoft Windows Vista
IIS 7.0
Original web.config contains the line: xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">


Cause



When the virtual directory is created, the following text is added to the already existing web.config file. (This text will vary based on the options chosen on the Web Details dialog.)

<security xmlns="">
<authentication>
<anonymousAuthentication enabled="true"/>
<basicAuthentication enabled="false"/>
<windowsAuthentication enabled="true"/>
<digestAuthentication enabled="false"/></authentication></security>
<directoryBrowse xmlns="" enabled="false"/>
<httpLogging xmlns="" dontLog="false"/>
<defaultDocument xmlns="" enabled="false"/>
<staticContent xmlns="" enableDocFooter="false" isDocFooterFileName="true">
<clientCache cacheControlMode="NoControl"/></staticContent>
<asp xmlns="" enableParentPaths="false" scriptLanguage="VBScript" bufferingOn="true">
<limits scriptTimeout="00:01:30"/>
<session allowSessionState="true" timeout="00:20:00"/></asp>

The xmlns="" causes the computer's applicationHost.config file to not be updated properly by our custom actions.


Solution



NOTE:  This issue is resolved in Wise Package Studio version 8.0 which was released on 29 October 2009
               This issue is resolved in Wise Installation Studio 7 SP2, which was released on 15 March 2010


Workaround:

  1. After compiling the installation the first time (so that our section is added to the web.confi file), modify the section we added so that all instances of xmlns="" are removed. If just the default settings were taken, as in the example text added in the Cause section, the section we added should be modified to look like:

    <security>
    <authentication>
    <anonymousAuthentication enabled="true"/>
    <basicAuthentication enabled="false"/>
    <windowsAuthentication enabled="true"/>
    <digestAuthentication enabled="false"/></authentication></security>
    <directoryBrowse enabled="false"/>
    <httpLogging dontLog="false"/>
    <defaultDocument enabled="false"/>
    <staticContent enableDocFooter="false" isDocFooterFileName="true">
    <clientCache cacheControlMode="NoControl"/></staticContent>
    <asp enableParentPaths="false" scriptLanguage="VBScript" bufferingOn="true">
    <limits scriptTimeout="00:01:30"/>
    <session allowSessionState="true" timeout="00:20:00"/></asp>

  2. Re-compile the .wsi. On any subsequent compile, the xmlns="" attributes should not be added.


Supplemental Materials

SourceDEFECT
ValueLB 67384
DescriptionLogged in Littlebuggy (Altiris - Lindon, Plymouth) database

Legacy ID



41249


Article URL http://www.symantec.com/docs/TECH39774


Terms of use for this information are found in Legal Notices