Task.FromResult(OperatingSystem.IsWindowsVersionAtLeast(6, 1)); // At least Windows 7. private DismSession GetDismSession() { if (disposed) { throw new ObjectDisposedException(nameof(WindowsFeatureSoftwareProvider)); } if (session == null) { DismApi.Initialize(DismLogLevel.LogErrors); session = DismApi.OpenOnlineSessionEx(new DismSessionOptions { ThrowExceptionOnRebootRequired = false }); } return(session); }
private async Task <DismSession> GetDismSessionAsync() { if (disposed) { throw new ObjectDisposedException(nameof(WindowsFeatureManager)); } if (session == null) { await operatingSystem.ElevateAsync(); DismApi.Initialize(DismLogLevel.LogErrors); session = DismApi.OpenOnlineSessionEx(new DismSessionOptions { ThrowExceptionOnRebootRequired = false }); } return(session); }