I am currently migrating my websites from a Windows Server 2003 (SourceServer) with IIS 6 to a Windows Server 2008 R2 (DestServer)with IIS 7.5.
I use the MSDeploy tool to perform the operation. After checking the dependencies (just Windows Authentication, already installed in DestServer), I create the package in the SourceServer:
msdeploy -verb:sync -source:metakey=lm/w3svc/5 -dest:package=c:\Site5.zip > WebDeployPackage.log
And I copy it in the DestServer. From the DestServer I test the deployment by using:
msdeploy -verb:sync -source:package=c:\Site5.zip -dest:metakey=lm/w3svc/5 -whatif > WebDeploySync.log
But it gives me an error related to the missing application pool. Indeed one of my goals was to tide up the websites, since in the SourceServer the person who was responsible for the deployment made quite a mess with naming conventions (both for pools and sites), assigned too many applications (even 10) in a single application pool and so on.
Therefore my goal was to run the site in a dedicated brand new application pool in the DestServer. But if MSDeploy does not find in the DestServer the application pool with the same very name of the SourceServer it does not deploy the package on the DestServer.
I also tried to use the command -enableLink: AppPoolExtension
in MSDeploy in both creation and deployment of the package to get also the Application Pool. The package then installs correctly but, I do not know why, it gives errors in the config file. For instance I cannot enable any kind of Authentication module.
Is there any way to let the MSDeploy ignore the application pool when deploying?
enableLink:AppPoolExtension
? What's there error you receive then? - Richard Szalay