private bool ReseatWIMXml(string wimFile) { try { using (var wimHandle = WimgApi.CreateFile( wimFile, WimFileAccess.Write, WimCreationDisposition.OpenExisting, WimCreateFileOptions.Chunked, WimCompressionType.None)) { // Always set a temporary path // WimgApi.SetTemporaryPath(wimHandle, Environment.GetEnvironmentVariable("TEMP")); string xmldata = WimgApi.GetImageInformationAsString(wimHandle); var xml = WIMInformationXML.DeserializeWIM(xmldata); xmldata = WIMInformationXML.SerializeWIM(xml); WimgApi.SetImageInformation(wimHandle, xmldata); } } catch { return(false); } return(true); }
public bool GetWIMInformation( string wimFile, out WIMInformationXML.WIM wim) { wim = null; try { using (var wimHandle = WimgApi.CreateFile( wimFile, WimFileAccess.Read, WimCreationDisposition.OpenExisting, WimCreateFileOptions.Chunked, WimCompressionType.None)) { // Always set a temporary path // WimgApi.SetTemporaryPath(wimHandle, Environment.GetEnvironmentVariable("TEMP")); try { var wiminfo = WimgApi.GetImageInformationAsString(wimHandle); wim = WIMInformationXML.DeserializeWIM(wiminfo); } catch (Exception ex) { Console.WriteLine(ex.Message + " - " + ex.ToString()); } finally { } } } catch { return(false); } return(true); }