forked from dsccommunity/xPSDesiredStateConfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xPackage_InstallMsiUsingProductIdConfig.ps1
76 lines (64 loc) · 2.1 KB
/
xPackage_InstallMsiUsingProductIdConfig.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<#PSScriptInfo
.VERSION 1.0.1
.GUID fd8e2fd1-7539-4d6c-a203-e88a99e7195d
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT
.TAGS DSCConfiguration
.LICENSEURI https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/LICENSE
.PROJECTURI https://github.com/PowerShell/xPSDesiredStateConfiguration
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>
#Requires -module 'xPSDesiredStateConfiguration'
<#
.SYNOPSIS
Configuration that installs an .msi and matches based on the product id.
.DESCRIPTION
Configuration that installs an .msi and matches based on the product id.
.PARAMETER PackageName
The name of the package to install.
.PARAMETER Path
The path to the executable to install.
.PARAMETER ProductId
The product identification number of the package (usually a GUID).
This parameter accepts an empty System.String.
.EXAMPLE
xPackage_InstallMsiConfig -PackageName 'Package Name' -Path '\\software\installer.msi' -ProductId '{F06FB2D7-C22C-4987-9545-7C3B15BBBD60}'
Compiles a configuration that installs a package named 'Package Name'
located in the path '\\software\installer.msi', witht he product
identification number '{F06FB2D7-C22C-4987-9545-7C3B15BBBD60}'.
#>
Configuration xPackage_InstallMsiUsingProductIdConfig
{
param
(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$PackageName,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$Path,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$ProductId
)
Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'
Node localhost
{
xPackage 'InstallMsi'
{
Ensure = "Present"
Name = $PackageName
Path = $Path
ProductId = $ProductId
}
}
}