Skip to content

Replace System.Management with local CIM - #1

Merged
ml6719 merged 3 commits into
mainfrom
codex/mmi-compat-0.6.0-preview1
Jul 27, 2026
Merged

Replace System.Management with local CIM#1
ml6719 merged 3 commits into
mainfrom
codex/mmi-compat-0.6.0-preview1

Conversation

@ml6719

@ml6719 ml6719 commented Jul 27, 2026

Copy link
Copy Markdown
Owner

What changed

  • replaces the internal System.Management implementation with a local Microsoft.Management.Infrastructure / CimSession adapter
  • narrows the package to the sole consumer shape: net8.0-windows and self-contained win-x64
  • retains the existing .NET 8 API, adds deterministic client disposal and classified provider exceptions
  • adds provider-shape/job tests, package/publish dependency assertions, third-party notices, and an unchanged self-contained compatibility probe
  • provisions 0.6.0-preview.1 package and symbols output

Why

Modern System.Management can load wminet_utils.dll from the machine-installed .NET Framework and fail on older Windows Server installations. The new local CIM path removes that dependency while retaining the Hyper-V root\virtualization\v2 console operations.

Validation

  • Release solution build: zero warnings/errors
  • 41/41 tests passed
  • package and self-contained publish contain no System.Management
  • Server 2025 build 26100: elevated and LocalSystem self-contained probes passed
  • live VM enumeration, capture, sustained frames, keyboard, mouse, Ctrl+Alt+Del, repeated open/close, async-job start and force-stop passed
  • neither System.Management.dll nor wminet_utils.dll loaded

Release gate

This remains draft and the NuGet workflow is deliberately blocked until the unchanged physical-host probe passes on Server 2012 R2, 2016, 2019, 2022, Windows 10, and Windows 11. Server 2016 must include the host with the original failure state.

@ml6719
ml6719 marked this pull request as ready for review July 27, 2026 16:23
@ml6719
ml6719 merged commit 8af9f7a into main Jul 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants