Web Deploy createApp Provider
Applies To: Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP
createApp
The createApp provider creates an application definition in IIS configuration.
Example
msdeploy -verb:sync -source:createApp -dest:createApp="Default Web Site/My Application"
The createApp provider creates an application in IIS configuration for the application path that you specify as an argument to the provider. If a physical folder under the parent site has the same name as the application that you specified, that folder will become the content container for the new application.
Note
The createApp provider is not intended for use directly in Web Deploy commands. It is used by the iisApp provider and in delegation rules that enable non-administrative users to manage their Web sites. For more information, see Web Deploy iisApp Provider and the Management Service Delegation feature at the server level node in IIS Manager.
Important
Unlike the iisApp provider, if the physical folder for the new application does not exist, the createApp provider does not create a physical folder underneath the folder of the parent site; it only creates a reference in configuration to such a folder. If you want a physical folder created, you will have to create it manually before or after using createApp. For this reason, you should normally use the iisApp provider instead. The iisApp provider is the more appropriate choice because it uses the createApp provider as an initial step in a series of steps that include the creation of the application in configuration, the creation of a physical folder for the application if the folder does not exist, and the copying of content files into the folder of the new application.
Permissions
For IIS 7, the createApp provider relies on the ability of the caller to have write permissions to the ApplicationHost.config file whenever you specify an application path. By default, only administrators have this permission, so impersonation of a user account that has access to write to the ApplicationHost.config file will normally be required. In remote deployment scenarios, an administrator can set up delegation rules to allow users to run the provider with elevated privileges. For IIS 6.0, this provider relies on the ability of the caller to write to the MetaBase.xml file. Because there is no impersonation service on IIS 6.0, you may have to run this provider as administrator when you specify an application path.
Custom Provider Settings
The createApp provider has 3 optional custom provider settings.
enable32BitAppOnWin64
The enable32BitAppOnWin64 provider setting checks whether the enable32BitAppOnWin64 attribute of the destination application pool matches the true or false setting that you specify. The value that you specify will be used only for comparison, and will not be set. If the attribute of the destination application pool does not match the value that you specify, the synchronization will fail. This provider setting has no default value and will have no effect if you do not specify a value for it. The enable32BitAppOnWin64 attribute does not apply to IIS 6.0 or earlier versions of IIS.
Usage: ,enable32BitAppOnWin64=<BOOL>
<BOOL> is either true or false. True if the enable32BitAppOnWin64 attribute of the destination application pool should be true; false if the destination attribute should be false.
managedPipelineMode
The managedPipelineMode provider setting checks whether the managedPipelineMode attribute of the destination application pool matches the setting that you specify (Integrated or Classic). The value that you specify will be used only for comparison, and will not be set. If the attribute of the destination application pool does not match the value that you specify, the synchronization will fail. This provider setting has no default value and will have no effect if you do not specify a value for it. The managedPipelineMode attribute does not apply to IIS 6.0 or earlier versions of IIS.
Usage: ,managedPipelineMode=[Integrated | Classic]
managedRuntimeVersion
The managedRuntimeVersion provider setting checks whether the managedRuntimeVersion attribute of the destination application pool matches the .NET framework version that you specify (for example, "v2.0"). The value that you specify will be used only for comparison, and will not be set. If the attribute of the destination application pool does not match the value that you specify, the synchronization will fail. This provider setting has no default value and will have no effect if you do not specify a value for it. The managedRuntimeVersion attribute does not apply to IIS 6.0 or earlier versions of IIS.
Usage: ,managedRuntimeVersion=v*<versionNumber>*
Example usages
1) Create an application under the default Web site called “MyCreatedApp”. A physical folder will not be created for the application and will have to be added manually if it does not exist.
msdeploy -verb:sync -source:createapp="Default Web Site/MyCreatedApp" -dest:auto
2) Revert the App1 application to a folder. The folder and its contents remain intact.
msdeploy -verb:delete -dest:createapp=Site1/App1