Files
appsandbox/build/version.rc
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

61 lines
1.9 KiB
Plaintext

// Shared VERSIONINFO resource for every App Sandbox binary.
//
// The version + per-binary identity are supplied as preprocessor defines by
// Directory.Build.targets (which derives them from Directory.Build.props and each project's
// own MSBuild properties). Defines arrive UNQUOTED and are stringized here, so building this
// .rc standalone (without the defines) still produces a valid 0.0.0.0 resource.
#include <windows.h>
#define ASB_STR2(x) #x
#define ASB_STR(x) ASB_STR2(x)
#ifndef ASB_VERSION_COMMA
#define ASB_VERSION_COMMA 0,0,0,0
#endif
#ifndef ASB_VERSION_STR
#define ASB_VERSION_STR 0.0.0.0
#endif
#ifndef ASB_FILE_TYPE
#define ASB_FILE_TYPE VFT_APP
#endif
#ifndef ASB_ORIG_FILENAME
#define ASB_ORIG_FILENAME unknown
#endif
#ifndef ASB_INTERNAL_NAME
#define ASB_INTERNAL_NAME unknown
#endif
#ifndef ASB_FILE_DESC
#define ASB_FILE_DESC ASB_INTERNAL_NAME
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION ASB_VERSION_COMMA
PRODUCTVERSION ASB_VERSION_COMMA
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS VOS__WINDOWS32
FILETYPE ASB_FILE_TYPE
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
// No CompanyName / LegalCopyright: the publisher identity comes from the EV
// signature (present only on official signed builds), so a third-party build
// makes no false claim. Version + product name are generic to the product.
VALUE "FileDescription", ASB_STR(ASB_FILE_DESC)
VALUE "FileVersion", ASB_STR(ASB_VERSION_STR)
VALUE "InternalName", ASB_STR(ASB_INTERNAL_NAME)
VALUE "OriginalFilename", ASB_STR(ASB_ORIG_FILENAME)
VALUE "ProductName", "App Sandbox"
VALUE "ProductVersion", ASB_STR(ASB_VERSION_STR)
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END