DSC Package Resource
Applies To: Windows PowerShell 4.0, Windows PowerShell 5.x
The Package resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to install or uninstall packages, such as Windows Installer and setup.exe packages, on a target node.
Note
This documentation of this DSC resource covers the version that's included with PowerShell prior to version 7.2. The PSDscResources module contains new and updated DSC Resources that are officially supported by Microsoft. The PSDscResources module is available from the PowerShell Gallery.
For more information and updated documentation, see the PSDscResources reference documentation.
Syntax
Package [string] #ResourceName
{
Name = [string]
Path = [string]
ProductId = [string]
[ Arguments = [string] ]
[ Credential = [PSCredential] ]
[ LogPath = [string] ]
[ ReturnCode = [UInt32[]] ]
[ DependsOn = [string[]] ]
[ Ensure = [string] { Absent | Present } ]
[ PsDscRunAsCredential = [PSCredential] ]
}
Properties
Property | Description |
---|---|
Name | Indicates the name of the package for which you want to ensure a specific state. |
Path | Indicates the path where the package resides. |
ProductId | Indicates the product ID that uniquely identifies the package. |
Arguments | Lists a string of arguments that will be passed to the package exactly as provided. |
Credential | Provides access to the package on a remote source. This property is not used to install the package. The package is always installed on the local system. |
LogPath | Indicates the full path where you want the provider to save a log file to install or uninstall the package. |
ReturnCode | Indicates the expected return code. If the actual return code does not match the expected value provided here, the configuration will return an error. |
Common properties
Property | Description |
---|---|
DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName" . |
Ensure | Indicates if the package is installed. Set this property to Absent to ensure the package is not installed (or uninstall the package if it is installed). Set it to Present to ensure the package is installed. The default value is Present. |
PsDscRunAsCredential | Sets the credential for running the entire resource as. |
Note
The PsDscRunAsCredential common property was added in WMF 5.0 to allow running any DSC resource in the context of other credentials. For more information, see Use Credentials with DSC Resources.
Example
This example runs the .msi installer that is located at the specified path and has the specified product ID.
Configuration PackageTest
{
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Package PackageExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Path = "$Env:SystemDrive\TestFolder\TestProject.msi"
Name = "TestPackage"
ProductId = "ACDDCDAF-80C6-41E6-A1B9-8ABD8A05027E"
}
}