Back to Top

App Command Tool

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.AppCommandToolTask
Category Windows

AppCmd command-line Tool.


Description

AppCmd.exe is the single command line tool for managing IIS 7 and above. It exposes all key server management functionality through a set of intuitive management objects that can be manipulated from the command line or from scripts.

AppCmd enables you to easily control the server without using a graphical administration tool and to quickly automate server management tasks without writing code.

Some of the things you can do with AppCmd:

Create and configure sites, apps, application pools, and virtual directories
Start and stop sites, and recycle application pools
List running worker processes, and examine currently executing requests
Search, manipulate, export, and import IIS and ASP.NET configuration

AppCmd also allows server administrators to build advanced management tasks simply by combining multiple simpler AppCmd.exe commands, or reusing the output of the tool inside another program

If failOnError is false, and the task fails, the outputResult parameter will be set to 'false'.

AppComd Windows Command Help:
APPCMD (command) (object-type)
Supported object types:

SITE Administration of virtual sites
APP Administration of applications
VDIR Administration of virtual directories
APPPOOL Administration of application pools
CONFIG Administration of general configuration sections
WP Administration of worker processes
REQUEST Administration of HTTP requests
MODULE Administration of server modules
BACKUP Administration of server configuration backups
TRACE Working with failed request trace logs
BINDING Object for working with SSL bindings

(To list commands supported by each object use /?, e.g. 'appcmd.exe site /?')

General parameters:

/? Display context-sensitive help message.
/text<:value> Generate output in text format (default).
/xml Generate output in XML format.
/in or - Read and operate on XML input from standard input.
/config<:*> Show configuration for displayed objects.
/metadata Show configuration metadata when displaying configuration.
/commit Set config path where configuration changes are saved.
/apphostconfig Specify an alternate applicationHost.config file to edit.
/debug Show debugging information for command execution.

Use "!" to escape parameters that have same names as the general parameters,
like "/!debug:value" to set a config property named "debug".

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
basePath java.lang.String %SystemRoot%\\System32\\inetsrv false Command base path for AppCmd command-line tool.
command java.lang.String   false Command value for AppCmd command-line tool.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
identifier java.lang.String   false Identifier value for AppCmd command-line tool.
objectType java.lang.String   false value for AppCmd command-line tool.
outputParameter java.lang.String ${controlOutput} false The name of the output parameter, which can pass the return value from the task. The task output will be the output of the command. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${controlOutput}.
outputResult java.lang.String ${outputResult} false The name of the output parameter, which holds the text string output from the task. The outputResult will be true if the control command succeeds. The outputResult will be false otherwise. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (later tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${outputResult}.
parameters java.lang.String   false Parameters value for AppCmd command-line tool.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Control a Windows Service

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.ServiceControlTask
Category Windows

Control a Windows Service.


Description

Use this task to stop, start or otherwise control a windows service.

If failOnError is false, and the task fails, the outputResult parameter will be set to 'false'.

Mode:

query Show status
queryEx Show extended info - pid, flags
EnumDepend Show Dependencies
qc Show config - dependencies, full path etc
start START a service.
stop STOP a service.
startElevated START a service (elevated permissions).
stopElevated STOP a service (elevated permissions).
pause PAUSE a service.
unpause CONTINUE a service.
delete Delete a service (from the registry)
config Configure a service

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
mode java.util.List start false The control operation to perform. Start and stop elevated perform the operation with elevated rights.
modeParams java.lang.String param1=value1 param2=value2 true Params used by the command before service name separated by spaces. e.g. start=boot error=disabled
outputParameter java.lang.String ${controlOutput} false The name of the output parameter, which can pass the return value from the task. The task output will be the output of the command. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${controlOutput}.
outputResult java.lang.String ${outputResult} false The name of the output parameter, which holds the text string output from the task. The outputResult will be true if the control command succeeds. The outputResult will be false otherwise. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (later tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${outputResult}.
serviceName java.lang.String   false The name of the Windows Service.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

DISM Command Tool

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.DISMCommandToolTask
Category Windows

Deployment Image Servicing And Management (DISM) command-line Tool.


Description

DISM enumerates, installs, uninstalls, configures, and updates features and packages in Windows images.
The commands that are available depend on the image being serviced and whether the image is offline or running.

If failOnError is false, and the task fails, the outputResult parameter will be set to 'false'.

DISM Windows Command Help:
DISM.exe [dism_options] {Imaging_command} []
DISM.exe {/Image: | /Online} [dism_options]{servicing_command} []

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
DISMArguments java.lang.String   false Arguments value for DISM command-line tool.
DISMCommand java.lang.String   false Command value for DISM command-line tool.
DISMOptions java.lang.String   false Options value for DISM command-line tool.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
outputParameter java.lang.String ${controlOutput} false The name of the output parameter, which can pass the return value from the task. The task output will be the output of the command. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${controlOutput}.
outputResult java.lang.String ${outputResult} false The name of the output parameter, which holds the text string output from the task. The outputResult will be true if the control command succeeds. The outputResult will be false otherwise. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (later tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${outputResult}.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
userStartCommand java.lang.Boolean false true Use START windows command.


Back to Top

Msi Package Installer

Class Name com.midvision.rapiddeploy.orchestration.tasks.binary.installers.MsiInstallerTask
Category Windows

Msi Installer Task

Description

This task install (or uninstall) MSI packages on windows platforms.

Usage

Will find any msi packages in the deployment archive (with an msi file extension) and install them.
Please see vendor specific documentation for parameters that may be passed to the installer.

Task Entries

This task is able to set Environment Variables, that are set in the Cmd shell running the Msi executable, which you can specify as a task entries with type "VARIABLE"

This task is able to handle Properties (Name/Value pairs) to pass to the Msi command as task entries with type "PROPERTY"

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
installerFileRegEx java.lang.String .*\.[Mm][Ss][Ii]$ true The regular expression to filter the files within deployment package and look up the installer one.
installPath java.lang.String   false The path to the binary installation.
mode java.lang.Boolean install true The install mode. One of [install|uninstall]. Default value: [install]
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Open Firewall For Program

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.ManageFirewallProgramTask
Category Windows

Enable a program through the firewall

Requires Windows OS on target machine.

Description

This task will enable the program to get through the Windows firewall.

Resources/Parameter

The following resources/parameters may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
enable java.lang.Boolean true false Enable program (set false to disable).
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
programName java.lang.String   false The name of the program.
programPath java.lang.String   false The path of the program.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Open Firewall Port

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.ManageFirewallPortTask
Category Windows

Open port on firewall.

Requires Windows OS on target machine.

Description

This task will enable the program to get through the Windows firewall.

Resources/Parameter

The following resources/parameters may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
addresses java.lang.String   false Comma seperated list of addresses (ip/mask e.g.:"157.60.0.1,172.16.0.0/16,LocalSubnet")
enable java.lang.Boolean true false Enable port (set false to disable).
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
port java.lang.Integer 80 false 1-65535
portName java.lang.String   true The port name.
profile java.util.List   true CURRENT | DOMAIN | STANDARD | ALL
protocol java.util.List   false TCP | UDP | ALL
scope java.util.List   true ALL | SUBNET | CUSTOM
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

PowerShell Runner

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.PowerShellTask
Category Windows

Task to run a Windows PowerShell command.


Run a powershell script

The command resource in the poweshell task can run a command directly or point to a powershell script. In order to run a powershell script, you first poweshell orchestration task should enable script execution on the server by using the following command resource as follows:
                     			Set-ExecutionPolicy RemoteSigned
                     			
To run a powershell script as the command resource, you need to quote the script as in the following example:
                     			"'C:/path/to/script.ps1'"
                     			
or if it is in the deployment archive:
                     			"'${ARCHIVE_ROOT}/path/to/script.ps1'"
                     			

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
command java.lang.String get-help * false The command to run through PowerShell. A list of commands can be found using: 'PowerShell get-help * '. Any environment variables specified will be requoted.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Registry Key Create or Edit

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.RegEditTask
Category Windows

Query Or Edit the Windows Registry.


Description

Use this task to query or edit the windows registry.

Enter a key, name and a value.

for example:
Mode: HKEY_LOCAL_MACHINE
Key: SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion
Name: ProductName
Value:

Will return the current ProductName. If the value parameter is unset (blank), the registry will be queried, and the value of the Key/Name will be returned to the outputParameter.

If the key, name and value are set, the registry will be edited, and the key will be created or edited and the name with the value added/edited. The value of the key/name will be returned to the outputParameter.

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
key java.lang.String   false The key path.E.g. SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion If the path does not exist, it is created.
mode java.util.List HKEY_LOCAL_MACHINE false The Registry to edit. Either the user or the system registry.
name java.lang.String   false The registry entry name to query or set. E.g ProductName
outputParameter java.lang.String ${registryValue} false The name of the output parameter, which can pass the return value from the task. The task output will be the value of the queried or edited registry key. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${registryValue}.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
value java.lang.String   false The value to set, or if left blank, the existing value will be retrieved to the outputParameter.


Back to Top

Registry Key Delete

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.RegDeleteTask
Category Windows

Delete a Key or Key Entry in Windows Registry.


Description

Use this task to delete Key or Key Entry in the windows registry.

Enter a key and optionally name

For example:
Mode: HKEY_LOCAL_MACHINE
Key: SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion
Name: ProductName

Will delete the current ProductName.

Mode: HKEY_LOCAL_MACHINE
Key: SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion

Will delete the key and any sub-keys and entries.

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
key java.lang.String   false The key path.E.g. SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion
mode java.util.List HKEY_LOCAL_MACHINE false The Registry to edit. Either the user or the system registry.
name java.lang.String   false The registry entry name to Delete. E.g ProductName. If unset, the key is deleted.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Registry Key Query

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.RegKeyReadTask
Category Windows

Query Registry Key.


Description

Use this task to query a windows registry key. All Name/Values for the key are returned to the outputParameter as a JSON string.

Enter a key

for example:
Mode: HKEY_LOCAL_MACHINE
Key: SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion

Will return name/value pairs under this key, as a JSON string, to the outputParameter.

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
key java.lang.String   false The key path.E.g. SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion.
mode java.util.List HKEY_LOCAL_MACHINE false The Registry to edit. Either the user or the system registry.
outputParameter java.lang.String ${registryKeyEntries} false The name of the output parameter, which can pass the return value from the task. The task output will be the a JSON string of the queried registry key name/value(s). Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${registryKeyEntries}.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Set Environment Variables

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.SetEnvironmentVariablesTask
Category Windows

Set Environment Variables Task

Description

This task will permanently set environment variables on the target windows server.
This task is skipped on a Unix/Linux/Mac platform.

Usage

Use this task to permanently set variables on the target server. Runs in two modes, determined by setFromEnvironmentFile. If this variable is set to "true", variables are sourced from the specified file. If "false", variables are sourced from entries with type VARIABLE.

Key value pairs from task entries

To create or update a variable, add entry with type "VARIABLE" with the variable name, e.g.
JAVA_HOME
and set "value" to the corresponding value, e.g.
/usr/java/java_1.6.1


To concatenate a new value to an existing variable, add entry with type "VARIABLE with the variable, e.g.
PATH
set the "value" for this entry to
$PATH:NEW_VAL_1:NEW_VAL_2 ... 

Name value pairs sourced from specific file

Specify the path to the file that contains environment variables Example contents of this file:
                     			JAVA_HOME=c:/java/java_1.6.1
                     			JAVA_VENDOR=Sun
                     			

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
commandArgs java.lang.String   true The command arguments to use. A list can be found with: 'SETX /?'.
envPropertyFilePath java.lang.String   true The path identifying the property file containing environment variables to set
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
setFromEnvironmentFile java.lang.Boolean true false Use the environment file identified by envPropertyFilePath. This file should contain environment variable key/value pairs to permanently set.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.


Back to Top

Shutdown Server

Class Name com.midvision.rapiddeploy.orchestration.tasks.win.ShutdownTask
Category Windows

Task to Shutdown and optionally restart Windows Server

Table of task Resources

Name Type Default Value Optional Description
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
force java.lang.Boolean false true Force shutdown
reboot java.lang.Boolean true false Restarts the system after being shutdown with the reboot command.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.