Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate WDK VSIX Install #1219

Merged
merged 12 commits into from
Sep 24, 2024
38 changes: 0 additions & 38 deletions .github/scripts/Install-Vsix.ps1

This file was deleted.

3 changes: 0 additions & 3 deletions .github/workflows/Code-Scanning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ jobs:
with:
submodules: 'recursive'

- name: Install WDK VSIX
run: .\.github\scripts\Install-Vsix.ps1

- name: Install Nuget Packages
run: nuget restore .\packages.config -PackagesDirectory .\packages\

Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ jobs:
with:
submodules: 'recursive'

- name: Install WDK VSIX
run: .\.github\scripts\Install-Vsix.ps1

- name: Install Nuget Packages
run: nuget restore .\packages.config -PackagesDirectory .\packages\

Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ jobs:
with:
submodules: 'recursive'

- name: Install WDK VSIX
run: .\.github\scripts\Install-Vsix.ps1

- name: Install Nuget Packages
run: nuget restore .\packages.config -PackagesDirectory .\packages\

Expand Down
39 changes: 17 additions & 22 deletions Build-SampleSet.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -56,20 +56,17 @@ finally {
# Determine build environment: 'GitHub', 'NuGet', 'EWDK', or 'WDK'.
# Determine build number (used for exclusions based on build number). Five digits. Say, '22621'.
# Determine NuGet package version (if applicable).
# Determine WDK vsix version.
#
$build_environment=""
$build_number=0
middlemose marked this conversation as resolved.
Show resolved Hide resolved
$nuget_package_version=0
$vsix_version=""
#
# In Github we build using NuGet and get the version from packages and vsix version from env var set from the install vsix step.
# In Github we build using NuGet.
#
if ($env:GITHUB_REPOSITORY) {
$build_environment="GitHub"
$nuget_package_version=([regex]'(?<=x64\.)(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches((Get-Childitem .\packages\*WDK.x64* -Name)).Value
$build_number=$nuget_package_version.split('.')[2]
$vsix_version = $env:SAMPLES_VSIX_VERSION
}
#
# WDK NuGet will require presence of a folder 'packages'. The version is sourced from repo .\Env-Vars.ps1.
Expand Down Expand Up @@ -107,16 +104,12 @@ else {
exit 1
}
#
# Get the vsix version from packages if not set
if (-not $vsix_version) {
$vsix_version = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name
if ($vsix_version) {
$vsix_version = $vsix_version.split('=')[1]
}
else {
Write-Error "No version of the WDK VSIX could be found. The WDK VSIX is not installed."
exit 1
}
# Get the WDK extension version from installed packages
$wdk_extension_ver = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name
$wdk_extension_ver = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($wdk_extension_ver).Value
middlemose marked this conversation as resolved.
Show resolved Hide resolved
if (-not $wdk_extension_ver) {
Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed."
exit 1
}
#
#
Expand Down Expand Up @@ -180,20 +173,22 @@ $jresult = @{

$SolutionsTotal = $sampleSet.Count * $Configurations.Count * $Platforms.Count

Write-Output ("Build Environment: " + $build_environment)
Write-Output ("Build Number: " + $build_number)
if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) { Write-Output ("Nuget Package Version: " + $nuget_package_version) }
Write-Output ("WDK VSIX Version: " + $vsix_version)
Write-Output ("Samples: " + $sampleSet.Count)
Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")")
Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")")
Write-Output "WDK Build Environment: $build_environment"
Write-Output "WDK Build Number: $build_number"
if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) {
Write-Output "WDK Nuget Version: $nuget_package_version"
}
Write-Output "WDK Extension Version: $wdk_extension_ver"
Write-Output "Samples: $($sampleSet.Count)"
Write-Output "Configurations: $($Configurations.Count) ($Configurations)"
Write-Output "Platforms: $($Platforms.Count) ($Platforms)"
Write-Output "InfVerif_AdditionalOptions: $InfVerif_AdditionalOptions"
Write-Output "Combinations: $SolutionsTotal"
Write-Output "LogicalProcessors: $LogicalProcessors"
Write-Output "ThrottleFactor: $ThrottleFactor"
Write-Output "ThrottleLimit: $ThrottleLimit"
Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs"
Write-Output ("Disk Remaining (GB): " + (((Get-Volume ($DriveLetter = (Get-Item ".").PSDrive.Name)).SizeRemaining / 1GB)))
Write-Output "Disk Remaining (GB): $(((Get-Volume ((Get-Item ".").PSDrive.Name)).SizeRemaining) / 1GB)"
middlemose marked this conversation as resolved.
Show resolved Hide resolved
Write-Output ""
Write-Output "T: Combinations"
Write-Output "B: Built"
Expand Down
14 changes: 7 additions & 7 deletions Building-Locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ When: This step is only required to build sample usb\usbview .
Easy: If you will install Visual Studio (see later) you may at that point select to add both of following individual components:
* .NET Framework 4.7.2 targeting pack
* .NET Framework 4.8.1 SDK
* Windows Driver Kit

### Option B: Use EWDK
Easy: If you use EWDK, then all necessary prequisites are included.
Expand Down Expand Up @@ -78,12 +79,11 @@ To build the Windows Driver Samples you need a "driver build environment". In e
* The Windows Driver Kit.

### Option A: Use WDK NuGet Packages
* See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete "Step 1". You do not need to install the SDK or the WDK.
* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix).
* Open Visual Studio -> Extensions -> Manage Extensions... -> Browse.
* In the search bar type: `Windows Driver Kit`.
* Find the `Microsoft` signed extension.
* Click the Install button.
* See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete `Step 1`. You do not need to install the SDK or the WDK.

Visual Studio now includes the Windows Driver Kit as an individual component. See [Option A](./Building-Locally.md#option-a-install-vs-components) from above.
middlemose marked this conversation as resolved.
Show resolved Hide resolved

* Ensure Windows Driver Kit individual component is installed. See [Install Visual Studio 2022](https://learn.microsoft.com/en-us/windows-hardware/drivers/install-the-wdk-using-nuget#install-visual-studio-2022).
middlemose marked this conversation as resolved.
Show resolved Hide resolved
* Launch a "Developer Command Prompt for VS 2022".
* Restore WDK packages from feed :

Expand All @@ -92,7 +92,7 @@ To build the Windows Driver Samples you need a "driver build environment". In e
>nuget restore -PackagesDirectory .\packages
```

* When this is done you should have a .\packages folder that looks exactly as follows:
* When this is done you should have a .\packages folder that looks like example below:
middlemose marked this conversation as resolved.
Show resolved Hide resolved
```
>cd path\to\your\repos\Windows-driver-samples
>dir /b packages
Expand Down
19 changes: 2 additions & 17 deletions configuration.dsc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ properties:
- Microsoft.VisualStudio.Component.VC.MFC.ARM64
- Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre
- Microsoft.VisualStudio.Workload.NativeDesktop
- Component.Microsoft.Windows.DriverKit
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: sdkPackage
directives:
Expand All @@ -62,20 +63,4 @@ properties:
id: Microsoft.WindowsWDK.10.0.26100
source: winget
useLatest: true
- resource: PSDscResources/Script
id: wdkVsix
dependsOn:
- wdkPackage
- vsComponents
directives:
description: Install Windows Driver Kit VSIX
settings:
GetScript: |
return & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -version '[17.0,18.0)' -requires Microsoft.Windows.DriverKit -property installationVersion
SetScript: |
$installerPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath | Join-Path -ChildPath 'VSIXInstaller.exe'
if (Test-Path $installerPath) { & $installerPath /q "${env:ProgramFiles(x86)}\Windows Kits\10\Vsix\VS2022\10.0.26100.0\${env:PROCESSOR_ARCHITECTURE}\WDK.vsix" }
TestScript: |
$versionString = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -version '[17.0,18.0)' -requires Microsoft.Windows.DriverKit -property installationVersion
return $versionString -match "^17\."
configurationVersion: 0.2.0
configurationVersion: 0.2.1
3 changes: 2 additions & 1 deletion configuration_vsonly.dsc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@ properties:
- Microsoft.VisualStudio.Component.VC.MFC.ARM64
- Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre
- Microsoft.VisualStudio.Workload.NativeDesktop
configurationVersion: 0.2.0
- Component.Microsoft.Windows.DriverKit
configurationVersion: 0.2.1
middlemose marked this conversation as resolved.
Show resolved Hide resolved
Loading