cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
CChong
Level 11 Flexeran
Level 11 Flexeran

IIS 7 fails on Vista while the same Install works on XP with IIS 5.1

Hi Folks.
I am having a problem creating a virtual directory in Vista.
While the Virtual Directory Default Web Site/Company/Product/Application gets created on XP under IIS 5.1,
unfortunately it rolls back when it reaches the same stage on Vista with IIS 7.0. (Using the same Install program.)
UAC is switched off on Vista, so I am confused. Here is the log generated. -2147024891 means access denied. But I am not denying access to anything.(I think)

Setting property 'enabled' to value 'false' for element 'system.webServer/directoryBrowse'. Old value: '0'. m_sSectionName : 'system.webServer/directoryBrowse'.
InstallShield 16:53:56: getvaluelog
InstallShield 16:53:56: put_value succeeded. get_StringValue now returns '0' with string value 'false'.
InstallShield 16:53:56: CommitChanges for path 'MACHINE/WEBROOT/APPHOST/Default Web Site/Company/Product/Application' and physical path 'C:\inetpub\wwwroot\Company\Product\Application\'.
InstallShield 16:53:56: CommitChanges failed with the following HRESULT: '-2147024891'.
InstallShield 16:53:56: Error with IISRT: -2147024891
Labels (1)
0 Kudos
(8) Replies
virtualbry
Level 4

carrolls wrote:
Hi Folks.
I am having a problem creating a virtual directory in Vista.
While the Virtual Directory Default Web Site/Company/Product/Application gets created on XP under IIS 5.1,
unfortunately it rolls back when it reaches the same stage on Vista with IIS 7.0. (Using the same Install program.)
UAC is switched off on Vista, so I am confused. Here is the log generated. -2147024891 means access denied. But I am not denying access to anything.(I think)

Setting property 'enabled' to value 'false' for element 'system.webServer/directoryBrowse'. Old value: '0'. m_sSectionName : 'system.webServer/directoryBrowse'.
InstallShield 16:53:56: getvaluelog
InstallShield 16:53:56: put_value succeeded. get_StringValue now returns '0' with string value 'false'.
InstallShield 16:53:56: CommitChanges for path 'MACHINE/WEBROOT/APPHOST/Default Web Site/Company/Product/Application' and physical path 'C:\inetpub\wwwroot\Company\Product\Application\'.
InstallShield 16:53:56: CommitChanges failed with the following HRESULT: '-2147024891'.
InstallShield 16:53:56: Error with IISRT: -2147024891


You might have to install IIS6 compatibility... check your installed IIS features.

We've run into cases where IIS7 isn't supported natively by the installer, and you have to basically employ a compatibility shim offered by the OS to get it to work with the legacy installer.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Are you installing a web.config file with your setup in C:\inetpub\wwwroot\Company\Product\Application\? If so, this could be related to a limitation in IIS 7 (this limitation is hit when attempting to set configuration properties with a web.config file present that contains xml namespaces). This issue can be reproduced by changing settings such as directoryBrowse with the IIS manager when this web.config file is present.

This limitation no longer exists (based on our testing) in IIS 7.5 (Win7/2008 R2).
0 Kudos
CChong
Level 11 Flexeran
Level 11 Flexeran

Thanks folks,
Will this fix mean that an install will be compatible with IIS 5.1 and IIS 7.0 for the same install?
0 Kudos
ChandanOmkar
Level 8

of course yes.
0 Kudos
CChong
Level 11 Flexeran
Level 11 Flexeran

Thanks ChandanOmkar
Also, My company have just purchased Installshield 2010.
1: Are the DLL updates mentioned above incorporated into Installshield 2010?
2: If I upgrade my Installshield 2009 projects to Installshield 2010 and rebuild, will it work immediately or will I have to delete and replace the IIS virtual directories?
0 Kudos
slowhand
Level 2

The KB is for IS2008! I tried to use the DLL's for IS2009 but another error occured at the same point at the setup.. fine..

I am sure the problem is, that the setup is trying to create the Virtual directory BEFORE having created the Web Application. Cause when I am creating the Web App manually before starting the setup it works.

The WebApp has the same name as the Virtual Directory and the same location to provide the same URL on IIS 7.0 and IIS 5.1 for the WebApp...

Anyone out there with a solution (and NO am not getting IS2010...)

Update:
Created a new Property IISPREFERLEGACYOBJECTS and set its Value to 1. Now its is working and only creates a WebApp no more Virtual Directory...
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The IIS7 support creates application elements prior to creating virtual directory elements (from a standpoint of the internal IIS schema stored in %systemroot%\system32\inetsrv\config\applicationhost.config). Virtual directory elements are children of application elements and therefore cannot be created on their own.

Note that the IIS support in IS 2009 always creates an application and then a virtual directory as a subfolder of the application. Adding the IISPREFERLEGACYOBJECTS property to the installation can work around this, but this does require that IIS 6 compatibility be installed on a target machine to avoid an install failure.
0 Kudos