Search code examples
iisweb-deploymentwebdeploy

Web Deploy 4 gives 404, Web Deploy 3.6 works while not changing anything else


(If you have no time, jump to the Question. The essence is there)

I am battleing this since more than a year with no success. Please note: All prerequisites for web deploy are triple checked set... keep reading.

I would like to publish ASP.NET Core 6 Web App to Windows Server 2019 or 2022. (the issue is exactly the same for both versions)

I enable IIS features via PowerShell using the following commands:

Install-WindowsFeature Web-Server -IncludeManagementTools
Install-WindowsFeature Web-Mgmt-Service
Install-WindowsFeature Web-Scripting-Tools
Install-WindowsFeature Web-Mgmt-Tools

After this if I go to Add or Remove Programs, I see Web Deploy 4 is installed

I also check the following

  • Web Management Service is Running
  • Test-NetConnection <server ip> -Port 8172 so connection if working end to end
  • Remote management is enabled
  • No handler is needed, (so not configured), please keep reading

With this configuration VS 2022 Publish gives me http 404

If I reinstall Web Deploy 4 (in Add or Remove programs, "Repair") the issue still remains

Question

If I uninstall Web Deploy 4 and install Web Deploy 3.6 and do nothing else all works fine. I tried this at least ten times in different Windwos 2019 and Windows 2022 Servers... Any hint, how can make Web Deploy 4 work?


Solution

  • I don't think this is a surprise.

    It seems to me the Web Deploy 4 (shipped as part of Visual Studio) by default does not install any server side components onto IIS. The goal seems to limit Web Deploy 4 usage to only client side (publishing to a remote server with Web Deploy 4 installed, such as Azure App Service).

    Web Deploy 3.6 installer, however, seems to install both client/server components by default.

    According to limited information, 3.6 server components are usually enough for end users, so no need to upgrade to 4.0.