DSCResources/MSFT_xVisualStudio/MSFT_xVisualStudio.schema.psm1

Configuration MSFT_xVisualStudio
{
    param
    (        
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [String] $SetupPath,

        [string] $Ensure = "Present",

        [Parameter(Mandatory)]
        [PSCredential] $Credential,

        [String] $ProductName,

        [Parameter(Mandatory)]
        [String] $ProductRegistryKey,
        
        [String] $Arguments = "/quiet /noweb",

        [int[]] $ReturnCodes
    )

    Import-DscResource -Module xPSDesiredStateConfiguration -Name MSFT_xPackageResource

    xPackage InstallVisualStudio
    {
        Ensure = $Ensure
        Name = $ProductName
        Path = $SetupPath                  
        ProductId = ""
        RunAsCredential = $Credential
        Arguments = $Arguments
        ReturnCode = $ReturnCodes
        InstalledCheckRegKey = ("SOFTWARE\Microsoft\DevDiv\vs\Servicing\{0}\" -f $ProductRegistryKey)
        InstalledCheckRegValueName = "Install"
        InstalledCheckRegValueData = "1"
    }
}