Hugo source for kms.viktorbarzin.me
Live debug on a user laptop (direct SSH, verbose MSI log) found the true SXSMSI/1603 root cause: a pre-existing 32-bit MSI Office (Office Standard 2010) blocks the 64-bit C2R VL install. C2R log: SXSMSIValidator "32bit MSI Installation found and trying to install 64bit C2R". MSI Office cannot coexist with C2R and never appears in C2R ProductReleaseIds (the only place the script looked) - so it was invisible. This is why the VM 300 pilot (no old MSI Office) succeeded and DISM/SFC didn't help. - Get-MsiOffice: detect main MSI Office suites via ARP keys OfficeNN.<RELEASE> (Office14.STANDARDR etc.) across both registry hives, with the Office Setup Controller path per version. - Remove-MsiOffice: silent uninstall via the setup controller + Display=none config (Office 2010/2013/2016). - Install-LatestOfficeVL now removes BOTH blockers before the VL install: retail/M365 C2R AND any MSI Office; shows them in the consent prompt; reboot+re-run after. - Get-OfficeState telemetry now includes msiOffice=[...]. |
||
|---|---|---|
| content | ||
| data | ||
| layouts | ||
| static | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| Dockerfile | ||
| hugo.toml | ||
| nginx.conf | ||
| README.md | ||
kms-website
Source for kms.viktorbarzin.me — a single-page reference for activating
Microsoft Volume License products against the home-lab KMS host (kms.viktorbarzin.lan / kms.viktorbarzin.me).
Stack
- Hugo static site (one custom layout, single
_index) - YAML data file at
data/products.yamlis the source of truth for all GVLK tables - nginx:alpine Docker image (multi-stage build via Hugo)
- Woodpecker CI builds + pushes to
forgejo.viktorbarzin.me/viktor/kms-websiteand rolls thekms-web-pageDeployment in thekmsnamespace - Terraform in
infra/stacks/kmsconsumes the image (var.image_tag)
Local dev
hugo server -D
# → http://localhost:1313
Update GVLKs
Edit data/products.yaml. Push. CI rebuilds and rolls.
Sources of truth for keys: