DSCResources/VH_xMPC/VH_xMPC.schema.psm1

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
77
78
79
80
81
82
83
84
85
86
87
88
89
# PowerShell DSC Configuration Script for installing Media Player Classic-Home Cinema (MPC-HC) versions 1.7.9, 1.7.8, and 1.7.7 on Windows'
# Vasken Houdoverdov
#
# See the Example\ directory for sample usage.

 Configuration VH_xMPC
  {
      param
      (
          [ValidateSet("1.7.9","1.7.8","1.7.7")] 
          [string]$VersionNumber = "1.7.9",
          [ValidateSet("x64","x86")] 
          [string]$Architecture = "x64",
          [string]$LocalPath = "$env:SystemDrive\Windows\DtlDownloads\MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
      )

       Import-DscResource -ModuleName PSDesiredStateConfiguration
       Import-DscResource -ModuleName @{ModuleName="xPSDesiredStateConfiguration";ModuleVersion="3.5.0.0"}

    if($VersionNumber -eq "1.7.9")
    {
        if($Architecture -eq "x64")
        {
        $URI = "https://binaries.mpc-hc.org/MPC%20HomeCinema%20-%20x64/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber (64-bit)"
        }
        else
        {
        $URI = "https://binaries.mpc-hc.org/MPC%20HomeCinema%20-%20Win32/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber"
        }

    }
    if($VersionNumber -eq "1.7.8")
    {
        if($Architecture -eq "x64")
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20x64/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber (64-bit)"
        }
        else
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20Win32/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber"
        }
    }
    if($VersionNumber -eq "1.7.8")
    {
        if($Architecture -eq "x64")
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20x64/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber (64-bit)"
        }
        else
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20Win32/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber"
        }
    }
        if($VersionNumber -eq "1.7.7")
    {
        if($Architecture -eq "x64")
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20x64/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber (64-bit)"
        }
        else
        {
        $URI = "https://stable.mpc-hc.org/MPC%20HomeCinema%20-%20Win32/MPC-HC_v"+$VersionNumber+"_"+$Architecture+"/MPC-HC."+$VersionNumber+"."+$Architecture+".exe"
        $Name = "MPC-HC $VersionNumber"
        }
    }

      xRemoteFile Downloader
      {
          Uri = $URI      
          DestinationPath = $LocalPath
      }
    
      Package Installer
      {
          Ensure = "Present"
          Path = $LocalPath
          Name = $Name
          ProductId = ''
          Arguments = "/Silent"
          DependsOn = "[xRemoteFile]Downloader"
      }
}