We have several click-once applications that we have deployed successfully from Server 2003 / IIS6, but they failed miserably under Server 2008 / IIS7, getting errors trying to download various files.
To get these projects to deploy successfully on IIS6 to we had to make sure that the IIS folder Execute Permissions were set to “Scripts Only”, otherwise it did not install properly.
However, in IIS7 that feature doesn’t exist anymore – that functionality has been moved. Navigate in IIS7 to the folder where you have deployed your Click-Once application and find the Handler Mappings item and click on that icon.
This is where you need to tell IIS7 what to do with *.manifest, *.deploy, and *.application files. Click on the Add Script Map link and you should add one entry each of these using these options:
Request path: *.manifest / *.deploy / *.application
Executable: %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
Name: ClickOnce1 / ClickOnce2 / ClickOnce3
You should end up with something like this:
In addition to the IIS7 settings, you also have to make sure you have used the option to “Use “.deploy” file extension” in your VS2010 project. Otherwise, it will deploy files as *.dll or *.exe and this tip won’t work.
Once these settings have been set, you should be able to deploy and install a Click-Once application using IIS7.
Written by Lyle Luppes.
