diff --git a/7zip/Compress/LZMA/LzmaDecoder.cs b/7zip/Compress/LZMA/LzmaDecoder.cs index d60cc0c..c4a50ff 100644 --- a/7zip/Compress/LZMA/LzmaDecoder.cs +++ b/7zip/Compress/LZMA/LzmaDecoder.cs @@ -5,6 +5,7 @@ using System; namespace SevenZip.Compression.LZMA { using RangeCoder; + using System.Threading; public class Decoder : ICoder, ISetDecoderProperties // ,System.IO.Stream { @@ -228,7 +229,7 @@ namespace SevenZip.Compression.LZMA } public void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress) + Int64 inSize, Int64 outSize, ICodeProgress progress, CancellationToken? token = null) { Init(inStream, outStream); @@ -247,100 +248,111 @@ namespace SevenZip.Compression.LZMA m_OutWindow.PutByte(b); nowPos64++; } - while (nowPos64 < outSize64) + + try { - // UInt64 next = Math.Min(nowPos64 + (1 << 18), outSize64); - // while(nowPos64 < next) + while (nowPos64 < outSize64) { - uint posState = (uint)nowPos64 & m_PosStateMask; - if (m_IsMatchDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) + token?.ThrowIfCancellationRequested(); + + // UInt64 next = Math.Min(nowPos64 + (1 << 18), outSize64); + // while(nowPos64 < next) { - byte b; - byte prevByte = m_OutWindow.GetByte(0); - if (!state.IsCharState()) - b = m_LiteralDecoder.DecodeWithMatchByte(m_RangeDecoder, - (uint)nowPos64, prevByte, m_OutWindow.GetByte(rep0)); - else - b = m_LiteralDecoder.DecodeNormal(m_RangeDecoder, (uint)nowPos64, prevByte); - m_OutWindow.PutByte(b); - state.UpdateChar(); - nowPos64++; - } - else - { - uint len; - if (m_IsRepDecoders[state.Index].Decode(m_RangeDecoder) == 1) + uint posState = (uint)nowPos64 & m_PosStateMask; + if (m_IsMatchDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) { - if (m_IsRepG0Decoders[state.Index].Decode(m_RangeDecoder) == 0) - { - if (m_IsRep0LongDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) - { - state.UpdateShortRep(); - m_OutWindow.PutByte(m_OutWindow.GetByte(rep0)); - nowPos64++; - continue; - } - } + byte b; + byte prevByte = m_OutWindow.GetByte(0); + if (!state.IsCharState()) + b = m_LiteralDecoder.DecodeWithMatchByte(m_RangeDecoder, + (uint)nowPos64, prevByte, m_OutWindow.GetByte(rep0)); else + b = m_LiteralDecoder.DecodeNormal(m_RangeDecoder, (uint)nowPos64, prevByte); + m_OutWindow.PutByte(b); + state.UpdateChar(); + nowPos64++; + } + else + { + uint len; + if (m_IsRepDecoders[state.Index].Decode(m_RangeDecoder) == 1) { - UInt32 distance; - if (m_IsRepG1Decoders[state.Index].Decode(m_RangeDecoder) == 0) + if (m_IsRepG0Decoders[state.Index].Decode(m_RangeDecoder) == 0) { - distance = rep1; + if (m_IsRep0LongDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) + { + state.UpdateShortRep(); + m_OutWindow.PutByte(m_OutWindow.GetByte(rep0)); + nowPos64++; + continue; + } } else { - if (m_IsRepG2Decoders[state.Index].Decode(m_RangeDecoder) == 0) - distance = rep2; + UInt32 distance; + if (m_IsRepG1Decoders[state.Index].Decode(m_RangeDecoder) == 0) + { + distance = rep1; + } else { - distance = rep3; - rep3 = rep2; + if (m_IsRepG2Decoders[state.Index].Decode(m_RangeDecoder) == 0) + distance = rep2; + else + { + distance = rep3; + rep3 = rep2; + } + rep2 = rep1; } - rep2 = rep1; - } - rep1 = rep0; - rep0 = distance; - } - len = m_RepLenDecoder.Decode(m_RangeDecoder, posState) + Base.kMatchMinLen; - state.UpdateRep(); - } - else - { - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - len = Base.kMatchMinLen + m_LenDecoder.Decode(m_RangeDecoder, posState); - state.UpdateMatch(); - uint posSlot = m_PosSlotDecoder[Base.GetLenToPosState(len)].Decode(m_RangeDecoder); - if (posSlot >= Base.kStartPosModelIndex) - { - int numDirectBits = (int)((posSlot >> 1) - 1); - rep0 = ((2 | (posSlot & 1)) << numDirectBits); - if (posSlot < Base.kEndPosModelIndex) - rep0 += BitTreeDecoder.ReverseDecode(m_PosDecoders, - rep0 - posSlot - 1, m_RangeDecoder, numDirectBits); - else - { - rep0 += (m_RangeDecoder.DecodeDirectBits( - numDirectBits - Base.kNumAlignBits) << Base.kNumAlignBits); - rep0 += m_PosAlignDecoder.ReverseDecode(m_RangeDecoder); + rep1 = rep0; + rep0 = distance; } + len = m_RepLenDecoder.Decode(m_RangeDecoder, posState) + Base.kMatchMinLen; + state.UpdateRep(); } else - rep0 = posSlot; + { + rep3 = rep2; + rep2 = rep1; + rep1 = rep0; + len = Base.kMatchMinLen + m_LenDecoder.Decode(m_RangeDecoder, posState); + state.UpdateMatch(); + uint posSlot = m_PosSlotDecoder[Base.GetLenToPosState(len)].Decode(m_RangeDecoder); + if (posSlot >= Base.kStartPosModelIndex) + { + int numDirectBits = (int)((posSlot >> 1) - 1); + rep0 = ((2 | (posSlot & 1)) << numDirectBits); + if (posSlot < Base.kEndPosModelIndex) + rep0 += BitTreeDecoder.ReverseDecode(m_PosDecoders, + rep0 - posSlot - 1, m_RangeDecoder, numDirectBits); + else + { + rep0 += (m_RangeDecoder.DecodeDirectBits( + numDirectBits - Base.kNumAlignBits) << Base.kNumAlignBits); + rep0 += m_PosAlignDecoder.ReverseDecode(m_RangeDecoder); + } + } + else + rep0 = posSlot; + } + if (rep0 >= m_OutWindow.TrainSize + nowPos64 || rep0 >= m_DictionarySizeCheck) + { + if (rep0 == 0xFFFFFFFF) + break; + throw new DataErrorException(); + } + m_OutWindow.CopyBlock(rep0, len); + nowPos64 += len; } - if (rep0 >= m_OutWindow.TrainSize + nowPos64 || rep0 >= m_DictionarySizeCheck) - { - if (rep0 == 0xFFFFFFFF) - break; - throw new DataErrorException(); - } - m_OutWindow.CopyBlock(rep0, len); - nowPos64 += len; } } } + catch (OperationCanceledException) + { + + } + m_OutWindow.Flush(); m_OutWindow.ReleaseStream(); m_RangeDecoder.ReleaseStream(); diff --git a/7zip/Compress/LZMA/LzmaEncoder.cs b/7zip/Compress/LZMA/LzmaEncoder.cs index 3589d45..f07afbd 100644 --- a/7zip/Compress/LZMA/LzmaEncoder.cs +++ b/7zip/Compress/LZMA/LzmaEncoder.cs @@ -5,6 +5,7 @@ using System; namespace SevenZip.Compression.LZMA { using RangeCoder; + using System.Threading; public class Encoder : ICoder, ISetCoderProperties, IWriteCoderProperties { @@ -1271,7 +1272,7 @@ namespace SevenZip.Compression.LZMA public void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress) + Int64 inSize, Int64 outSize, ICodeProgress progress, CancellationToken? token = null) { _needReleaseMFStream = false; try @@ -1279,6 +1280,7 @@ namespace SevenZip.Compression.LZMA SetStreams(inStream, outStream, inSize, outSize); while (true) { + token?.ThrowIfCancellationRequested(); Int64 processedInSize; Int64 processedOutSize; bool finished; diff --git a/7zip/ICoder.cs b/7zip/ICoder.cs index f0781b0..5b8251c 100644 --- a/7zip/ICoder.cs +++ b/7zip/ICoder.cs @@ -1,6 +1,7 @@ // ICoder.h using System; +using System.Threading; namespace SevenZip { @@ -58,7 +59,7 @@ namespace SevenZip /// if input stream is not valid /// void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress); + Int64 inSize, Int64 outSize, ICodeProgress progress, CancellationToken? token = null); }; /* diff --git a/DiscUtils/Fat/FatFileSystemOptions.cs b/DiscUtils/Fat/FatFileSystemOptions.cs index 7abf0a8..efc732d 100644 --- a/DiscUtils/Fat/FatFileSystemOptions.cs +++ b/DiscUtils/Fat/FatFileSystemOptions.cs @@ -34,6 +34,7 @@ namespace DiscUtils.Fat internal FatFileSystemOptions() { + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); FileNameEncoding = Encoding.GetEncoding(437); } @@ -45,6 +46,7 @@ namespace DiscUtils.Fat } else { + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); FileNameEncoding = Encoding.GetEncoding(437); } } diff --git a/FilePickerControl.xaml.cs b/FilePickerControl.xaml.cs index de68fd5..bc48aed 100644 --- a/FilePickerControl.xaml.cs +++ b/FilePickerControl.xaml.cs @@ -166,7 +166,8 @@ namespace WPinternals FlowDirection.LeftToRight, new Typeface(PathTextBlock.FontFamily, PathTextBlock.FontStyle, PathTextBlock.FontWeight, PathTextBlock.FontStretch), FontSize, - Foreground + Foreground, + VisualTreeHelper.GetDpi(this).PixelsPerDip ); #endif @@ -198,7 +199,8 @@ namespace WPinternals FlowDirection.LeftToRight, new Typeface(CaptionTextBlock.FontFamily, CaptionTextBlock.FontStyle, CaptionTextBlock.FontWeight, CaptionTextBlock.FontStretch), FontSize, - Foreground + Foreground, + VisualTreeHelper.GetDpi(this).PixelsPerDip ); #endif double CaptionWidth = formatted.Width; @@ -238,7 +240,8 @@ namespace WPinternals FlowDirection.LeftToRight, new Typeface(PathTextBlock.FontFamily, PathTextBlock.FontStyle, PathTextBlock.FontWeight, PathTextBlock.FontStretch), FontSize, - Foreground + Foreground, + VisualTreeHelper.GetDpi(this).PixelsPerDip ); #endif if (NewWidth < 0) @@ -321,7 +324,8 @@ namespace WPinternals FlowDirection.LeftToRight, new Typeface(PathTextBlock.FontFamily, PathTextBlock.FontStyle, PathTextBlock.FontWeight, PathTextBlock.FontStretch), FontSize, - Foreground + Foreground, + VisualTreeHelper.GetDpi(this).PixelsPerDip ); #endif diff --git a/Models/GPT.cs b/Models/GPT.cs index 83f0270..6de3733 100644 --- a/Models/GPT.cs +++ b/Models/GPT.cs @@ -375,18 +375,18 @@ namespace WPinternals HasChanged = true; } - if ((NewPartition.PartitionGuid == null) || (NewPartition.PartitionGuid != CurrentPartition.PartitionGuid)) + if ((NewPartition.PartitionGuid != Guid.Empty) || (NewPartition.PartitionGuid != CurrentPartition.PartitionGuid)) HasChanged = true; - if (NewPartition.PartitionGuid != null) + if (NewPartition.PartitionGuid != Guid.Empty) CurrentPartition.PartitionGuid = NewPartition.PartitionGuid; - if (CurrentPartition.PartitionGuid == null) + if (CurrentPartition.PartitionGuid != Guid.Empty) CurrentPartition.PartitionGuid = Guid.NewGuid(); - if ((NewPartition.PartitionTypeGuid == null) || (NewPartition.PartitionTypeGuid != CurrentPartition.PartitionTypeGuid)) + if ((NewPartition.PartitionTypeGuid != Guid.Empty) || (NewPartition.PartitionTypeGuid != CurrentPartition.PartitionTypeGuid)) HasChanged = true; - if (NewPartition.PartitionTypeGuid != null) + if (NewPartition.PartitionTypeGuid != Guid.Empty) CurrentPartition.PartitionTypeGuid = NewPartition.PartitionTypeGuid; - if (CurrentPartition.PartitionTypeGuid == null) + if (CurrentPartition.PartitionTypeGuid != Guid.Empty) CurrentPartition.PartitionTypeGuid = Guid.NewGuid(); for (int i = this.Partitions.Count - 1; i >= 0; i--) diff --git a/Models/LZMA.cs b/Models/LZMA.cs index 3297b25..7902ec3 100644 --- a/Models/LZMA.cs +++ b/Models/LZMA.cs @@ -92,6 +92,8 @@ namespace WPinternals private Stream stream; private bool LeaveOpen; private Thread WorkThread; + private CancellationTokenSource source; + private CancellationToken token; public LZMACompressionStream(Stream stream, CompressionMode mode, bool LeaveOpen, int DictionarySize, int PosStateBits, int LitContextBits, int LitPosBits, int Algorithm, int NumFastBytes, string MatchFinder, bool EndMarker) @@ -99,6 +101,8 @@ namespace WPinternals this.stream = stream; this.LeaveOpen = LeaveOpen; BufferStream = new PumpStream(); + source = new CancellationTokenSource(); + token = source.Token; if (mode == CompressionMode.Compress) { @@ -130,14 +134,14 @@ namespace WPinternals private void Encode() { - Encoder.Code(BufferStream, stream, -1, -1, null); + Encoder.Code(BufferStream, stream, -1, -1, null, token); if (LeaveOpen == false) stream.Close(); } private void Decode() { - Decoder.Code(stream, BufferStream, -1, -1, null); + Decoder.Code(stream, BufferStream, -1, -1, null, token); BufferStream.Close(); if (LeaveOpen == false) stream.Close(); @@ -148,7 +152,11 @@ namespace WPinternals if (Encoder != null) BufferStream.Close(); else if (WorkThread.IsAlive) - WorkThread.Abort(); + { + if (source != null) + source.Cancel(); + WorkThread.Join(); + } } public override int Read(byte[] buffer, int offset, int count) diff --git a/Models/NativeMethods.cs b/Models/NativeMethods.cs index 53adc30..d405b7e 100644 --- a/Models/NativeMethods.cs +++ b/Models/NativeMethods.cs @@ -118,14 +118,12 @@ namespace WPinternals [DllImport( KERNEL32, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool CloseHandle(IntPtr handle); [DllImport( ADVAPI32, CharSet = CharSet.Unicode, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool AdjustTokenPrivileges( [In] SafeTokenHandle TokenHandle, [In] bool DisableAllPrivileges, @@ -138,7 +136,6 @@ namespace WPinternals ADVAPI32, CharSet = CharSet.Auto, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool RevertToSelf(); @@ -147,7 +144,6 @@ namespace WPinternals EntryPoint = "LookupPrivilegeValueW", CharSet = CharSet.Auto, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool LookupPrivilegeValue( [In] string lpSystemName, @@ -158,7 +154,6 @@ namespace WPinternals KERNEL32, CharSet = CharSet.Auto, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern IntPtr GetCurrentProcess(); @@ -166,7 +161,6 @@ namespace WPinternals KERNEL32, CharSet = CharSet.Auto, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern IntPtr GetCurrentThread(); @@ -174,7 +168,6 @@ namespace WPinternals ADVAPI32, CharSet = CharSet.Unicode, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool OpenProcessToken( [In] IntPtr ProcessToken, @@ -185,7 +178,6 @@ namespace WPinternals (ADVAPI32, CharSet = CharSet.Unicode, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool OpenThreadToken( [In] IntPtr ThreadToken, @@ -197,7 +189,6 @@ namespace WPinternals (ADVAPI32, CharSet = CharSet.Unicode, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool DuplicateTokenEx( [In] SafeTokenHandle ExistingToken, @@ -211,7 +202,6 @@ namespace WPinternals (ADVAPI32, CharSet = CharSet.Unicode, SetLastError = true)] - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] internal static extern bool SetThreadToken( [In] IntPtr Thread, @@ -301,8 +291,7 @@ namespace WPinternals } [DllImport(NativeMethods.KERNEL32, SetLastError = true), - SuppressUnmanagedCodeSecurity, - ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] + SuppressUnmanagedCodeSecurity] private static extern bool CloseHandle(IntPtr handle); override protected bool ReleaseHandle() diff --git a/Models/Privileges.cs b/Models/Privileges.cs index 74cbe74..4cbe5f3 100644 --- a/Models/Privileges.cs +++ b/Models/Privileges.cs @@ -20,8 +20,6 @@ using System; using System.Collections.Specialized; -using System.Runtime.CompilerServices; -using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Threading; @@ -93,7 +91,6 @@ namespace WPinternals // of privilege names to luids // - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] private static Luid LuidFromPrivilege(string privilege) { Luid luid; @@ -104,8 +101,6 @@ namespace WPinternals // Look up the privilege LUID inside the cache // - RuntimeHelpers.PrepareConstrainedRegions(); - try { privilegeLock.AcquireReaderLock(Timeout.Infinite); @@ -206,8 +201,6 @@ namespace WPinternals } } - RuntimeHelpers.PrepareConstrainedRegions(); - try { // Open the thread token; if there is no thread token, @@ -382,19 +375,16 @@ namespace WPinternals #endregion #region Public methods and properties - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public void Enable() { this.ToggleState(true); } - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public void Disable() { this.ToggleState(false); } - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public void Revert() { int error = 0; @@ -413,8 +403,6 @@ namespace WPinternals // This code must be eagerly prepared and non-interruptible. - RuntimeHelpers.PrepareConstrainedRegions(); - try { // The payload is entirely in the finally block @@ -492,8 +480,6 @@ namespace WPinternals Privilege p = new Privilege(privilege); - RuntimeHelpers.PrepareConstrainedRegions(); - try { if (enabled) @@ -520,7 +506,6 @@ namespace WPinternals #endregion #region Private implementation - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] private void ToggleState(bool enable) { int error = 0; @@ -542,8 +527,6 @@ namespace WPinternals // Need to make this block of code non-interruptible so that it would preserve // consistency of thread oken state even in the face of catastrophic exceptions - RuntimeHelpers.PrepareConstrainedRegions(); - try { // The payload is entirely in the finally block @@ -635,11 +618,8 @@ namespace WPinternals } } - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private void Reset() { - RuntimeHelpers.PrepareConstrainedRegions(); - try { // Payload is in the finally block diff --git a/WPinternals.csproj b/WPinternals.csproj index 478b911..213592f 100644 --- a/WPinternals.csproj +++ b/WPinternals.csproj @@ -1,21 +1,8 @@ - - - + - Debug - AnyCPU - {AED6DEB8-F54C-4B41-9655-793E7096AE6E} + net5.0-windows WinExe - Properties - WPinternals - WPinternals - v4.5 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 false - - publish\ true Disk @@ -30,32 +17,20 @@ 1.0.0.%2a false true + false + true + true + false - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 true - false - false + 1701;1702;CA1416 - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 true - false true Heathcliff74.snk + 1701;1702;CA1416 WPinternals.ico @@ -63,1184 +38,280 @@ WPinternals.App - app.manifest true bin\Debug-CustomFlash\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-CustomFlash-930\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-Test\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-CustomFlash-950 %28no restart%29\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-ReadGPT\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-DumpFFU\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-TestProgrammer-930\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-FindFlashingProfile\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-DisableSecureBoot\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-FlashRaw\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-FindFlashingProfileNoRestart\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-DisableSecureBoot %28no restart%29\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-ClearNV\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-DumpUEFI\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-MSM\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-SwitchToMSM\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-UnlockBootloader\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-DLEmergency\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-ShowPhoneInfo\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-RelockPhone\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-EnableRootAccess\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false bin\Debug-TestProgrammer-950\ true - TRACE;DEBUG - true - full true - false true bin\Debug-EnableRootAccessOnImage\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-FixBoot\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-DLFFU\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-FlashFFU-RM1085\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false bin\Release-Test\ - TRACE true true - pdbonly - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-TestProgrammer-630\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-DLall\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-AddEmergency\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-TestProgrammer-640\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-FlashCustomRom-640\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-TestProgrammer-550\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-TestProgrammer-650\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-FlashFFU-RM1073\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-Help\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false - bin\Release\ TRACE;PREVIEW true true - pdbonly - AnyCPU - prompt MinimumRecommendedRules.ruleset true true bin\Debug-ShowFFU\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - true - false true bin\Debug-BackupGPT\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-RestoreGPT\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-MergeGptXmlXml\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false true bin\Debug-MergeGptXmlZip\ - DEBUG;TRACE true - full - AnyCPU - prompt MinimumRecommendedRules.ruleset - false bin\Preview-Test\ TRACE;PREVIEW true true - pdbonly x64 - prompt MinimumRecommendedRules.ruleset - true - false Heathcliff74.snk - - False - packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - - - - - - - - - - - - - - - 4.0 - - - - - - MSBuild:Compile - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FilePickerControl.xaml - - - - - - - - - - - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - About.xaml - - - - - BackupView.xaml - - - BootRestoreResourcesView.xaml - - - ContextView.xaml - - - DisclaimerAndNdaView.xaml - - - NokiaBootloaderView.xaml - - - NokiaModeBootloaderView.xaml - - - RegistrationView.xaml - - - DisclaimerView.xaml - - - DumpRomView.xaml - - - Empty.xaml - - - - - FlashResourcesView.xaml - - - FlashRomView.xaml - - - GettingStartedView.xaml - - - LumiaDownloadView.xaml - - - LumiaUndoRootTargetSelectionView.xaml - - - LumiaUnlockRootTargetSelectionView.xaml - - - MessageView.xaml - - - NokiaFlashView.xaml - - - NokiaLabelView.xaml - - - - NokiaMassStorageView.xaml - - - NokiaModeFlashView.xaml - - - - NokiaModeLabelView.xaml - - - - NokiaModeMassStorageView.xaml - - - - NokiaModeNormalView.xaml - - - - NokiaNormalView.xaml - - - - NotImplementedView.xaml - - - - BusyView.xaml - - - RestoreView.xaml - - - StartupWindow.xaml - - - - - - - - - - - - - - - - - - - - - - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - App.xaml - Code - - - MainWindow.xaml - Code - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - ResXFileCodeGenerator - Resources.Designer.cs - - - + Designer - - - - SettingsSingleFileGenerator - Settings.Designer.cs - @@ -1283,18 +354,17 @@ Designer - + + + + + + + "C:\Program Files\PsTools\pskill.exe" XDesProc.exe 2>nul 1>nul EXIT 0 - \ No newline at end of file