private void getMountedImagesButton_Click(object sender, EventArgs e) { DismApi.Initialize(DismLogLevel.LogErrors); Task t = Task.Factory.StartNew(() => { if (this.InvokeRequired) { this.Invoke((MethodInvoker)(() => { dismOutputListbox.Items.Clear(); // Initialize the DismApi dismOutputListbox.Items.Add("Mount Paths"); try { var api = DismApi.GetMountedImages(); foreach (var mountedImages in api) { dismOutputListbox.Items.Add(mountedImages.MountPath); } } finally { // Shut down the DismApi DismApi.Shutdown(); } } )); } }); }
private DismSession GetSession() { foreach (DismMountedImageInfo mountedImageInfo in DismApi.GetMountedImages()) { DismApi.UnmountImage(mountedImageInfo.MountPath, false); } DismApi.CleanupMountpoints(); DismApi.MountImage(InstallWimPath, MountPath, 1); return(DismApi.OpenOfflineSession(MountPath)); }
public static ObservableCollection <_WimImage> GetMounted() { var images = new ObservableCollection <_WimImage>(); var mounted = false; var mountReg = "SOFTWARE\\Microsoft\\WIMMount\\Mounted Images\\"; if (Reg.KeyExist(Registry.LocalMachine, mountReg)) { foreach (var d in DismApi.GetMountedImages()) { var WI = new WimMountedImage(d); images.Add(WI); } } return(images); }