add WDK validation

This commit is contained in:
Mikhail Timofeev
2020-02-18 20:32:24 +03:00
parent 4a80096e71
commit 3aeecf18ab
2 changed files with 51 additions and 6 deletions

View File

@@ -3,10 +3,6 @@
## Desc: Install the Windows Driver Kit ## Desc: Install the Windows Driver Kit
################################################################################ ################################################################################
# Version: 10.0.18362.0
# Update Validate-WDK.ps1 if the version changes!
# There doesn't seem to be any way to check the version programmatically
# Requires Windows SDK with the same version number as the WDK # Requires Windows SDK with the same version number as the WDK
$winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338" $winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338"
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767" $wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767"
@@ -31,11 +27,20 @@ if ($wdkExitCode -ne 0)
# Need to install the VSIX to get the build targets when running VSBuild # Need to install the VSIX to get the build targets when running VSBuild
# Write-Host "Installing WDK.vsix" # Write-Host "Installing WDK.vsix"
try
{
$process = Start-Process ` $process = Start-Process `
-FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" ` -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" `
-ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"') ` -ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"') `
-Wait ` -Wait `
-PassThru -PassThru
}
catch
{
Write-Host "There is an error during WDK.vsix installation"
$_
}
$exitCode = $process.ExitCode $exitCode = $process.ExitCode

View File

@@ -3,11 +3,51 @@
## Desc: Validate the installation of the Windows Driver Kit ## Desc: Validate the installation of the Windows Driver Kit
################################################################################ ################################################################################
function Get-WDKExtensionPackage {
$vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances"
$instanceFolders = Get-ChildItem -Path $vsProgramData.FullName
if($instanceFolders -is [array])
{
Write-Host "More than one instance installed"
exit 1
}
$stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json')
$state = $stateContent | ConvertFrom-Json
$WDKPackageVersion = ($state.packages | where { $_.id -eq "Microsoft.Windows.DriverKit" }).version
if (!$WDKPackageVersion)
{
Write-Host "WDK package for Visual studio was not found"
exit 1
}
return $WDKPackageVersion
}
function Get-WDKVersion
{
$WDKVersion = (Get-WmiObject Win32_Product -Filter "Name = 'Windows Driver Kit'").version
if (!$WDK)
{
Write-Host "WDK was not found"
exit 1
}
return $WDKVersion
}
$WDKVersion = Get-WDKVersion
$WDKPackageVersion = Get-WDKExtensionPackage
# Adding description of the software to Markdown # Adding description of the software to Markdown
$SoftwareName = "Windows Driver Kit" $SoftwareName = "Windows Driver Kit"
$Description = @" $Description = @"
_Version:_ 10.0.18362.0<br/> _WDK Version:_ $WDKVersion<br/>
_WDK Visual Studio Extension Version:_ $WDKPackageVersion<br/>
"@ "@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description