Preface
This document describes the functionality provided by the Windows plugin.
Refer to Deployit Reference Manual for background information on Deployit and deployment concepts.
Overview
The Windows plugin is a Deployit plugin that adds the capability to perform common Windows configuration and deployment tasks.
Features
- Installs and uninstalls MSI files.
- Creates and destroys Windows services
- Starts and stops Windows services as necessary.
- Creates and destroys Windows shares.
Requirements
Deployit requirements:
- Deployit version 3.8.4 or higher.
Infrastructural requirements:
- Administrative access to the target Windows machine.
Usage in deployment packages
The plugin works with the standard deployment package DAR format. Please see the Packaging Manual for more details about the DAR format and the ways to compose one. The following is a sample MANIFEST.MF file that includes a few of the deployables provided by the Windows plugin:
Manifest-Version: 1.0
Deployit-Package-Format-Version: 1.3
CI-Application: Windows
CI-Version: 1.0
Name: httpd-2.2.22-win32-x86-no_ssl.msi
CI-Type: windows.Msi
Name: TimeService
CI-Type: windows.ServiceSpec
CI-binaryPathName: C:\Program Files\Common Services\timeservice.exe
CI-dependsOn-EntryValue-1: tcpip
Name: Public
CI-Type: windows.ShareSpec
CI-targetPath: C:\Users\deployit\Public
Using the deployables and deployeds
The following table describes which deployable/container combinations are possible.
Deployable vs. Container table
| Deployable | Container | Generated deployed |
|---|---|---|
| windows.Msi | overthere.Host | windows.InstalledMsi |
| windows.ServiceMsi | overthere.Host | windows.InstalledServiceMsi |
| windows.ServiceSpec | overthere.Host | windows.Service |
| windows.ShareSpec | overthere.Host | windows.Share |
The following table describes the effect a deployed has on its container
Deployed Actions Table
| Deployed | Actions performed for operations | |||
|---|---|---|---|---|
| Create | Destroy | Modify | Noop | |
| windows.Msi |
|
|
|
|
| windows.ServiceMsi |
|
|
|
|
| windows.Service |
|
|
|
|
| windows.Share |
|
|
|
|
Extending the Windows plugin
The Windows plugin has been written upon the foundations provided by the PowerShell plugin, which is a standard part of the Deployit server distribution. Please refer to the documentation of the PowerShell plugin for details on how to extend PowerShell-based plugins.
CI Reference
Configuration Item Overview
Deployables
| CI | Description |
|---|---|
| windows.Msi | MSI file |
| windows.ServiceMsi | MSI file that installs a service |
| windows.ServiceSpec | Specification of a Windows service |
| windows.ShareSpec | Specification of a Windows share |
Deployeds
| CI | Description |
|---|---|
| windows.InstalledMsi | Installed MSI |
| windows.InstalledServiceMsi | Installed MSI (including service) |
| windows.Service | Windows service |
| windows.Share | Windows share |
Other Configuration Items
| CI | Description |
|---|---|
| windows.InstalledMsi | Installed MSI |
| windows.InstalledServiceMsi | Installed MSI (including service) |
| windows.Msi | MSI file |
| windows.Service | Windows service |
| windows.ServiceMsi | MSI file that installs a service |
| windows.ServiceSpec | Specification of a Windows service |
| windows.Share | Windows share |
| windows.ShareSpec | Specification of a Windows share |
Configuration Item Details
windows.InstalledMsi
| Type Hierarchy | powershell.ExtensiblePowerShellDeployedArtifact >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact |
Installed MSI
| Parent | ||
|---|---|---|
|
|
|
container
:
CI<udm.Container>
|
|
The container on which this deployed runs.
|
| Public Properties | ||
|---|---|---|
|
|
|
additionalInstallProperties
:
STRING
|
|
Additional install properties for this MSI
|
||
|
|
|
additionalUninstallProperties
:
STRING
|
|
Additional uninstall properties for this MSI
|
||
|
|
|
deployable
:
CI<udm.Deployable>
|
|
The deployable that this deployed is derived from.
|
||
|
|
|
logOptions
:
STRING
|
|
Options for the /L command line option, see http://technet.microsoft.com/en-us/library/cc759262(v=ws.10).aspx
|
||
|
|
|
placeholders
:
MAP_STRING_STRING
|
|
A Map containing all the placeholders mapped to their values. Special values are
|
| Hidden Properties | ||
|---|---|---|
|
|
|
createOrder
:
INTEGER
= 60
|
|
Order in which a create step will be executed.
|
||
|
|
|
createScript
:
STRING
= windows/install-msi.ps1
|
|
Create Script
|
||
|
|
|
createVerb
:
STRING
= Install
|
|
Create Verb
|
||
|
|
|
destroyOrder
:
INTEGER
= 40
|
|
Order in which a destroy step will be executed.
|
||
|
|
|
destroyScript
:
STRING
= windows/uninstall-msi.ps1
|
|
Destroy Script
|
||
|
|
|
destroyVerb
:
STRING
= Uninstall
|
|
Destroy Verb
|
||
|
|
|
modifyOrder
:
INTEGER
= 60
|
|
Order in which a modify step will be executed.
|
||
|
|
|
modifyVerb
:
STRING
= Modify
|
|
Verb that is used to prefix a step description for the modify operation.
|
||
|
|
|
noopOrder
:
INTEGER
= 50
|
|
Order in which a noop step will be executed.
|
||
|
|
|
noopVerb
:
STRING
= Noop
|
|
Verb that is used to prefix a step description for the noop operation.
|
||
|
|
|
startOrder
:
INTEGER
= 90
|
|
Order in which a start step will be executed.
|
||
|
|
|
startVerb
:
STRING
= Start
|
|
Verb that is used to prefix a step description for the start operation.
|
||
|
|
|
stopOrder
:
INTEGER
= 10
|
|
Order in which a synchronize after modify stop will be executed.
|
||
|
|
|
stopVerb
:
STRING
= Stop
|
|
Verb that is used to prefix a step description for the stop operation.
|
||
|
|
|
exposeDeployedApplication
:
BOOLEAN
= false
|
|
If set to true, the deployed application CI is exposed to the PowerShell script.
|
||
|
|
|
modifyScript
:
STRING
|
|
PowerShell script invoked to upgrade an artifact or a resource on Windows.
|
||
|
|
|
noopScript
:
STRING
|
|
PowerShell script invoked to noop an artifact or a resource on Windows.
|
||
|
|
|
startScript
:
STRING
|
|
PowerShell script invoked to start an artifact or resource on Windows.
|
||
|
|
|
stopScript
:
STRING
|
|
PowerShell script invoked to stop an artifact or resource on Windows.
|
||
|
|
|
stopStartOnNoop
:
BOOLEAN
= false
|
|
If set to true, the stop and start scripts will be executed even if this deployable was not changed.
|
windows.InstalledServiceMsi
| Type Hierarchy | windows.InstalledMsi >> powershell.ExtensiblePowerShellDeployedArtifact >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact |
Installed MSI (including service)
| Parent | ||
|---|---|---|
|
|
|
container
:
CI<udm.Container>
|
|
The container on which this deployed runs.
|
| Public Properties | ||
|---|---|---|
|
|
|
serviceName
:
STRING
|
|
Name of the service to start after this MSI has been installed and to stop before it is uninstalled
|
||
|
|
|
additionalInstallProperties
:
STRING
|
|
Additional install properties for this MSI
|
||
|
|
|
additionalUninstallProperties
:
STRING
|
|
Additional uninstall properties for this MSI
|
||
|
|
|
deployable
:
CI<udm.Deployable>
|
|
The deployable that this deployed is derived from.
|
||
|
|
|
logOptions
:
STRING
|
|
Options for the /L command line option, see http://technet.microsoft.com/en-us/library/cc759262(v=ws.10).aspx
|
||
|
|
|
placeholders
:
MAP_STRING_STRING
|
|
A Map containing all the placeholders mapped to their values. Special values are
|
| Hidden Properties | ||
|---|---|---|
|
|
|
createOrder
:
INTEGER
= 60
|
|
Order in which a create step will be executed.
|
||
|
|
|
createScript
:
STRING
= windows/install-msi.ps1
|
|
Create Script
|
||
|
|
|
createVerb
:
STRING
= Install
|
|
Create Verb
|
||
|
|
|
destroyOrder
:
INTEGER
= 40
|
|
Order in which a destroy step will be executed.
|
||
|
|
|
destroyScript
:
STRING
= windows/uninstall-msi.ps1
|
|
Destroy Script
|
||
|
|
|
destroyVerb
:
STRING
= Uninstall
|
|
Destroy Verb
|
||
|
|
|
modifyOrder
:
INTEGER
= 60
|
|
Order in which a modify step will be executed.
|
||
|
|
|
modifyVerb
:
STRING
= Modify
|
|
Verb that is used to prefix a step description for the modify operation.
|
||
|
|
|
noopOrder
:
INTEGER
= 50
|
|
Order in which a noop step will be executed.
|
||
|
|
|
noopVerb
:
STRING
= Noop
|
|
Verb that is used to prefix a step description for the noop operation.
|
||
|
|
|
startOrder
:
INTEGER
= 90
|
|
Order in which a start step will be executed.
|
||
|
|
|
startVerb
:
STRING
= Start
|
|
Verb that is used to prefix a step description for the start operation.
|
||
|
|
|
stopOrder
:
INTEGER
= 10
|
|
Order in which a synchronize after modify stop will be executed.
|
||
|
|
|
stopVerb
:
STRING
= Stop
|
|
Verb that is used to prefix a step description for the stop operation.
|
||
|
|
|
exposeDeployedApplication
:
BOOLEAN
= false
|
|
If set to true, the deployed application CI is exposed to the PowerShell script.
|
||
|
|
|
modifyScript
:
STRING
|
|
PowerShell script invoked to upgrade an artifact or a resource on Windows.
|
||
|
|
|
noopScript
:
STRING
|
|
PowerShell script invoked to noop an artifact or a resource on Windows.
|
||
|
|
|
startScript
:
STRING
|
|
PowerShell script invoked to start an artifact or resource on Windows.
|
||
|
|
|
stopScript
:
STRING
|
|
PowerShell script invoked to stop an artifact or resource on Windows.
|
||
|
|
|
stopStartOnNoop
:
BOOLEAN
= false
|
|
If set to true, the stop and start scripts will be executed even if this deployable was not changed.
|
windows.Msi
| Type Hierarchy | powershell.BasePowerShellDeployableFileArtifact >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact |
MSI file
| Public Properties | ||
|---|---|---|
|
|
|
additionalInstallProperties
:
STRING
|
|
Additional install properties for this MSI (string)
|
||
|
|
|
additionalUninstallProperties
:
STRING
|
|
Additional uninstall properties for this MSI (string)
|
||
|
|
|
excludeFileNamesRegex
:
STRING
|
|
Regular expression that matches file names that must be excluded from scanning
|
||
|
|
|
logOptions
:
STRING
|
|
Options for the /L command line option, see http://technet.microsoft.com/en-us/library/cc759262(v=ws.10).aspx (string)
|
||
|
|
|
placeholders
:
SET_OF_STRING
|
|
Placeholders detected in this artifact
|
||
|
|
|
scanPlaceholders
:
BOOLEAN
= true
|
|
Whether to scan this artifact for placeholders when it is imported
|
||
|
|
|
tags
:
SET_OF_STRING
|
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
| Hidden Properties | ||
|---|---|---|
|
|
|
textFileNamesRegex
:
STRING
= .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
|
|
Regular expression that matches file names of text files
|
windows.Service
| Type Hierarchy | powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Deployed, udm.ConfigurationItem |
Windows service
| Parent | ||
|---|---|---|
|
|
|
container
:
CI<udm.Container>
|
|
The container on which this deployed runs.
|
| Public Properties | ||
|---|---|---|
|
|
|
binaryPathName
:
STRING
|
|
Path of the service binary
|
||
|
|
|
dependsOn
:
LIST_OF_STRING
|
|
Services this service depends on
|
||
|
|
|
deployable
:
CI<udm.Deployable>
|
|
The deployable that this deployed is derived from.
|
||
|
|
|
password
:
STRING
|
|
Password of the account this service should log on as
|
||
|
|
|
serviceDescription
:
STRING
|
|
Description of this service
|
||
|
|
|
serviceDisplayName
:
STRING
|
|
Display name of this service
|
||
|
|
|
serviceName
:
STRING
|
|
Name of the service. Defaults to the name of the deployed if not specified
|
||
|
|
|
startupType
:
STRING
= Automatic
|
|
Startup type is this service. Defaults to automatic
|
||
|
|
|
stopStartOnNoop
:
BOOLEAN
= false
|
|
If set to true, this service is stopped and started when another component in the same package is deployed
|
||
|
|
|
username
:
STRING
|
|
Username of the account this service should log on as
|
| Hidden Properties | ||
|---|---|---|
|
|
|
createOrder
:
INTEGER
= 60
|
|
Order in which a create step will be executed.
|
||
|
|
|
createScript
:
STRING
= windows/install-service.ps1
|
|
Create Script
|
||
|
|
|
createVerb
:
STRING
= Install
|
|
Create Verb
|
||
|
|
|
destroyOrder
:
INTEGER
= 40
|
|
Order in which a destroy step will be executed.
|
||
|
|
|
destroyScript
:
STRING
= windows/uninstall-service.ps1
|
|
Destroy Script
|
||
|
|
|
destroyVerb
:
STRING
= Uninstall
|
|
Destroy Verb
|
||
|
|
|
modifyOrder
:
INTEGER
= 60
|
|
Order in which a modify step will be executed.
|
||
|
|
|
modifyVerb
:
STRING
= Modify
|
|
Verb that is used to prefix a step description for the modify operation.
|
||
|
|
|
noopOrder
:
INTEGER
= 50
|
|
Order in which a noop step will be executed.
|
||
|
|
|
noopVerb
:
STRING
= Noop
|
|
Verb that is used to prefix a step description for the noop operation.
|
||
|
|
|
startOrder
:
INTEGER
= 90
|
|
Order in which a start step will be executed.
|
||
|
|
|
startScript
:
STRING
= windows/start-service.ps1
|
|
Start Script
|
||
|
|
|
startVerb
:
STRING
= Start
|
|
Verb that is used to prefix a step description for the start operation.
|
||
|
|
|
stopOrder
:
INTEGER
= 10
|
|
Order in which a synchronize after modify stop will be executed.
|
||
|
|
|
stopScript
:
STRING
= windows/stop-service.ps1
|
|
Stop Script
|
||
|
|
|
stopVerb
:
STRING
= Stop
|
|
Verb that is used to prefix a step description for the stop operation.
|
||
|
|
|
exposeDeployedApplication
:
BOOLEAN
= false
|
|
If set to true, the deployed application CI is exposed to the PowerShell script.
|
||
|
|
|
modifyScript
:
STRING
|
|
PowerShell script invoked to upgrade an artifact or a resource on Windows.
|
||
|
|
|
noopScript
:
STRING
|
|
PowerShell script invoked to noop an artifact or a resource on Windows.
|
windows.ServiceMsi
| Type Hierarchy | windows.Msi >> powershell.BasePowerShellDeployableFileArtifact >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact |
MSI file that installs a service
| Public Properties | ||
|---|---|---|
|
|
|
additionalInstallProperties
:
STRING
|
|
Additional install properties for this MSI (string)
|
||
|
|
|
additionalUninstallProperties
:
STRING
|
|
Additional uninstall properties for this MSI (string)
|
||
|
|
|
excludeFileNamesRegex
:
STRING
|
|
Regular expression that matches file names that must be excluded from scanning
|
||
|
|
|
logOptions
:
STRING
|
|
Options for the /L command line option, see http://technet.microsoft.com/en-us/library/cc759262(v=ws.10).aspx (string)
|
||
|
|
|
placeholders
:
SET_OF_STRING
|
|
Placeholders detected in this artifact
|
||
|
|
|
scanPlaceholders
:
BOOLEAN
= true
|
|
Whether to scan this artifact for placeholders when it is imported
|
||
|
|
|
serviceName
:
STRING
|
|
Name of the service to start after this MSI has been installed and to stop before it is uninstalled (string)
|
||
|
|
|
tags
:
SET_OF_STRING
|
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
| Hidden Properties | ||
|---|---|---|
|
|
|
textFileNamesRegex
:
STRING
= .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
|
|
Regular expression that matches file names of text files
|
windows.ServiceSpec
| Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem |
Specification of a Windows service
| Public Properties | ||
|---|---|---|
|
|
|
binaryPathName
:
STRING
|
|
Path of the service binary (string)
|
||
|
|
|
dependsOn
:
LIST_OF_STRING
|
|
Services this service depends on (list_of_string)
|
||
|
|
|
password
:
STRING
|
|
Password of the account this service should log on as (string)
|
||
|
|
|
serviceDescription
:
STRING
|
|
Description of this service (string)
|
||
|
|
|
serviceDisplayName
:
STRING
|
|
Display name of this service (string)
|
||
|
|
|
serviceName
:
STRING
|
|
Name of the service. Defaults to the name of the deployed if not specified (string)
|
||
|
|
|
startupType
:
STRING
|
|
Startup type is this service. Defaults to automatic (string)
|
||
|
|
|
stopStartOnNoop
:
STRING
|
|
If set to true, this service is stopped and started when another component in the same package is deployed (boolean)
|
||
|
|
|
tags
:
SET_OF_STRING
|
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
||
|
|
|
username
:
STRING
|
|
Username of the account this service should log on as (string)
|
windows.Share
| Type Hierarchy | powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Deployed, udm.ConfigurationItem |
Windows share
| Parent | ||
|---|---|---|
|
|
|
container
:
CI<udm.Container>
|
|
The container on which this deployed runs.
|
| Public Properties | ||
|---|---|---|
|
|
|
targetPath
:
STRING
|
|
Target path of the share
|
||
|
|
|
deployable
:
CI<udm.Deployable>
|
|
The deployable that this deployed is derived from.
|
||
|
|
|
shareName
:
STRING
|
|
Name of the share. Defaults to the name of the deployed if not specified
|
| Hidden Properties | ||
|---|---|---|
|
|
|
createOrder
:
INTEGER
= 60
|
|
Order in which a create step will be executed.
|
||
|
|
|
createScript
:
STRING
= windows/create-share.ps1
|
|
Create Script
|
||
|
|
|
createVerb
:
STRING
= Create
|
|
Verb that is used to prefix a step description for the create operation.
|
||
|
|
|
destroyOrder
:
INTEGER
= 40
|
|
Order in which a destroy step will be executed.
|
||
|
|
|
destroyScript
:
STRING
= windows/delete-share.ps1
|
|
Destroy Script
|
||
|
|
|
destroyVerb
:
STRING
= Destroy
|
|
Verb that is used to prefix a step description for the destroy operation.
|
||
|
|
|
modifyOrder
:
INTEGER
= 60
|
|
Order in which a modify step will be executed.
|
||
|
|
|
modifyVerb
:
STRING
= Modify
|
|
Verb that is used to prefix a step description for the modify operation.
|
||
|
|
|
noopOrder
:
INTEGER
= 50
|
|
Order in which a noop step will be executed.
|
||
|
|
|
noopVerb
:
STRING
= Noop
|
|
Verb that is used to prefix a step description for the noop operation.
|
||
|
|
|
startOrder
:
INTEGER
= 90
|
|
Order in which a start step will be executed.
|
||
|
|
|
startVerb
:
STRING
= Start
|
|
Verb that is used to prefix a step description for the start operation.
|
||
|
|
|
stopOrder
:
INTEGER
= 10
|
|
Order in which a synchronize after modify stop will be executed.
|
||
|
|
|
stopVerb
:
STRING
= Stop
|
|
Verb that is used to prefix a step description for the stop operation.
|
||
|
|
|
exposeDeployedApplication
:
BOOLEAN
= false
|
|
If set to true, the deployed application CI is exposed to the PowerShell script.
|
||
|
|
|
modifyScript
:
STRING
|
|
PowerShell script invoked to upgrade an artifact or a resource on Windows.
|
||
|
|
|
noopScript
:
STRING
|
|
PowerShell script invoked to noop an artifact or a resource on Windows.
|
||
|
|
|
startScript
:
STRING
|
|
PowerShell script invoked to start an artifact or resource on Windows.
|
||
|
|
|
stopScript
:
STRING
|
|
PowerShell script invoked to stop an artifact or resource on Windows.
|
||
|
|
|
stopStartOnNoop
:
BOOLEAN
= false
|
|
If set to true, the stop and start scripts will be executed even if this deployable was not changed.
|
windows.ShareSpec
| Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem |
|---|---|
| Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem |
Specification of a Windows share
| Public Properties | ||
|---|---|---|
|
|
|
shareName
:
STRING
|
|
Name of the share. Defaults to the name of the deployed if not specified (string)
|
||
|
|
|
tags
:
SET_OF_STRING
|
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
||
|
|
|
targetPath
:
STRING
|
|
Target path of the share (string)
|
