Files
appsandbox/Directory.Build.props
T
James Stringer c986d092bf Add EV + Microsoft-attestation driver signing and release packaging
YubiKey-gated signing/packaging driven from the VS Release|x64 build:
- make-release.ps1 / sign-drivers.ps1: EV-sign all binaries + driver
  .sys/.dll, submit drivers to Microsoft for attestation in parallel,
  deposit the returned MS-signed drivers into bin\Release\drivers, and
  build a flat AppSandbox-<ver>-x64.zip. Token presence is detected via
  WinSCard + a silent NCrypt key-open, so an unplugged or unrelated card
  never triggers an "insert smart card" dialog; no token => test-sign
  only, no packaging.
- AppSandboxPackage.vcxproj runs it as a post-build step.
- Directory.Build.props/targets + build/version.rc: single-source version
  stamped into every binary and into the driver INFs (StampInf).
- VDD INF: pull WUDFRd via Include/Needs + Win11 decoration to pass
  infverif /h for Partner Center submission.
- Default new Windows VMs to Test Mode off (shipped drivers are MS-signed).
- SIGNING.md documents the git-ignored partner-center.local.json that you
  must create with the Entra API secrets for driver attestation.

Partner Center credentials stay in git-ignored tools/sign/*.local.* files.
2026-05-31 22:21:09 -04:00

37 lines
1.8 KiB
XML

<Project>
<!--
SINGLE SOURCE OF TRUTH for the App Sandbox version.
Edit the four numbers below and nothing else. Everything derives from them at build time:
* every app binary's FileVersion / ProductVersion (via build\version.rc, wired in
Directory.Build.targets)
* both drivers' DriverVer (<TimeStamp> in the driver .vcxproj)
* the release zip name (make-release.ps1)
* the Microsoft submission + product name (sign-drivers.ps1)
MSBuild auto-imports this file into every project in the tree, so no <Import> is needed.
-->
<PropertyGroup>
<AsbVersionMajor>0</AsbVersionMajor>
<AsbVersionMinor>1</AsbVersionMinor>
<AsbVersionPatch>0</AsbVersionPatch>
<AsbVersionRevision>0</AsbVersionRevision>
<!-- Derived forms - do not edit. -->
<AsbVersion>$(AsbVersionMajor).$(AsbVersionMinor).$(AsbVersionPatch).$(AsbVersionRevision)</AsbVersion>
<AsbVersionComma>$(AsbVersionMajor),$(AsbVersionMinor),$(AsbVersionPatch),$(AsbVersionRevision)</AsbVersionComma>
<AsbVersionShort>$(AsbVersionMajor).$(AsbVersionMinor).$(AsbVersionPatch)</AsbVersionShort>
</PropertyGroup>
<!--
The WDK's build-time INF verifier (DPVerifierTask) can't load x86\InfVerif.dll outside the
Visual Studio build environment, so command-line / CI builds error on it (HRESULT 0x8007007E).
Skip it there ONLY - VS GUI builds still run it, and the INF is re-verified by Microsoft on
every submission. $(BuildingInsideVisualStudio) is set to 'true' by the IDE and is empty for
command-line msbuild.
-->
<PropertyGroup Condition="'$(BuildingInsideVisualStudio)' != 'true'">
<SkipPackageVerification>true</SkipPackageVerification>
</PropertyGroup>
</Project>