The process of installing, configuring, and customizing Visual Studio to support development workflows across languages, platforms, and workloads.
VisualStudio.vsman size / SHA-256 mismatch across supported channels request authoritative validation procedure
We are preparing a reproducible Windows AMD64 build-toolchain acquisition. Before downloading or running compiler/install packages, we compare each catalogue’s downloaded bytes with the size and SHA-256 advertised in its official channel manifest.
On 13 November 2026, we observed mismatches for Visual Studio 2022 Current and two alternative release channels. We have not established the cause, bypassed an installer integrity check or concluded that there is a compromise.
- Visual Studio 2022 Current — VS 17.14.45
Channel URL:
https://aka.ms/vs/17/release/channel
Catalogue package ID:
Microsoft.VisualStudio.Manifests.VisualStudio
Catalogue version:
17.14.37906.3
Catalogue URL:
Expected size from channel metadata:
30,447,538 bytes
Observed size:
17,959,942 bytes
Expected SHA-256:
da49c304df0fff4e75c20849171840a06840e845ce814104d709dfb5cd461668
Observed SHA-256:
d1d8109899558618035724949673f69f8c1b5704f542a2e76f31d87e425d5710
- Visual Studio Stable — VS 18.12.0
Channel URL:
https://aka.ms/vs/stable/channel
Catalogue version:
18.12.12405.243
Catalogue URL:
Expected size from channel metadata:
31,963,745 bytes
Observed size:
18,805,635 bytes
Expected SHA-256:
b105af567bb71794076ad73e7505a3a3bd9b012c5d9e1c32ed609413da085ad0
Observed SHA-256:
c891dbc44df0b4b372ad802eb0bf590d2320c4cc09d0ea35575ad6fd7e755311
- Visual Studio 2019 Release — VS 16.11.63
Channel URL:
https://aka.ms/vs/16/release/channel
Catalogue version:
16.0.37903.5
Catalogue URL:
Expected size from channel metadata:
19,253,442 bytes
Observed size:
11,154,512 bytes
Expected SHA-256:
42474461a80f0ceb489e53cb395fccb1dc3af0646dc5a6fe04fc59e59920eddc
Observed SHA-256:
0db59044b850f4ba0a663a1230871b4c084cf3b131df618a2b20ca3a376ade44
Collection and reproduction procedure
- Retrieve the official channel JSON.
- Locate Microsoft.VisualStudio.Manifests.VisualStudio and its VisualStudio.vsman payload.
- Record the advertised catalogue URL, version, size and SHA-256.
- Retrieve that exact catalogue URL using .NET HttpClient with:
- Automatic decompression disabled.
- Accept-Encoding: identity.
- Automatic redirects disabled for the catalogue request.
- Read the response stream to EOF and retain the exact bytes.
- Compute SHA-256 before text decoding or JSON parsing.
- Compare the observed byte length and SHA-256 with the channel metadata.
Observed HTTP results
- HTTP status: 200.
- No catalogue redirects.
- No Content-Encoding.
- HTTP Content-Length equals the observed byte count in each case.
- For VS 2022, a freshly retrieved channel and one explicit no-cache catalogue comparison produced the same mismatch.
- Each alternative catalogue was checked once.
- We retained the public channel/catalogue bytes and hash receipts.
- We have not performed an independent network-path comparison.
Signature-validation question
The VS 2022 catalogue contains a signature object declaring:
signatureMethod: sha256RSA_cng
digestMethod: sha256
canonicalization: empty string
We have not treated the presence of this object, a certificate or a timestamp as proof that the catalogue body is authentic.
We reviewed Microsoft’s layout-verification documentation:
It describes checking for missing or invalid layout package files. We could not establish from that documentation whether it independently authenticates this JSON catalogue body and resolves the conflicting channel size/SHA-256 values.
Requested clarification
What is the authoritative integrity-validation procedure when the channel’s advertised size and SHA-256 differ from the delivered VisualStudio.vsman bytes?
Specifically:
- Do the channel size and sha256 fields describe the exact raw HTTP payload or a different representation? If another representation is intended, where is its transformation/canonicalization specified?.
- If these values should match the delivered bytes, can Microsoft provide corrected authoritative metadata or investigate the publishing/delivery discrepancy for the exact URLs above?.
- Is there a supported standalone Microsoft tool or documented API for validating this catalogue’s sha256RSA_cng signature? Please identify the supported version, acquisition method, invocation and prerequisites.
- How does that procedure establish catalogue-body digest coverage, publisher trust, timestamp binding and revocation/time policy?.
- If layout --verify is the supported route, which diagnostic explicitly proves catalogue-body authentication and what layout metadata, network access, installation or elevation does it require?.
Current impact
We have paused acceptance of the compiler payload pins because we cannot reconcile the advertised catalogue integrity values with the retained bytes.
No bootstrapper or compiler was executed during this investigation. No toolchain was installed, no certificates or security settings were changed and no alternative expected hash was substituted.
We can provide the retained public metadata and hash receipts if required. We are seeking an authoritative verification procedure not an integrity-check bypass.