I recently attempted to install Microsoft Web Deploy on Windows 7 for on my BIS-6620 fanless embedded PC. After following the official installation instructions, I was disappointed to see that the Configure Web Deploy Publishing menu was missing from the Deploy menu in IIS, indicating a failed installation:
I followed the troubleshooting guide here to no avail, The menu was always present during my other installations of Web Deploy on Windows Server, leading to a typical Web Deploy configuration dialog:
Without this menu, it seems impossible to configure Web Deploy and make use of it. So what did I do wrongly?
The answer, after half a day of trying various suggestions with much frustration, came from this article. Simply put, the Web Deployment Handler – the module which links Web Deploy with IIS and shows the configuration menu – is only available on server editions of Windows. On client SKUs such as Windows 7, only the Web Deployment Agent service, a lite version with basic features, is available. To use the service, select the Remote Agent Service option during installation:
This is the Web Deploy configuration to be used:
Site name: name of site in IIS
Account: an account with administrative privileges
The only limitation is that, with this setup, Web Deploy now runs on port 80, instead of the default port 8172, which is the case if Web Deploy is installed on Windows Server. There is also no way to change the port to avoid potential conflict with other applications.
When publishing to localhost with this setup, if you encounter error ERROR_USER_NOT_ADMIN with the message “Connected using the Web Deployment Agent Service, but could not authorize. Make sure you are an administrator”, try to run Visual Studio as an administrator and just enter the local computer name in the Server field, and the IIS site name. Click Validate Connection and Visual Studio will be able to establish connection:
Overall, despite several limitations with Web Deploy when running on non-server Windows editions, it is still a much faster and more convenient way to publish your site from Visual Studio, compared with having to upload the files via FTP.