View Full Version : Virtual dir not created after migrating project from IS12

06-23-2008, 06:26 PM
Hi All,

I've migrated a project from IS12 to IS2009. This project needs a virtual directory and has the option of creating a new website or using the default website (two different components). It had been working fine in IS12.

After I migrated to 2009 the virtual directory is no longer being created. I've read the information in this link about upgrading projects to 2009 ( http://kb.acresso.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q200151&sliceId= ) and I've made sure that both the website and virtual dir are assigned to a component in my project.

What is strange is that when I select to use a new website, the website is created properly, but the virtual dir is not.

I've also tried adding an entirely new component and create a different website and virtual dir, and in that case it works fine.

Any idea of what could be wrong with the migrated components?

-Juan Carlos

06-24-2008, 09:55 AM
Can you provide some further information?

- What project type are you working with?
- Can you reproduce this behavior in a sample project that contains a website and virtual directory included in a similar component structure that your migrated project has? If so, can you provide details on how the components are set up in the project and what components the website and virtual directory are included in?

07-18-2008, 10:17 AM

I want to confirm the issue from the first post with adding some new insight to the nature of the prolblem.

I have a web project that creates a web site among other things.
I migrated my project from IS2008 to IS2009 a few weeks back. Everything regarding the IIS installation worked fine in IS2008. After the migration the virtual directory wasn't created during install anymore. After falling completely flat to the problem i started to build the project from scratch now in IS2009 (no migration that is).

After about 2 days of trying to get it right I still struggle and my investigation into the problem follows:

If you create a website and define the Web site name dynamically (like [WEBSITENAME]) which means it gets set from the property WEBSITENAME through an UI text edit field for example, the website will be created at installation with a name entered by the user, but no virtual directory will be created during install.

On the other hand, if you hardcode the web site name from the beginning the virtual directory gets created as it should.

Now. For all the text edit fields (on the 'Web Site'-tab for a website in Internet Informations Services) except the 'Description'-field (That is the web site name), it is possible to directly refer to a property.
But... for the 'Description'-field the reference to the property goes via the String Table for some reason. There's the difference and I guess there is the source of the problem.

Short version:
* Hardcoded web site name = All is great
* Web site name entered by the user = No virtual directory

Added to this is that an extra Application called ROOT gets created in the DefaultAppPool in IS2009. It's no big deal but a bit annoying.

We have to let the user specify the website name during install so I would really appreciate it if anyone could try for themselves and confirm or deny this. It seems I can't go round the problem right now so reverting to 2008 may be the only solution until a patch gets done.

Thanks in advance


07-18-2008, 12:29 PM
Try setting the "Keep Unused Directories" under the Releases-> Build to "Yes". This might help solve your issue.

07-18-2008, 12:57 PM
Please try building and testing your project with the attached IIS custom action DLL. Replace the file C:\Program Files\InstallShield\2009\Support\IISHelper.dll with the DLL contained in the attached zip file (make a backup copy of the existing file first). Then, rebuild and test your project that uses properties for website or virtual directory names.

Please let me know if this helps.

07-21-2008, 09:10 AM
First, thanks for the replies. Really appreciate it.

@franklint79: Tried it and it didn't make any difference.

@joshstechnij: Thanks for the file. I tried to rebuild it with the new IISHelper.dll but it didn't help. The virtual directory is still not created with the new dll.

Therefore I've created 2 test project in IS2008 which only installs a website with a virtual directory pointing to a directory in the install directory.

The first version has the Web Site Name assigned statically in the project.
The second version has th Web Site Name assigned from a property set by the user during the installation.

I then migrated both projects to IS2009 with the only modification adding the VirtualDirectoryComponent to the Component-field on the General-tab in for the web site in Internet Information Services.
(It had to be the VirtualDirectoryComponent since i couldn't create a WebSiteComponent when coming from a 2008-migrated project. If you create a new website in 2009 the WebSiteComponent gets created automatically.)

The results are:

Project created in
IS2008 with STATIC web site name: Virtual directory IS created
IS2008 with DYNAMIC web site name: Virtual directory IS created
IS2009 with STATIC web site name: Virtual directory IS created
IS2009 with DYNAMIC web site name: Virtual directory DOES NOT get created

This is all done with the new IIHelper.dll in IS2009 and the results are exactly the same as with my prevoius tries with my original project.

Attached to this messeage are the 4 different permutations so if anyone could confirm or dimiss my problem I would be very happy. :-)

When installing the version with a STATIC web site name, please specify the port number for the website. The site number is fixed to 197.
When installing the version with a DYNAMIC web site name, please specify the web site name and port number for the website. The site number is fixed to 197.

Thanks in advance

Jens Agren

07-22-2008, 12:02 PM

I have attached an updated IISHelper.dll custom action that should resolve the behavior you are seeing when using a property for a website display name. Please try this per the previous instructions and let me know if this resolves the issue you are seeing.

07-23-2008, 05:27 PM
I too am experiencing this problem after upgrading our IS12 project to IS2009 and we are also using a property for our virtual directory name. I tried your updated dll and it seems to have fixed the issue. My question is will this be included in the next service pack or hotfix and if so how soon?

07-24-2008, 04:01 AM
Now we're talking! Works like a charm. The Virtual Directory gets created with the new IISHelper.dll.

Thanks a lot, also for the fast replies. :-)

Best regards,
Jens Agren

07-24-2008, 11:15 AM
This DLL is actually available in a hotfix KB (http://kb.acresso.com/selfservice/documentLink.do?externalID=Q200163) on our support site.

10-21-2009, 05:25 PM

It's been a while since I started this thread and I hadn't realized that a solution had been provided.

I'd like to try the new dll, but when I followed the link posted by joshstechnij sends me to a page indicating "Access is denied".

Do you know the new link for that?

-Juan Carlos

10-21-2009, 06:36 PM

It's been a while since I started this thread and I hadn't realized that a solution had been provided.

I'd like to try the new dll, but when I followed the link posted by joshstechnij sends me to a page indicating "Access is denied".

Do you know the new link for that?

-Juan Carlos

I'm sorry Juan I can't help you. Our company gave up on Installshield half a year ago. Good luck in future projects...

10-22-2009, 10:10 AM
Thanks Masarin,

I'll use the dll posted here instead of following the link.

Just out of curiosity, what are you using now? wix?

-Juan Carlos

10-22-2009, 11:14 AM
I'm not sure what happened with that KB article, but it is available again:

Can you try that link and let me know if you are able to access it?


10-22-2009, 11:27 AM
Thanks a lot Debbie.

I could get the file following the link you sent.

-Juan Carlos

11-16-2009, 06:03 PM

For what it's worth, I too ran into this problem with IS 2009, and beat my head against a wall in search of solution, which was never forthcoming--could never figure out why the virtual dirs were not being created.

After upgrading to IS 2010, the virtual directories are created.