When working with IIS 7.5 on Windows Server 2008 R2, many developers find the "Deploy" section mysteriously absent from IIS Manager, despite having installed the Management Service (WMSvc). This prevents crucial Web Deploy functionality like package import/export and automated deployment workflows.
For full Web Deploy functionality in IIS Manager, you need three critical components installed from the Web Platform Installer:
1. Web Deployment Tool (current version) 2. IIS: Management Service 3. IIS: Management Scripts and Tools
First, confirm what's actually installed by running this PowerShell command:
Get-WindowsFeature -Name Web-* | Where-Object {$_.Installed -eq $true}
You should see output including these critical components:
Web-Mgmt-Service Management Service Web-Scripting-Tools IIS Management Scripts and Tools Web-Deploy Web Deployment Tool
Most often, the issue stems from not having the Web Deployment Tool installed. Install it using this command:
msiexec /i WebDeploy_amd64_en-US.msi /quiet
Or via Web Platform Installer with:
WebPICMD /Install /Products:WDeploy /AcceptEula
Once installed, you can deploy packages using MSDeploy from command line:
msdeploy.exe -verb:sync
-source:package="C:\Package.zip"
-dest:auto,computername=Server01
-setParamFile="C:\Package.SetParameters.xml"
After installation, ensure Management Service is running:
- Open IIS Manager
- Select the server node
- Double-click "Management Service"
- Check "Enable remote connections"
- Start the service
Here's a sample SetParameters.xml for deployment parameterization:
<parameters>
<setParameter name="IIS Web Application Name"
value="Default Web Site/MyApp" />
<setParameter name="ApplicationPool-ApplicationPool"
value=".NET v4.5" />
<setParameter name="ConnectionString-Web.config"
value="Server=DB01;Database=ProdDB;..." />
</parameters>
- Check Event Viewer for Web Deployment errors
- Verify the Web Deployment Agent Service is running
- Ensure firewall allows traffic on port 8172
- Confirm you have administrator privileges
When attempting to automate ASP.NET web deployments using MSBuild packages and WebDeploy (MSDeploy), many administrators find the expected Deploy section missing from IIS Manager. This occurs even after installing the Management Service (WMSvc) on Windows Server 2008 R2 with IIS 7.5.
The deployment functionality requires three key components that aren't installed by default:
# PowerShell check for installed WebDeploy components
Get-WindowsFeature Web-Deploy, Web-Deploy-UI, Web-Mgmt-Service | Select Name,InstallState
You'll typically need to install:
- Web Deployment Tool (WebDeploy 3.5+ recommended)
- Web Deployment Tool UI (for IIS Manager integration)
- Management Service with "Enable remote connections" configured
For automated server provisioning:
# Install required features
Install-WindowsFeature Web-Mgmt-Service, Web-Deploy, Web-Deploy-UI
# Configure WMSvc for remote deployment
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WebManagement\Server" -Name "EnableRemoteManagement" -Value 1
Start-Service WMSvc
Set-Service WMSvc -StartupType Automatic
After installation, restart IIS Manager. You should now see:
- New Deploy section in the right-hand Actions pane
- "Import Application" and "Export Application" options
- Additional context menu items for applications/sites
For automated deployments using the generated package and SetParameters.xml:
msdeploy.exe -verb:sync
-source:package="C:\Package\MyApp.zip"
-dest:auto,computerName="https://server:8172/msdeploy.axd",userName="DOMAIN\DeployUser",password="p@ssw0rd",authtype="NTLM"
-setParamFile:"C:\Package\MyApp.SetParameters.xml"
-allowUntrusted
If Deploy actions still don't appear:
- Verify WebDeploy UI is installed (separate from core WebDeploy)
- Check IIS Manager version matches server version
- Ensure user has sufficient permissions (typically Server Administrator)
- Restart both IIS Manager and the WMSvc service
For complex deployments using SetParameters.xml:
<?xml version="1.0" encoding="utf-8"?>
<parameters>
<setParameter name="IIS Web Application Name" value="Default Web Site/MyApp_Prod"/>
<setParameter name="ApplicationPool-ApplicationPool" value="ASP.NET v4.5"/>
<setParameter name="ConnectionString-Web.config Connection String"
value="Server=PROD-DB;Database=AppDB;User ID=appuser;Password=secure123;"/>
</parameters>
Remember to encrypt sensitive parameters using:
aspnet_regiis -pef "connectionStrings" "C:\Path\To\Web.config"