PDA

View Full Version : IIS difficulties



DerekEdson
09-21-2008, 06:50 PM
I have just upgraded from a previous version of InstallShield. In my project, I need to create either a virtual directory or an application, so I can define a custom application mapping (using a custom DLL provided with the project).

According to my understanding, IIS (particular 7) can have multiple web sites. Each site contains one or more applications, which in turn can contain virtual directories.

The interface in Express, has virtual directories under sites, and you are then required to enter an application name, which seems inconsistent. It does create the virtual directory under the application, but does not allow you to create an application without a virtual directory.

Nor can you simply add a virtual directory any more. If you do not include an application name, a warning is generated, and the site is not created.

I have elected to install a fictitious virtual directory under my application, but would much prefer to enable the appropriate setting, or perhaps if the virtual directory and application names are the same, only create an application.

Also, although I can add the desired mapping, it does not work reliably under Vista requiring manual re-entry, and I must manually script the "ISAPI and CGI Restrictions". Surely if I add my own mapping, I would want to enable it to run?

I have been doing initial testing under Vista 64-bit SP1 and XP. This worked, excluding the ISAPI restrictions, when the project was built using an older version of InstallShield.

DerekEdson
09-21-2008, 11:14 PM
Further investigation (experimentation) has found that on IIS 7 (or maybe just Vista), the new handler mapping is added to the end of the list.

A default handler was already at the end of the list, which maps files with path "*" and verb "*" to the "StaticFile" handler. Therefore any new handler after this will never be used.

When using the IIS Manager, the new handler is written to the top (first) of the list of handlers and therefore works.

The current implementation (InstallShield 2009 Express) will simply not work with IIS 7.

DerekEdson
09-22-2008, 12:32 AM
With IIS 6 or earlier, you specify the file extension (e.g. ".cer") for which you want your handler to respond to. This corresponds to what is specified in the help system.

With IIS 7, you specify a file mask. This could be "*.cer"

Specifying the file mask on IIS 6, then the handler fails to activate. Similarly using just the file extension in IIS 7 also causes issues.

I have resorted to adding both, so it can be used on either version if IIS. The incorrect entry does not appear to cause any issues.

NHM2007
11-23-2008, 12:37 AM
Hey Derek,

I'm coming across similar problems... I need to create an application and virdir (that have the same name) under IIS 7 (a user chosen dir) and then under that initiall app/virdir, create a tree of more vir dirs.

When I install on IIS 7 (I use vbscript to enumerate Web sites and then set the physical path of the virdirs to the corresponding path etc.; that's just how my product needs it):

- The application is created under the user chosen Web site
- "Folders" are created under that application (when you right click in IIS manager it says "Manage Folders" for example.)
- Then, virdirs are also created, seperately from and in addition to the "folders." I.e., Under the application (and folder; same name) there is a second level of node that has the same name (as application and physical folder) that is the actual vir dir!

** What I need and expect is to have the same node for a) app b) phys folder and c) vir dir under the Web site. Then to have the tree of sub-virdirs to appear under that...

Any thoughts?

It's related to the same issue as you've described; have you found an answer?

Thanks!
NHM