<feed xmlns='http://www.w3.org/2005/Atom'>
<title>windows-driver-samples.git, branch user/jvalesmena/build-environment</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/windows-driver-samples.git/atom/?h=user%2Fjvalesmena%2Fbuild-environment</id>
<link rel='self' href='http://cgit.235523.xyz/windows-driver-samples.git/atom/?h=user%2Fjvalesmena%2Fbuild-environment'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/'/>
<updated>2026-04-07T22:29:58Z</updated>
<entry>
<title>docs: streamline Building-Locally.md and fix typos</title>
<updated>2026-04-07T22:29:58Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-07T22:29:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=3a10b3c1ed4a2e611311e9ea3e931fc65fe1a9e8'/>
<id>urn:sha1:3a10b3c1ed4a2e611311e9ea3e931fc65fe1a9e8</id>
<content type='text'>
Simplify prerequisites with environment-specific requisites section,
remove redundant build commands per WDK type since the script
auto-detects. Fix typo (Enviroment), casing (powershell), formatting.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: detect WDK component in both full VS and Build Tools</title>
<updated>2026-04-07T21:55:32Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-07T21:55:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=6b271bfe71e1994f9103e5988cf3ee1db0b7d0e6'/>
<id>urn:sha1:6b271bfe71e1994f9103e5988cf3ee1db0b7d0e6</id>
<content type='text'>
Full VS editions register the WDK as 'Microsoft.Windows.DriverKit',
while Build Tools uses 'Component.Microsoft.Windows.DriverKit.BuildTools'.
Query vswhere for both component IDs and deduplicate by install path so
machines with only VS Build Tools are properly detected.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: include Build Tools in vswhere product search</title>
<updated>2026-04-07T21:48:52Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-07T21:48:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=05135c4ec0a93d50e84deaf6a758ca956b1cb6eb'/>
<id>urn:sha1:05135c4ec0a93d50e84deaf6a758ca956b1cb6eb</id>
<content type='text'>
vswhere's default product filter only includes Community, Professional,
and Enterprise editions. Build Tools (Microsoft.VisualStudio.Product.BuildTools)
requires '-products *' to be discovered. Without this, machines with only
VS Build Tools installed would fail detection.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: use Write-Host for VS selection menu so it displays to console</title>
<updated>2026-04-03T20:06:55Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-03T20:06:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=084c783c5f4ae563520b4446e4b3eeae72b8d9e8'/>
<id>urn:sha1:084c783c5f4ae563520b4446e4b3eeae72b8d9e8</id>
<content type='text'>
Write-Output goes to stdout and gets captured by the pipeline,
making the menu invisible. Write-Host writes directly to the
console, ensuring users see the numbered options.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>refactor: consolidate VS detection into Resolve-BuildEnvironment</title>
<updated>2026-04-02T22:36:34Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-02T22:36:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=1a672e37d6773fa8324d358d0191f4e6fce19d47'/>
<id>urn:sha1:1a672e37d6773fa8324d358d0191f4e6fce19d47</id>
<content type='text'>
- Remove Initialize-DevShell as a separate step; VS Dev Shell setup is
  now fully owned by Resolve-BuildEnvironment alongside mode detection.
  This eliminates the ordering problem where vswhere ran unconditionally
  before knowing whether the environment was EWDK (which needs no VS).

- Fix EWDK regression: EWDK mode now returns early before any vswhere
  or Dev Shell logic is invoked.

- Fix Auto+WDK from plain terminal: the old isWdk guard required
  UCRTVersion to be set before the Dev Shell was opened, making Auto
  detection fail on a clean terminal. Removed the guard; the code now
  falls through to Dev Shell setup and validates UCRTVersion afterward.

- Fix VSINSTALLDIR trailing-backslash mismatch: when the Dev Shell is
  already active, VSINSTALLDIR ends with '\' while vswhere installationPath
  does not. Added TrimEnd('\') on both sides before comparing.

- Renumber Build-Samples.ps1 step comments (old Step 5 'Detect Build
  Environment' merged into Step 1; remaining steps renumbered).

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>docs: rewrite Building-Locally.md for clarity</title>
<updated>2026-04-02T21:45:56Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-02T21:45:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=c4c1704e398b8ca96bf25f519802ae86182c140f'/>
<id>urn:sha1:c4c1704e398b8ca96bf25f519802ae86182c140f</id>
<content type='text'>
Restructure the document into a logical flow:
1. Prerequisites — tools (winget), WDK download link, repo clone
2. Building the Samples — NuGet, EWDK, WDK MSI/winget subsections with -RunMode intro
3. Expected Output — build plan and completion summary
4. Ways to Run — common Build-Samples.ps1 invocations
5. Additional Notes — pre-release WDK, usbview .NET packs, NuGet version pinning

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: prioritize EWDK over NuGet in auto-detection</title>
<updated>2026-04-02T17:00:58Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-04-02T17:00:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=f9545d33190ad51e13d4bdf2942e83d00fa8e379'/>
<id>urn:sha1:f9545d33190ad51e13d4bdf2942e83d00fa8e379</id>
<content type='text'>
The packages\ folder is a passive disk artifact that persists between
builds. If someone runs the script from inside an EWDK command prompt
while packages\ exists from a previous NuGet restore, Auto mode would
incorrectly select NuGet and then fail trying to find a VS installation
that may not be present in an EWDK-only setup.

EWDK is now checked first because \ being set is an active,
explicit signal that the user is intentionally in the EWDK environment.

Auto detection order is now: EWDK -&gt; NuGet -&gt; WDK

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>refactor: remove Github RunMode</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T23:02:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=8508ffaaf97a200fe6e8588333c6ab1383687d4f'/>
<id>urn:sha1:8508ffaaf97a200fe6e8588333c6ab1383687d4f</id>
<content type='text'>
NuGet mode works correctly for GitHub Actions (the HTML open is already
guarded by [Environment]::UserInteractive which is false on CI runners).
The Github mode was redundant and is removed to keep the interface clean.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>fix: detect WDK component version from the selected VS installation</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T22:58:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=12f94c8573a5ef79abf7842d3ea0faf458c3f733'/>
<id>urn:sha1:12f94c8573a5ef79abf7842d3ea0faf458c3f733</id>
<content type='text'>
Previously, WdkVsComponentVersion was read from the global ProgramData
package cache, which is shared across all VS installations and could
return the wrong version when multiple installs are present.

- Add -include packages to the vswhere call in Get-VsInstallationsWithWdk
  so each returned installation includes its WdkVsComponentVersion
- Initialize-DevShell now returns the selected installation object
- Resolve-BuildEnvironment accepts an optional -VsInstallation parameter;
  when provided it reuses the already-selected install (no second prompt);
  when absent (Dev Shell was pre-active) it calls Select-VsInstallation once
- Build-Samples.ps1 threads the result of Initialize-DevShell through to
  Resolve-BuildEnvironment

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Extract environment helper functions into BuildEnvironment.ps1</title>
<updated>2026-03-31T23:22:25Z</updated>
<author>
<name>5an7y</name>
<email>jose.santiago7@hotmail.com</email>
</author>
<published>2026-03-31T22:14:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/windows-driver-samples.git/commit/?id=e021472d548bb26ff390b6b90b42caf21def7024'/>
<id>urn:sha1:e021472d548bb26ff390b6b90b42caf21def7024</id>
<content type='text'>
Move Get-VsInstallationsWithWdk, Select-VsInstallation, Initialize-DevShell,
Assert-MsBuildAvailable, and Resolve-BuildEnvironment out of Build-Samples.ps1
into a new BuildEnvironment.ps1 helper file. Build-Samples.ps1 dot-sources it
via PSScriptRoot, consistent with the existing ListAllSamples.ps1 pattern.

Reduces Build-Samples.ps1 from 733 to 565 lines with no behaviour change.

Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
</content>
</entry>
</feed>
