Here is just a scenario where I use virtual directory in IIS as opposed to virtual application.
If you have a big Visual studio solution which has several core projects under it and this solution applies on almost all the clients' web sites. And on occasion, you want to include a customisation project in the solution for a particular client. During testing, you need to run this customisation as part of the main product on your localhost for this client. And since the customisation is not the part of the main product, the folder is in another location. You can however put the customisation in your main product root folder, but if you want your customisation located elsewhere, here are the steps you can do to run your customisation on your local:
- Firstly, you will need to copy the dlls of the customisation project and put them in the bin folder of the core product.
- Secondly, you will need to create a virtual application under the core project's IIS application. And right click the application, go to property, and then click the remove button. For example, say your core product can be accessed through http://mycompany.com.au/ then the customisation will be accessed through http://mycompany.com.au/customisation/