The Deploy Windows plugin enables Deploy to perform common Microsoft Windows configuration and deployment tasks.
For more information, see Introduction to the Deploy Windows plugin.
- Install and uninstall MSI files
- Import Windows registry files
- Create and destroy Windows services
- Create and destroy Windows shares
Use in deployment packages
This is a sample deployment package (DAR) manifest file (
deployit-manifest.xml) that includes a few of the deployables provided by the Windows plugin:
<?xml version="1.0" encoding="UTF-8"?> <udm.DeploymentPackage application="Windows" version="1.0"> <deployables> <windows.Msi name="Apache HTTPD" file="httpd-2.2.22-win32-x86-no_ssl.msi" /> <windows.RegFile name="My service registry key" file="myservice.reg" /> <windows.ServiceSpec name="My service"> <binaryPathName>C:\Program Files\Common Services\myservice.exe</binaryPathName> <dependsOn> <value>tcpip</value> </dependsOn> </windows.ServiceSpec> <windows.ShareSpec name="My share"> <targetPath>C:\Users\deployit\Public</targetPath> </windows.ShareSpec> </deployables> </udm.DeploymentPackage>
Important usage notes
- Windows registry files are imported when a package that contains them is deployed or updated. No specific logic for removal of the registry keys is included. Ensure that your registry file removes the complete key used by your application before adding the values. For more information on how to do this in a Windows registry file, See Microsoft Knowledge Base article #310516.
- Ensure that
services.mscis not open when services are being deployed. Otherwise, the deployment may hang and/or the machine might need to be rebooted for the changes to take effect.
- Ensure that
regedit.exeis not open when registry files are being imported. Otherwise, the deployment may hang and/or the machine might need to be rebooted for the changes to take effect.
Extending the Windows plugin
The Windows plugin is based on the Deploy PowerShell plugin, which is a standard part of the Deploy server distribution. For details on how to extend PowerShell-based plugins, see Introduction to the Deploy PowerShell plugin.