cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DFranke
Level 3

IIS7 Virtual Dirs / Applications

We currently have an IS2009 install that creates a Web Site and a series of Nested Applications under Windows 2003 IIS6. When I try to run on Windows 2008 IIS7 it creates the initial Application, a virtual directory under that with the same name, and then virtual directories under that instead of Applications in IIS. I have tried the evaluation of IS 2010 and have the same results.

I have read that adding IISPREFERLEGACYOBJECTS might correct the issue but have not tried it yet.

I would prefer to do it the correct way if there is one.
Is there something I am missing or doing wrong?
In the end I want a nested set of Applications in IIS, not virtual directories.
Any help or ideas are appreciated.
Labels (1)
0 Kudos
(6) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Unfortunately, IS 2009 does not provide this kind of functionality for IIS. Setting the IISPREFERLEGACYOBJECTS property will make things install similar to how they would on IIS 6 or earlier versions. However, there are no methods available (with the built in functionality) to create sub-applications. Note that the IIS functionality was enhanced in IS 2010 which will allow for this application structure to be installed (and can be accomplished without using the IISPREFERLEGACYOBJECTS property).
0 Kudos
DFranke
Level 3

How do you accomplish this in IS2010?

I downloaded the evaluation version yesterday and compiled my project and got the same results as IS2009.

Is there a setting I need to change in IS2010 to force it to create an Application as opposed to a Virtual Directory?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

By default, when a project is migrated to IS 2010, any existing IIS items are migrated as "legacy" to preserve their installation behavior. After migrating, to use the new IIS functionality instead of the legacy functionality, you can do one of the following:
- Remove and re-add any websites, app pools, virtual directories, etc. from the project.
- Change the type values in the ISIISItem table (Type column) in the Direct Editor. Legacy websites would change from -2147483647 to 1 and legacy virtual directories would change from -2147483645 to 3. If you wanted to change a virtual directory to an application, change the type value to 2.

Note that new applications and virtual directories can be created in the IIS view by right-clicking a website, virtual directory, or application and selecting New Application or New Virtual Directory.
0 Kudos
DFranke
Level 3

Thanks for the reply Josh. I will give that a try in IS 2010 and see how it goes.

I did try the IISPREFERLEGACYOBJECTS swith in IS 2009 and it installed properly without issues.
0 Kudos
nitsev
Level 6

I believe the complete list is as follows after investigating my project before and after converting to IS 2010.

object/old legacy value/new value

Web Service Extension / -2147483643 / 5
Application Pool / -2147483644 / 4
Website / -2147483647 / 1
Application / -2147483646 / 2
Virtual Dir. / -2147483645 / 3

I tried this with IS 2010 on Windows Vista 32-bit and it works. You don't need to set the IISPREFERLEGACYOBJECTS flag to prevent it from creating the duplicate directory structure. I also tried it successfully on
Windows XP SP3 x86 and Windows Server 2008 x64 (not R2)

I guess this means that you can skip the IISPREFERLEGACYOBJECTS flag entirely in IS2010 if you change the type values in ISIISItem to the new values. Can anyone from IS support confirm this?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The type values listed are correct (legacy items are the type value OR'ed with 0x80000000). These values should be documented in the help library in a future release.

Since virtual directories and applications are created differently for non-legacy items, using IISPREFERLEGACYOBJECTS should no longer be necessary to have the virtual directories or applications install as they are structured in the IIS view in InstallShield.
0 Kudos