#pragma once #include #include inline const std::vector winAppSdkFiles = { L"CoreMessagingXP.dll", L"DWriteCore.dll", L"DwmSceneI.dll", L"MRM.dll", L"Microsoft.DirectManipulation.dll", L"Microsoft.InputStateManager.dll", L"Microsoft.Internal.FrameworkUdk.dll", L"Microsoft.UI.Composition.OSSupport.dll", L"Microsoft.UI.Input.dll", L"Microsoft.UI.Windowing.Core.dll", L"Microsoft.UI.Xaml.Controls.dll", L"Microsoft.UI.Xaml.Controls.pri", L"Microsoft.UI.Xaml.Internal.dll", L"Microsoft.UI.Xaml.Phone.dll", L"Microsoft.Web.WebView2.Core.dll", L"Microsoft.Windows.AppNotifications.Projection.dll", L"Microsoft.Windows.ApplicationModel.Resources.dll", L"Microsoft.WindowsAppRuntime.Bootstrap.dll", L"Microsoft.Windows.PushNotifications.Projection.dll", L"Microsoft.Windows.System.Projection.dll", L"Microsoft.WindowsAppRuntime.Insights.Resource.dll", L"Microsoft.WindowsAppRuntime.Release.Net.dll", L"Microsoft.WindowsAppRuntime.dll", L"Microsoft.ui.xaml.dll", L"Microsoft.ui.xaml.resources.19h1.dll", L"Microsoft.ui.xaml.resources.common.dll", L"PushNotificationsLongRunningTask.ProxyStub.dll", L"WinUIEdit.dll", L"WindowsAppRuntime.png", L"WindowsAppSdk.AppxDeploymentExtensions.Desktop.dll", L"dcompi.dll", L"dwmcorei.dll", L"marshal.dll", L"wuceffectsi.dll" }; inline const std::vector powerToysInteropFiles = { L"concrt140.dll", L"msvcp140.dll", L"msvcp140_1.dll", L"msvcp140_2.dll", L"msvcp140_atomic_wait.dll", L"msvcp140_codecvt_ids.dll", L"PowerToys.Interop.dll", L"vcamp140.dll", L"vccorlib140.dll", L"vcomp140.dll", L"vcruntime140.dll", L"vcruntime140_1.dll" }; #ifdef _M_X64 inline const std::vector dotnetRuntimeFiles = { L"clrcompression.dll", L"clretwrc.dll", L"clrgc.dll", L"clrjit.dll", L"coreclr.dll", L"hostfxr.dll", L"hostpolicy.dll", L"Microsoft.CSharp.dll", L"Microsoft.DiaSymReader.Native.amd64.dll", L"Microsoft.VisualBasic.Core.dll", L"Microsoft.VisualBasic.dll", L"Microsoft.Win32.Primitives.dll", L"Microsoft.Win32.Registry.dll", L"mscordaccore.dll", L"mscordbi.dll", L"mscorlib.dll", L"mscorrc.dll", L"msquic.dll", L"netstandard.dll", L"System.AppContext.dll", L"System.Buffers.dll", L"System.CodeDom.dll", L"System.Collections.Concurrent.dll", L"System.Collections.dll", L"System.Collections.Immutable.dll", L"System.Collections.NonGeneric.dll", L"System.Collections.Specialized.dll", L"System.ComponentModel.Annotations.dll", L"System.ComponentModel.DataAnnotations.dll", L"System.ComponentModel.dll", L"System.ComponentModel.EventBasedAsync.dll", L"System.ComponentModel.Primitives.dll", L"System.ComponentModel.TypeConverter.dll", L"System.Configuration.dll", L"System.Console.dll", L"System.Core.dll", L"System.Data.Common.dll", L"System.Data.DataSetExtensions.dll", L"System.Data.dll", L"System.Diagnostics.Contracts.dll", L"System.Diagnostics.Debug.dll", L"System.Diagnostics.DiagnosticSource.dll", L"System.Diagnostics.FileVersionInfo.dll", L"System.Diagnostics.Process.dll", L"System.Diagnostics.StackTrace.dll", L"System.Diagnostics.TextWriterTraceListener.dll", L"System.Diagnostics.Tools.dll", L"System.Diagnostics.TraceSource.dll", L"System.Diagnostics.Tracing.dll", L"System.dll", L"System.Drawing.dll", L"System.Drawing.Primitives.dll", L"System.Dynamic.Runtime.dll", L"System.Formats.Asn1.dll", L"System.Formats.Tar.dll", L"System.Globalization.Calendars.dll", L"System.Globalization.dll", L"System.Globalization.Extensions.dll", L"System.IO.Compression.Brotli.dll", L"System.IO.Compression.dll", L"System.IO.Compression.FileSystem.dll", L"System.IO.Compression.Native.dll", L"System.IO.Compression.ZipFile.dll", L"System.IO.dll", L"System.IO.FileSystem.AccessControl.dll", L"System.IO.FileSystem.dll", L"System.IO.FileSystem.DriveInfo.dll", L"System.IO.FileSystem.Primitives.dll", L"System.IO.FileSystem.Watcher.dll", L"System.IO.IsolatedStorage.dll", L"System.IO.MemoryMappedFiles.dll", L"System.IO.Pipes.AccessControl.dll", L"System.IO.Pipes.dll", L"System.IO.UnmanagedMemoryStream.dll", L"System.Linq.dll", L"System.Linq.Expressions.dll", L"System.Linq.Parallel.dll", L"System.Linq.Queryable.dll", L"System.Memory.dll", L"System.Net.dll", L"System.Net.Http.dll", L"System.Net.Http.Json.dll", L"System.Net.HttpListener.dll", L"System.Net.Mail.dll", L"System.Net.NameResolution.dll", L"System.Net.NetworkInformation.dll", L"System.Net.Ping.dll", L"System.Net.Primitives.dll", L"System.Net.Quic.dll", L"System.Net.Requests.dll", L"System.Net.Security.dll", L"System.Net.ServicePoint.dll", L"System.Net.Sockets.dll", L"System.Net.WebClient.dll", L"System.Net.WebHeaderCollection.dll", L"System.Net.WebProxy.dll", L"System.Net.WebSockets.Client.dll", L"System.Net.WebSockets.dll", L"System.Numerics.dll", L"System.Numerics.Vectors.dll", L"System.ObjectModel.dll", L"System.Private.CoreLib.dll", L"System.Private.DataContractSerialization.dll", L"System.Private.Uri.dll", L"System.Private.Xml.dll", L"System.Private.Xml.Linq.dll", L"System.Reflection.DispatchProxy.dll", L"System.Reflection.dll", L"System.Reflection.Emit.dll", L"System.Reflection.Emit.ILGeneration.dll", L"System.Reflection.Emit.Lightweight.dll", L"System.Reflection.Extensions.dll", L"System.Reflection.Metadata.dll", L"System.Reflection.Primitives.dll", L"System.Reflection.TypeExtensions.dll", L"System.Resources.Reader.dll", L"System.Resources.ResourceManager.dll", L"System.Resources.Writer.dll", L"System.Runtime.CompilerServices.Unsafe.dll", L"System.Runtime.CompilerServices.VisualC.dll", L"System.Runtime.dll", L"System.Runtime.Extensions.dll", L"System.Runtime.Handles.dll", L"System.Runtime.InteropServices.dll", L"System.Runtime.InteropServices.JavaScript.dll", L"System.Runtime.InteropServices.RuntimeInformation.dll", L"System.Runtime.Intrinsics.dll", L"System.Runtime.Loader.dll", L"System.Runtime.Numerics.dll", L"System.Runtime.Serialization.dll", L"System.Runtime.Serialization.Formatters.dll", L"System.Runtime.Serialization.Json.dll", L"System.Runtime.Serialization.Primitives.dll", L"System.Runtime.Serialization.Xml.dll", L"System.Security.AccessControl.dll", L"System.Security.Claims.dll", L"System.Security.Cryptography.dll", L"System.Security.Cryptography.Algorithms.dll", L"System.Security.Cryptography.Cng.dll", L"System.Security.Cryptography.Csp.dll", L"System.Security.Cryptography.Encoding.dll", L"System.Security.Cryptography.OpenSsl.dll", L"System.Security.Cryptography.Primitives.dll", L"System.Security.Cryptography.X509Certificates.dll", L"System.Security.dll", L"System.Security.Principal.dll", L"System.Security.Principal.Windows.dll", L"System.Security.SecureString.dll", L"System.ServiceModel.Web.dll", L"System.ServiceProcess.dll", L"System.Text.Encoding.CodePages.dll", L"System.Text.Encoding.dll", L"System.Text.Encoding.Extensions.dll", L"System.Text.Encodings.Web.dll", L"System.Text.RegularExpressions.dll", L"System.Threading.Channels.dll", L"System.Threading.dll", L"System.Threading.Overlapped.dll", L"System.Threading.Tasks.Dataflow.dll", L"System.Threading.Tasks.dll", L"System.Threading.Tasks.Extensions.dll", L"System.Threading.Tasks.Parallel.dll", L"System.Threading.Thread.dll", L"System.Threading.ThreadPool.dll", L"System.Threading.Timer.dll", L"System.Transactions.dll", L"System.Transactions.Local.dll", L"System.ValueTuple.dll", L"System.Web.dll", L"System.Web.HttpUtility.dll", L"System.Windows.dll", L"System.Xml.dll", L"System.Xml.Linq.dll", L"System.Xml.ReaderWriter.dll", L"System.Xml.Serialization.dll", L"System.Xml.XDocument.dll", L"System.Xml.XmlDocument.dll", L"System.Xml.XmlSerializer.dll", L"System.Xml.XPath.dll", L"System.Xml.XPath.XDocument.dll" }; inline const std::vector dotnetRuntimeWPFFiles = { L"Accessibility.dll", L"D3DCompiler_47_cor3.dll", L"DirectWriteForwarder.dll", L"Microsoft.VisualBasic.Forms.dll", L"Microsoft.Win32.Registry.AccessControl.dll", L"Microsoft.Win32.SystemEvents.dll", L"PenImc_cor3.dll", L"PresentationCore.dll", L"PresentationFramework-SystemCore.dll", L"PresentationFramework-SystemData.dll", L"PresentationFramework-SystemDrawing.dll", L"PresentationFramework-SystemXml.dll", L"PresentationFramework-SystemXmlLinq.dll", L"PresentationFramework.Aero.dll", L"PresentationFramework.Aero2.dll", L"PresentationFramework.AeroLite.dll", L"PresentationFramework.Classic.dll", L"PresentationFramework.dll", L"PresentationFramework.Luna.dll", L"PresentationFramework.Royale.dll", L"PresentationNative_cor3.dll", L"PresentationUI.dll", L"ReachFramework.dll", L"System.Configuration.ConfigurationManager.dll", L"System.Design.dll", L"System.Diagnostics.EventLog.dll", L"System.Diagnostics.EventLog.Messages.dll", L"System.Diagnostics.PerformanceCounter.dll", L"System.DirectoryServices.dll", L"System.Drawing.Common.dll", L"System.Drawing.Design.dll", L"System.IO.Packaging.dll", L"System.Printing.dll", L"System.Resources.Extensions.dll", L"System.Security.Cryptography.Pkcs.dll", L"System.Security.Cryptography.ProtectedData.dll", L"System.Security.Cryptography.Xml.dll", L"System.Security.Permissions.dll", L"System.Threading.AccessControl.dll", L"System.Windows.Controls.Ribbon.dll", L"System.Windows.Extensions.dll", L"System.Windows.Forms.Design.dll", L"System.Windows.Forms.Design.Editors.dll", L"System.Windows.Forms.dll", L"System.Windows.Forms.Primitives.dll", L"System.Windows.Input.Manipulations.dll", L"System.Windows.Presentation.dll", L"System.Xaml.dll", L"UIAutomationClient.dll", L"UIAutomationClientSideProviders.dll", L"UIAutomationProvider.dll", L"UIAutomationTypes.dll", L"vcruntime140_cor3.dll", L"WindowsFormsIntegration.dll", L"wpfgfx_cor3.dll" }; #else //ARM64 inline const std::vector dotnetRuntimeFiles = { L"clretwrc.dll", L"clrgc.dll", L"clrjit.dll", L"coreclr.dll", L"dbgshim.dll", L"hostfxr.dll", L"hostpolicy.dll", L"Microsoft.CSharp.dll", L"Microsoft.DiaSymReader.Native.arm64.dll", L"Microsoft.Graphics.Canvas.dll", L"Microsoft.VisualBasic.Core.dll", L"Microsoft.VisualBasic.dll", L"Microsoft.Win32.Primitives.dll", L"Microsoft.Win32.Registry.dll", L"mscordaccore.dll", L"mscordbi.dll", L"mscorlib.dll", L"mscorrc.dll", L"netstandard.dll", L"System.AppContext.dll", L"System.Buffers.dll", L"System.Collections.Concurrent.dll", L"System.Collections.dll", L"System.Collections.Immutable.dll", L"System.Collections.NonGeneric.dll", L"System.Collections.Specialized.dll", L"System.ComponentModel.Annotations.dll", L"System.ComponentModel.DataAnnotations.dll", L"System.ComponentModel.dll", L"System.ComponentModel.EventBasedAsync.dll", L"System.ComponentModel.Primitives.dll", L"System.ComponentModel.TypeConverter.dll", L"System.Configuration.dll", L"System.Console.dll", L"System.Core.dll", L"System.Data.Common.dll", L"System.Data.DataSetExtensions.dll", L"System.Data.dll", L"System.Diagnostics.Contracts.dll", L"System.Diagnostics.Debug.dll", L"System.Diagnostics.DiagnosticSource.dll", L"System.Diagnostics.FileVersionInfo.dll", L"System.Diagnostics.Process.dll", L"System.Diagnostics.StackTrace.dll", L"System.Diagnostics.TextWriterTraceListener.dll", L"System.Diagnostics.Tools.dll", L"System.Diagnostics.TraceSource.dll", L"System.Diagnostics.Tracing.dll", L"System.dll", L"System.Drawing.dll", L"System.Drawing.Primitives.dll", L"System.Dynamic.Runtime.dll", L"System.Formats.Asn1.dll", L"System.Formats.Tar.dll", L"System.Globalization.Calendars.dll", L"System.Globalization.dll", L"System.Globalization.Extensions.dll", L"System.IO.Compression.Brotli.dll", L"System.IO.Compression.dll", L"System.IO.Compression.FileSystem.dll", L"System.IO.Compression.Native.dll", L"System.IO.Compression.ZipFile.dll", L"System.IO.dll", L"System.IO.FileSystem.AccessControl.dll", L"System.IO.FileSystem.dll", L"System.IO.FileSystem.DriveInfo.dll", L"System.IO.FileSystem.Primitives.dll", L"System.IO.FileSystem.Watcher.dll", L"System.IO.IsolatedStorage.dll", L"System.IO.MemoryMappedFiles.dll", L"System.IO.Pipes.AccessControl.dll", L"System.IO.Pipes.dll", L"System.IO.UnmanagedMemoryStream.dll", L"System.Linq.dll", L"System.Linq.Expressions.dll", L"System.Linq.Parallel.dll", L"System.Linq.Queryable.dll", L"System.Memory.dll", L"System.Net.dll", L"System.Net.Http.dll", L"System.Net.Http.Json.dll", L"System.Net.HttpListener.dll", L"System.Net.Mail.dll", L"System.Net.NameResolution.dll", L"System.Net.NetworkInformation.dll", L"System.Net.Ping.dll", L"System.Net.Primitives.dll", L"System.Net.Quic.dll", L"System.Net.Requests.dll", L"System.Net.Security.dll", L"System.Net.ServicePoint.dll", L"System.Net.Sockets.dll", L"System.Net.WebClient.dll", L"System.Net.WebHeaderCollection.dll", L"System.Net.WebProxy.dll", L"System.Net.WebSockets.Client.dll", L"System.Net.WebSockets.dll", L"System.Numerics.dll", L"System.Numerics.Vectors.dll", L"System.ObjectModel.dll", L"System.Private.CoreLib.dll", L"System.Private.DataContractSerialization.dll", L"System.Private.Uri.dll", L"System.Private.Xml.dll", L"System.Private.Xml.Linq.dll", L"System.Reflection.DispatchProxy.dll", L"System.Reflection.dll", L"System.Reflection.Emit.dll", L"System.Reflection.Emit.ILGeneration.dll", L"System.Reflection.Emit.Lightweight.dll", L"System.Reflection.Extensions.dll", L"System.Reflection.Metadata.dll", L"System.Reflection.Primitives.dll", L"System.Reflection.TypeExtensions.dll", L"System.Resources.Reader.dll", L"System.Resources.ResourceManager.dll", L"System.Resources.Writer.dll", L"System.Runtime.CompilerServices.Unsafe.dll", L"System.Runtime.CompilerServices.VisualC.dll", L"System.Runtime.dll", L"System.Runtime.Extensions.dll", L"System.Runtime.Handles.dll", L"System.Runtime.InteropServices.dll", L"System.Runtime.InteropServices.JavaScript.dll", L"System.Runtime.InteropServices.RuntimeInformation.dll", L"System.Runtime.Intrinsics.dll", L"System.Runtime.Loader.dll", L"System.Runtime.Numerics.dll", L"System.Runtime.Serialization.dll", L"System.Runtime.Serialization.Formatters.dll", L"System.Runtime.Serialization.Json.dll", L"System.Runtime.Serialization.Primitives.dll", L"System.Runtime.Serialization.Xml.dll", L"System.Security.AccessControl.dll", L"System.Security.Claims.dll", L"System.Security.Cryptography.dll", L"System.Security.Cryptography.Algorithms.dll", L"System.Security.Cryptography.Cng.dll", L"System.Security.Cryptography.Csp.dll", L"System.Security.Cryptography.Encoding.dll", L"System.Security.Cryptography.OpenSsl.dll", L"System.Security.Cryptography.Primitives.dll", L"System.Security.Cryptography.X509Certificates.dll", L"System.Security.dll", L"System.Security.Principal.dll", L"System.Security.Principal.Windows.dll", L"System.Security.SecureString.dll", L"System.ServiceModel.Web.dll", L"System.ServiceProcess.dll", L"System.Text.Encoding.CodePages.dll", L"System.Text.Encoding.dll", L"System.Text.Encoding.Extensions.dll", L"System.Text.Encodings.Web.dll", L"System.Text.Json.dll", L"System.Text.RegularExpressions.dll", L"System.Threading.Channels.dll", L"System.Threading.dll", L"System.Threading.Overlapped.dll", L"System.Threading.Tasks.Dataflow.dll", L"System.Threading.Tasks.dll", L"System.Threading.Tasks.Extensions.dll", L"System.Threading.Tasks.Parallel.dll", L"System.Threading.Thread.dll", L"System.Threading.ThreadPool.dll", L"System.Threading.Timer.dll", L"System.Transactions.dll", L"System.Transactions.Local.dll", L"System.ValueTuple.dll", L"System.Web.dll", L"System.Web.HttpUtility.dll", L"System.Windows.dll", L"System.Xml.dll", L"System.Xml.Linq.dll", L"System.Xml.ReaderWriter.dll", L"System.Xml.Serialization.dll", L"System.Xml.XDocument.dll", L"System.Xml.XmlDocument.dll", L"System.Xml.XmlSerializer.dll", L"System.Xml.XPath.dll", L"System.Xml.XPath.XDocument.dll" }; inline const std::vector dotnetRuntimeWPFFiles = { L"Accessibility.dll", L"DirectWriteForwarder.dll", L"Microsoft.VisualBasic.Forms.dll", L"Microsoft.Win32.Registry.AccessControl.dll", L"Microsoft.Win32.SystemEvents.dll", L"PenImc_cor3.dll", L"PresentationCore.dll", L"PresentationFramework-SystemCore.dll", L"PresentationFramework-SystemData.dll", L"PresentationFramework-SystemDrawing.dll", L"PresentationFramework-SystemXml.dll", L"PresentationFramework-SystemXmlLinq.dll", L"PresentationFramework.Aero.dll", L"PresentationFramework.Aero2.dll", L"PresentationFramework.AeroLite.dll", L"PresentationFramework.Classic.dll", L"PresentationFramework.dll", L"PresentationFramework.Luna.dll", L"PresentationFramework.Royale.dll", L"PresentationNative_cor3.dll", L"PresentationUI.dll", L"ReachFramework.dll", L"System.CodeDom.dll", L"System.Configuration.ConfigurationManager.dll", L"System.Design.dll", L"System.Diagnostics.EventLog.dll", L"System.Diagnostics.EventLog.Messages.dll", L"System.Diagnostics.PerformanceCounter.dll", L"System.DirectoryServices.dll", L"System.Drawing.Common.dll", L"System.Drawing.Design.dll", L"System.IO.Packaging.dll", L"System.Security.Cryptography.Pkcs.dll", L"System.Security.Cryptography.ProtectedData.dll", L"System.Security.Cryptography.Xml.dll", L"System.Security.Permissions.dll", L"System.Threading.AccessControl.dll", L"System.Windows.Controls.Ribbon.dll", L"System.Windows.Extensions.dll", L"System.Windows.Forms.Design.dll", L"System.Windows.Forms.Design.Editors.dll", L"System.Windows.Forms.dll", L"System.Windows.Forms.Primitives.dll", L"System.Windows.Input.Manipulations.dll", L"System.Windows.Presentation.dll", L"System.Xaml.dll", L"UIAutomationClient.dll", L"UIAutomationClientSideProviders.dll", L"UIAutomationProvider.dll", L"UIAutomationTypes.dll", L"vcruntime140_cor3.dll", L"WindowsFormsIntegration.dll", L"wpfgfx_cor3.dll" }; #endif