PDA

View Full Version : Cannot set .NET version for Application Pool



gknierim
10-29-2010, 01:46 PM
InstallShield MSI project...

I have an Applicaiton Pool that I have created in the IS IIS section. When I set the .NET version for the pool to .NET 4.0, the install fails. If I leave it blank, the install succeeds but then after the install in IIS, the application pool is set to No Managed Code. Is there something else I need to do or what is causing this behavior?

This was a converted project from IS2009 and there is no IISPREFERLEGACYOBJECTS property.

Thanks,
Greg

gknierim
10-29-2010, 02:00 PM
I created a blank MSI project and just created the application pool and set it to .NET 4.0 and it worked fine so it must be project related.

Anyonw have any ideas on what might be happening? I'm getting the error with IISRT when I set it.

Alpesh
10-30-2010, 06:49 PM
Hi,

What is the ISRT error you are receiving? Did you try recreating the IIS components from scratch in your upgraded project? The IIS implementation was changed in IS2010, so this is worth a try.

Thanks!

gknierim
10-30-2010, 08:20 PM
I tried recreating all of the objects in the IIS IDE of InstallShield - the 1 application pool and the 3 applications in my converted project. I set the application pool to use .NET 4.0 and the Enable 32 bit flag to Yes. On the Applications, I set them all to use ASP.NET version 4.0.30919 (I think that is the version) and set the ASP.NET Platform to 32 Bit.

Now, here is the odd thing. My converted project fails when I have all of these set but it doesn't in the test project I created that just has these elements defined. If I remove the .NET 4.0 version from the application pool and the versions from the applications, the install from my converted project works but then the application pool is set to No Managed Code and not .NET 4.0.

So, I don't know what is causing the problem. I have my own log file and the process stops immediately after the OnMoving() event and never gets to the OnMoved() event. What does InstallShield do between these 2 events because that is when it is causing the IISRT error. I don't have the error number with me but I can remember it is a -214xxxxxx number.

I have even tried creating the IISPREFERLEGACYOBJECTS property with a value of 1 to see if that would work and it would not. Would setting it to 0 do anything? I really don't want to recreate the project because this is a very complicated project.

Any thoughts?

Alpesh
10-30-2010, 08:36 PM
Hi,

Please post the project file and verbose msi log here. The IISPREFERLEGACYOBJECTS property needs to be set to 1, if you want to use IIS 6 runtime settings. You need to remove the property, if you do not want to use the IIS 6 settings. The log file should provide more information about the issue.

Thanks!

gknierim
11-01-2010, 09:59 AM
Please see attched log.

On this install, I removed the IISPREFERLEGACYOBJECTS property and had the application pool and all applications set for the 4.0 Framework and the ASP.NET platform to 32 bit.

Alpesh
11-01-2010, 10:29 AM
Ok, I see in the log that it is showing the error -2147024891. This basically means access denied. If you are including a web.config file in the project, make sure it is not read-only.

Please see these other threads for more information -
http://community.flexerasoftware.com/showthread.php?t=193605&highlight=2147024891
http://community.flexerasoftware.com/showthread.php?t=191914&highlight=2147024891

Thanks!

gknierim
11-01-2010, 02:16 PM
We went through and thought we had all the web.config file Read Only attribute turned off but we ended up missing one. When we turned it off, the install worked fine.

So, my question is why do the web.config files need to have Read Only turned off? What does the install modify in these files during the install? Is it something that IS engine is doing or one of our scripts? I didn't see anything in our scripts that are modifying the web.config so I'm curious.

Thanks,
Greg