cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
davidg
Level 4

aspnet_regiis calling -s on wrong path

When deploying a virtual directory the installer is calling the following:

InstallShield 19:27:13: Configuring ASP .NET version: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -s W3SVC/1/Root/

What I want is it to call:

InstallShield 19:27:13: Configuring ASP .NET version: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -s W3SVC/1/Root/MyVirDir

The problem is when there are other virtual directories under this path they are also being set to .net 4 but should be set to .net 2.

Questions:

1) Can I disable the call to aspnet_regiis.exe -s W3SVC/1/Root/
2) Is there a way I can change this to append the virtual directory to this call

Regards,
Dave
Labels (1)
0 Kudos
(2) Replies
davidg
Level 4

Thought I would post the work around so when someone else runs into this they will have a solution.

Here are the steps that allowed me to avoid this:

[LIST=1]
  • Clear the ASP .Net version property from the Virtual Directory. This will turn off the unwanted call to aspnet_regiis.exe -s W3SVC/1/Root/.
  • Create a custom action that calls the same logic but includes the full path to the application (eg. aspnet_regiis.exe -s W3SVC/1/Root/MyVirDir)


    I still don't know why this is being called. This is not desired on the root of the website. If a company had 100 .net 2 virtual directories under a website they would all be set to .net 4 because I deployed a virtual directory. This is very bad and takes time to set them all back, as well causes downtime to sites that are not compatible with .net 4.

    From the aspnet_regiis documentation:

    Updates scriptmaps and application-pool assignments for the specified application and for all sub-applications.
    For a non-root Web application (not W3SVC\ or W3SVC\ROOT), the application pool settings for the non-root Web application and all its sub-applications are copied to a new application pool named ASP.NET V4.0 original application pool name, and the non-root Web application is then moved to the new application pool. The new application pool has the same settings as the original application pool, except that the copy is mapped to the .NET Framework 4 CLR and has ASP.NET 4 settings.
    If the new application pool ASP.NET V4.0 original application pool name already exists, the step of creating and cloning the application pool is skipped. Instead, Aspnet_regiis.exe uses the existing application pool and sets it to use the .NET Framework 4 CLR, but makes no other changes. The tool then moves the specified application and its sub-applications to the corresponding application-pool copy. Existing application-pool settings are left unchanged.
    If the specified application is the Web root (W3SVC\ or W3SVC\ROOT), Aspnet_regiis.exe updates all application pools to use the .NET Framework 4 CLR and ASP.NET 4.


    Note:

    This Issue also exists in Install Shield 2012.
  • 0 Kudos
    Srinidhi
    Level 2

    Thanks a lot. You saved my day. I was tearing my hair over this. Never occurred to me that clearing the version could stop ISS from registering.
    By the way I'm using Installshield 2015 - (project upgraded from 2013)
    I have tight timelines for development & delivery, Installshield is a real nightmare!
    Thanks again

    davidg wrote:
    Thought I would post the work around so when someone else runs into this they will have a solution.

    Here are the steps that allowed me to avoid this:

    [LIST=1]
  • Clear the ASP .Net version property from the Virtual Directory. This will turn off the unwanted call to aspnet_regiis.exe -s W3SVC/1/Root/.
  • Create a custom action that calls the same logic but includes the full path to the application (eg. aspnet_regiis.exe -s W3SVC/1/Root/MyVirDir)


    I still don't know why this is being called. This is not desired on the root of the website. If a company had 100 .net 2 virtual directories under a website they would all be set to .net 4 because I deployed a virtual directory. This is very bad and takes time to set them all back, as well causes downtime to sites that are not compatible with .net 4.

    From the aspnet_regiis documentation:



    Note:

    This Issue also exists in Install Shield 2012.
  • 0 Kudos