Closed rostok closed 1 year ago
Current modules folder size is about 2.3 GB. The space is taken mostly by DLL files common to many modules. I estimate that all this can be reduced to about 350 MB just by moving shared libraries to another folder and making symbolic links.
automatic installation
common files: Accessibility.dll clrcompression.dll clretwrc.dll clrgc.dll clrjit.dll ColorCode.Core.dll ColorCode.WinUI.dll CommunityToolkit.Common.dll CommunityToolkit.Mvvm.dll CommunityToolkit.WinUI.dll CommunityToolkit.WinUI.UI.dll CommunityToolkit.WinUI.UI.Controls.Core.dll CommunityToolkit.WinUI.UI.Controls.DataGrid.dll CommunityToolkit.WinUI.UI.Controls.Input.dll CommunityToolkit.WinUI.UI.Controls.Layout.dll CommunityToolkit.WinUI.UI.Controls.Markdown.dll CommunityToolkit.WinUI.UI.Controls.Media.dll CommunityToolkit.WinUI.UI.Controls.Primitives.dll concrt140.dll ControlzEx.dll coreclr.dll CoreMessagingXP.dll D3DCompiler_47_cor3.dll dcompi.dll DirectWriteForwarder.dll dwmcorei.dll DwmSceneI.dll DWriteCore.dll hostfxr.dll hostpolicy.dll Ijwhost.dll marshal.dll Microsoft.CSharp.dll Microsoft.DiaSymReader.Native.amd64.dll Microsoft.DirectManipulation.dll Microsoft.Graphics.Canvas.dll Microsoft.Graphics.Canvas.Interop.dll Microsoft.Graphics.Display.dll Microsoft.InputStateManager.dll Microsoft.InteractiveExperiences.Projection.dll Microsoft.Internal.FrameworkUdk.dll Microsoft.UI.Composition.OSSupport.dll Microsoft.UI.Input.dll Microsoft.UI.Windowing.Core.dll Microsoft.ui.xaml.dll Microsoft.UI.Xaml.Controls.dll Microsoft.UI.Xaml.Internal.dll Microsoft.UI.Xaml.Phone.dll Microsoft.ui.xaml.resources.19h1.dll Microsoft.ui.xaml.resources.common.dll Microsoft.VisualBasic.dll Microsoft.VisualBasic.Core.dll Microsoft.VisualBasic.Forms.dll Microsoft.Web.WebView2.Core.dll Microsoft.Win32.Primitives.dll Microsoft.Win32.Registry.dll Microsoft.Win32.Registry.AccessControl.dll Microsoft.Win32.SystemEvents.dll Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll Microsoft.Windows.ApplicationModel.Resources.dll Microsoft.Windows.ApplicationModel.Resources.Projection.dll Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll Microsoft.Windows.AppLifecycle.Projection.dll Microsoft.Windows.AppNotifications.Builder.Projection.dll Microsoft.Windows.AppNotifications.Projection.dll Microsoft.Windows.PushNotifications.Projection.dll Microsoft.Windows.SDK.NET.dll Microsoft.Windows.Security.AccessControl.Projection.dll Microsoft.Windows.System.Power.Projection.dll Microsoft.Windows.System.Projection.dll Microsoft.Windows.Widgets.dll Microsoft.Windows.Widgets.Projection.dll Microsoft.WindowsAppRuntime.dll Microsoft.WindowsAppRuntime.Bootstrap.dll Microsoft.WindowsAppRuntime.Bootstrap.Net.dll Microsoft.WindowsAppRuntime.Insights.Resource.dll Microsoft.WindowsAppRuntime.Release.Net.dll Microsoft.WinUI.dll Microsoft.Xaml.Behaviors.dll Microsoft.Xaml.Interactions.dll Microsoft.Xaml.Interactivity.dll ModernWpf.dll ModernWpf.Controls.dll MRM.dll mscordaccore.dll mscordbi.dll mscorlib.dll mscorrc.dll msquic.dll msvcp140.dll msvcp140_1.dll msvcp140_2.dll msvcp140_atomic_wait.dll msvcp140_codecvt_ids.dll netstandard.dll NLog.dll PenImc_cor3.dll PowerToys.Common.UI.dll PowerToys.GPOWrapper.dll PowerToys.GPOWrapperProjection.dll PowerToys.Interop.dll PowerToys.ManagedCommon.dll PowerToys.ManagedTelemetry.dll PowerToys.Settings.UI.Lib.dll PresentationCore.dll PresentationFramework.dll PresentationFramework-SystemCore.dll PresentationFramework-SystemData.dll PresentationFramework-SystemDrawing.dll PresentationFramework-SystemXml.dll PresentationFramework-SystemXmlLinq.dll PresentationFramework.Aero.dll PresentationFramework.Aero2.dll PresentationFramework.AeroLite.dll PresentationFramework.Classic.dll PresentationFramework.Luna.dll PresentationFramework.Royale.dll PresentationNative_cor3.dll PresentationUI.dll PushNotificationsLongRunningTask.ProxyStub.dll ReachFramework.dll System.dll System.AppContext.dll System.Buffers.dll System.CodeDom.dll System.Collections.dll System.Collections.Concurrent.dll System.Collections.Immutable.dll System.Collections.NonGeneric.dll System.Collections.Specialized.dll System.ComponentModel.dll System.ComponentModel.Annotations.dll System.ComponentModel.Composition.dll System.ComponentModel.DataAnnotations.dll System.ComponentModel.EventBasedAsync.dll System.ComponentModel.Primitives.dll System.ComponentModel.TypeConverter.dll System.Configuration.dll System.Configuration.ConfigurationManager.dll System.Console.dll System.Core.dll System.Data.dll System.Data.Common.dll System.Data.DataSetExtensions.dll System.Design.dll System.Diagnostics.Contracts.dll System.Diagnostics.Debug.dll System.Diagnostics.DiagnosticSource.dll System.Diagnostics.EventLog.dll System.Diagnostics.EventLog.Messages.dll System.Diagnostics.FileVersionInfo.dll System.Diagnostics.PerformanceCounter.dll System.Diagnostics.Process.dll System.Diagnostics.StackTrace.dll System.Diagnostics.TextWriterTraceListener.dll System.Diagnostics.Tools.dll System.Diagnostics.TraceSource.dll System.Diagnostics.Tracing.dll System.DirectoryServices.dll System.Drawing.dll System.Drawing.Common.dll System.Drawing.Design.dll System.Drawing.Primitives.dll System.Dynamic.Runtime.dll System.Formats.Asn1.dll System.Formats.Tar.dll System.Globalization.dll System.Globalization.Calendars.dll System.Globalization.Extensions.dll System.IO.dll System.IO.Abstractions.dll System.IO.Compression.dll System.IO.Compression.Brotli.dll System.IO.Compression.FileSystem.dll System.IO.Compression.Native.dll System.IO.Compression.ZipFile.dll System.IO.FileSystem.dll System.IO.FileSystem.AccessControl.dll System.IO.FileSystem.DriveInfo.dll System.IO.FileSystem.Primitives.dll System.IO.FileSystem.Watcher.dll System.IO.IsolatedStorage.dll System.IO.MemoryMappedFiles.dll System.IO.Packaging.dll System.IO.Pipes.dll System.IO.Pipes.AccessControl.dll System.IO.UnmanagedMemoryStream.dll System.Linq.dll System.Linq.Expressions.dll System.Linq.Parallel.dll System.Linq.Queryable.dll System.Management.dll System.Memory.dll System.Net.dll System.Net.Http.dll System.Net.Http.Json.dll System.Net.HttpListener.dll System.Net.Mail.dll System.Net.NameResolution.dll System.Net.NetworkInformation.dll System.Net.Ping.dll System.Net.Primitives.dll System.Net.Quic.dll System.Net.Requests.dll System.Net.Security.dll System.Net.ServicePoint.dll System.Net.Sockets.dll System.Net.WebClient.dll System.Net.WebHeaderCollection.dll System.Net.WebProxy.dll System.Net.WebSockets.dll System.Net.WebSockets.Client.dll System.Numerics.dll System.Numerics.Vectors.dll System.ObjectModel.dll System.Printing.dll System.Private.CoreLib.dll System.Private.DataContractSerialization.dll System.Private.Uri.dll System.Private.Xml.dll System.Private.Xml.Linq.dll System.Reactive.dll System.Reflection.dll System.Reflection.DispatchProxy.dll System.Reflection.Emit.dll System.Reflection.Emit.ILGeneration.dll System.Reflection.Emit.Lightweight.dll System.Reflection.Extensions.dll System.Reflection.Metadata.dll System.Reflection.Primitives.dll System.Reflection.TypeExtensions.dll System.Resources.Extensions.dll System.Resources.Reader.dll System.Resources.ResourceManager.dll System.Resources.Writer.dll System.Runtime.dll System.Runtime.CompilerServices.Unsafe.dll System.Runtime.CompilerServices.VisualC.dll System.Runtime.Extensions.dll System.Runtime.Handles.dll System.Runtime.InteropServices.dll System.Runtime.InteropServices.JavaScript.dll System.Runtime.InteropServices.RuntimeInformation.dll System.Runtime.Intrinsics.dll System.Runtime.Loader.dll System.Runtime.Numerics.dll System.Runtime.Serialization.dll System.Runtime.Serialization.Formatters.dll System.Runtime.Serialization.Json.dll System.Runtime.Serialization.Primitives.dll System.Runtime.Serialization.Xml.dll System.Security.dll System.Security.AccessControl.dll System.Security.Claims.dll System.Security.Cryptography.dll System.Security.Cryptography.Algorithms.dll System.Security.Cryptography.Cng.dll System.Security.Cryptography.Csp.dll System.Security.Cryptography.Encoding.dll System.Security.Cryptography.OpenSsl.dll System.Security.Cryptography.Pkcs.dll System.Security.Cryptography.Primitives.dll System.Security.Cryptography.ProtectedData.dll System.Security.Cryptography.X509Certificates.dll System.Security.Cryptography.Xml.dll System.Security.Permissions.dll System.Security.Principal.dll System.Security.Principal.Windows.dll System.Security.SecureString.dll System.ServiceModel.Web.dll System.ServiceProcess.dll System.Text.Encoding.dll System.Text.Encoding.CodePages.dll System.Text.Encoding.Extensions.dll System.Text.Encodings.Web.dll System.Text.Json.dll System.Text.RegularExpressions.dll System.Threading.dll System.Threading.AccessControl.dll System.Threading.Channels.dll System.Threading.Overlapped.dll System.Threading.Tasks.dll System.Threading.Tasks.Dataflow.dll System.Threading.Tasks.Extensions.dll System.Threading.Tasks.Parallel.dll System.Threading.Thread.dll System.Threading.ThreadPool.dll System.Threading.Timer.dll System.Transactions.dll System.Transactions.Local.dll System.ValueTuple.dll System.Web.dll System.Web.HttpUtility.dll System.Windows.dll System.Windows.Controls.Ribbon.dll System.Windows.Extensions.dll System.Windows.Forms.dll System.Windows.Forms.Design.dll System.Windows.Forms.Design.Editors.dll System.Windows.Forms.Primitives.dll System.Windows.Input.Manipulations.dll System.Windows.Presentation.dll System.Xaml.dll System.Xml.dll System.Xml.Linq.dll System.Xml.ReaderWriter.dll System.Xml.Serialization.dll System.Xml.XDocument.dll System.Xml.XmlDocument.dll System.Xml.XmlSerializer.dll System.Xml.XPath.dll System.Xml.XPath.XDocument.dll UIAutomationClient.dll UIAutomationClientSideProviders.dll UIAutomationProvider.dll UIAutomationTypes.dll vcamp140.dll vccorlib140.dll vcomp140.dll vcruntime140.dll vcruntime140_1.dll vcruntime140_cor3.dll WindowsAppSdk.AppxDeploymentExtensions.Desktop.dll WindowsBase.dll WindowsFormsIntegration.dll WinRT.Runtime.dll WinUIEdit.dll WinUIEx.dll wpfgfx_cor3.dll wuceffectsi.dll
Symbolic links are already used but the size is calculated incorrectly. https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/disk-usage-footprint.md
Description of the new feature / enhancement
Current modules folder size is about 2.3 GB. The space is taken mostly by DLL files common to many modules. I estimate that all this can be reduced to about 350 MB just by moving shared libraries to another folder and making symbolic links.
Scenario when this would be used?
automatic installation
Supporting information
common files: Accessibility.dll clrcompression.dll clretwrc.dll clrgc.dll clrjit.dll ColorCode.Core.dll ColorCode.WinUI.dll CommunityToolkit.Common.dll CommunityToolkit.Mvvm.dll CommunityToolkit.WinUI.dll CommunityToolkit.WinUI.UI.dll CommunityToolkit.WinUI.UI.Controls.Core.dll CommunityToolkit.WinUI.UI.Controls.DataGrid.dll CommunityToolkit.WinUI.UI.Controls.Input.dll CommunityToolkit.WinUI.UI.Controls.Layout.dll CommunityToolkit.WinUI.UI.Controls.Markdown.dll CommunityToolkit.WinUI.UI.Controls.Media.dll CommunityToolkit.WinUI.UI.Controls.Primitives.dll concrt140.dll ControlzEx.dll coreclr.dll CoreMessagingXP.dll D3DCompiler_47_cor3.dll dcompi.dll DirectWriteForwarder.dll dwmcorei.dll DwmSceneI.dll DWriteCore.dll hostfxr.dll hostpolicy.dll Ijwhost.dll marshal.dll Microsoft.CSharp.dll Microsoft.DiaSymReader.Native.amd64.dll Microsoft.DirectManipulation.dll Microsoft.Graphics.Canvas.dll Microsoft.Graphics.Canvas.Interop.dll Microsoft.Graphics.Display.dll Microsoft.InputStateManager.dll Microsoft.InteractiveExperiences.Projection.dll Microsoft.Internal.FrameworkUdk.dll Microsoft.UI.Composition.OSSupport.dll Microsoft.UI.Input.dll Microsoft.UI.Windowing.Core.dll Microsoft.ui.xaml.dll Microsoft.UI.Xaml.Controls.dll Microsoft.UI.Xaml.Internal.dll Microsoft.UI.Xaml.Phone.dll Microsoft.ui.xaml.resources.19h1.dll Microsoft.ui.xaml.resources.common.dll Microsoft.VisualBasic.dll Microsoft.VisualBasic.Core.dll Microsoft.VisualBasic.Forms.dll Microsoft.Web.WebView2.Core.dll Microsoft.Win32.Primitives.dll Microsoft.Win32.Registry.dll Microsoft.Win32.Registry.AccessControl.dll Microsoft.Win32.SystemEvents.dll Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll Microsoft.Windows.ApplicationModel.Resources.dll Microsoft.Windows.ApplicationModel.Resources.Projection.dll Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll Microsoft.Windows.AppLifecycle.Projection.dll Microsoft.Windows.AppNotifications.Builder.Projection.dll Microsoft.Windows.AppNotifications.Projection.dll Microsoft.Windows.PushNotifications.Projection.dll Microsoft.Windows.SDK.NET.dll Microsoft.Windows.Security.AccessControl.Projection.dll Microsoft.Windows.System.Power.Projection.dll Microsoft.Windows.System.Projection.dll Microsoft.Windows.Widgets.dll Microsoft.Windows.Widgets.Projection.dll Microsoft.WindowsAppRuntime.dll Microsoft.WindowsAppRuntime.Bootstrap.dll Microsoft.WindowsAppRuntime.Bootstrap.Net.dll Microsoft.WindowsAppRuntime.Insights.Resource.dll Microsoft.WindowsAppRuntime.Release.Net.dll Microsoft.WinUI.dll Microsoft.Xaml.Behaviors.dll Microsoft.Xaml.Interactions.dll Microsoft.Xaml.Interactivity.dll ModernWpf.dll ModernWpf.Controls.dll MRM.dll mscordaccore.dll mscordbi.dll mscorlib.dll mscorrc.dll msquic.dll msvcp140.dll msvcp140_1.dll msvcp140_2.dll msvcp140_atomic_wait.dll msvcp140_codecvt_ids.dll netstandard.dll NLog.dll PenImc_cor3.dll PowerToys.Common.UI.dll PowerToys.GPOWrapper.dll PowerToys.GPOWrapperProjection.dll PowerToys.Interop.dll PowerToys.ManagedCommon.dll PowerToys.ManagedTelemetry.dll PowerToys.Settings.UI.Lib.dll PresentationCore.dll PresentationFramework.dll PresentationFramework-SystemCore.dll PresentationFramework-SystemData.dll PresentationFramework-SystemDrawing.dll PresentationFramework-SystemXml.dll PresentationFramework-SystemXmlLinq.dll PresentationFramework.Aero.dll PresentationFramework.Aero2.dll PresentationFramework.AeroLite.dll PresentationFramework.Classic.dll PresentationFramework.Luna.dll PresentationFramework.Royale.dll PresentationNative_cor3.dll PresentationUI.dll PushNotificationsLongRunningTask.ProxyStub.dll ReachFramework.dll System.dll System.AppContext.dll System.Buffers.dll System.CodeDom.dll System.Collections.dll System.Collections.Concurrent.dll System.Collections.Immutable.dll System.Collections.NonGeneric.dll System.Collections.Specialized.dll System.ComponentModel.dll System.ComponentModel.Annotations.dll System.ComponentModel.Composition.dll System.ComponentModel.DataAnnotations.dll System.ComponentModel.EventBasedAsync.dll System.ComponentModel.Primitives.dll System.ComponentModel.TypeConverter.dll System.Configuration.dll System.Configuration.ConfigurationManager.dll System.Console.dll System.Core.dll System.Data.dll System.Data.Common.dll System.Data.DataSetExtensions.dll System.Design.dll System.Diagnostics.Contracts.dll System.Diagnostics.Debug.dll System.Diagnostics.DiagnosticSource.dll System.Diagnostics.EventLog.dll System.Diagnostics.EventLog.Messages.dll System.Diagnostics.FileVersionInfo.dll System.Diagnostics.PerformanceCounter.dll System.Diagnostics.Process.dll System.Diagnostics.StackTrace.dll System.Diagnostics.TextWriterTraceListener.dll System.Diagnostics.Tools.dll System.Diagnostics.TraceSource.dll System.Diagnostics.Tracing.dll System.DirectoryServices.dll System.Drawing.dll System.Drawing.Common.dll System.Drawing.Design.dll System.Drawing.Primitives.dll System.Dynamic.Runtime.dll System.Formats.Asn1.dll System.Formats.Tar.dll System.Globalization.dll System.Globalization.Calendars.dll System.Globalization.Extensions.dll System.IO.dll System.IO.Abstractions.dll System.IO.Compression.dll System.IO.Compression.Brotli.dll System.IO.Compression.FileSystem.dll System.IO.Compression.Native.dll System.IO.Compression.ZipFile.dll System.IO.FileSystem.dll System.IO.FileSystem.AccessControl.dll System.IO.FileSystem.DriveInfo.dll System.IO.FileSystem.Primitives.dll System.IO.FileSystem.Watcher.dll System.IO.IsolatedStorage.dll System.IO.MemoryMappedFiles.dll System.IO.Packaging.dll System.IO.Pipes.dll System.IO.Pipes.AccessControl.dll System.IO.UnmanagedMemoryStream.dll System.Linq.dll System.Linq.Expressions.dll System.Linq.Parallel.dll System.Linq.Queryable.dll System.Management.dll System.Memory.dll System.Net.dll System.Net.Http.dll System.Net.Http.Json.dll System.Net.HttpListener.dll System.Net.Mail.dll System.Net.NameResolution.dll System.Net.NetworkInformation.dll System.Net.Ping.dll System.Net.Primitives.dll System.Net.Quic.dll System.Net.Requests.dll System.Net.Security.dll System.Net.ServicePoint.dll System.Net.Sockets.dll System.Net.WebClient.dll System.Net.WebHeaderCollection.dll System.Net.WebProxy.dll System.Net.WebSockets.dll System.Net.WebSockets.Client.dll System.Numerics.dll System.Numerics.Vectors.dll System.ObjectModel.dll System.Printing.dll System.Private.CoreLib.dll System.Private.DataContractSerialization.dll System.Private.Uri.dll System.Private.Xml.dll System.Private.Xml.Linq.dll System.Reactive.dll System.Reflection.dll System.Reflection.DispatchProxy.dll System.Reflection.Emit.dll System.Reflection.Emit.ILGeneration.dll System.Reflection.Emit.Lightweight.dll System.Reflection.Extensions.dll System.Reflection.Metadata.dll System.Reflection.Primitives.dll System.Reflection.TypeExtensions.dll System.Resources.Extensions.dll System.Resources.Reader.dll System.Resources.ResourceManager.dll System.Resources.Writer.dll System.Runtime.dll System.Runtime.CompilerServices.Unsafe.dll System.Runtime.CompilerServices.VisualC.dll System.Runtime.Extensions.dll System.Runtime.Handles.dll System.Runtime.InteropServices.dll System.Runtime.InteropServices.JavaScript.dll System.Runtime.InteropServices.RuntimeInformation.dll System.Runtime.Intrinsics.dll System.Runtime.Loader.dll System.Runtime.Numerics.dll System.Runtime.Serialization.dll System.Runtime.Serialization.Formatters.dll System.Runtime.Serialization.Json.dll System.Runtime.Serialization.Primitives.dll System.Runtime.Serialization.Xml.dll System.Security.dll System.Security.AccessControl.dll System.Security.Claims.dll System.Security.Cryptography.dll System.Security.Cryptography.Algorithms.dll System.Security.Cryptography.Cng.dll System.Security.Cryptography.Csp.dll System.Security.Cryptography.Encoding.dll System.Security.Cryptography.OpenSsl.dll System.Security.Cryptography.Pkcs.dll System.Security.Cryptography.Primitives.dll System.Security.Cryptography.ProtectedData.dll System.Security.Cryptography.X509Certificates.dll System.Security.Cryptography.Xml.dll System.Security.Permissions.dll System.Security.Principal.dll System.Security.Principal.Windows.dll System.Security.SecureString.dll System.ServiceModel.Web.dll System.ServiceProcess.dll System.Text.Encoding.dll System.Text.Encoding.CodePages.dll System.Text.Encoding.Extensions.dll System.Text.Encodings.Web.dll System.Text.Json.dll System.Text.RegularExpressions.dll System.Threading.dll System.Threading.AccessControl.dll System.Threading.Channels.dll System.Threading.Overlapped.dll System.Threading.Tasks.dll System.Threading.Tasks.Dataflow.dll System.Threading.Tasks.Extensions.dll System.Threading.Tasks.Parallel.dll System.Threading.Thread.dll System.Threading.ThreadPool.dll System.Threading.Timer.dll System.Transactions.dll System.Transactions.Local.dll System.ValueTuple.dll System.Web.dll System.Web.HttpUtility.dll System.Windows.dll System.Windows.Controls.Ribbon.dll System.Windows.Extensions.dll System.Windows.Forms.dll System.Windows.Forms.Design.dll System.Windows.Forms.Design.Editors.dll System.Windows.Forms.Primitives.dll System.Windows.Input.Manipulations.dll System.Windows.Presentation.dll System.Xaml.dll System.Xml.dll System.Xml.Linq.dll System.Xml.ReaderWriter.dll System.Xml.Serialization.dll System.Xml.XDocument.dll System.Xml.XmlDocument.dll System.Xml.XmlSerializer.dll System.Xml.XPath.dll System.Xml.XPath.XDocument.dll UIAutomationClient.dll UIAutomationClientSideProviders.dll UIAutomationProvider.dll UIAutomationTypes.dll vcamp140.dll vccorlib140.dll vcomp140.dll vcruntime140.dll vcruntime140_1.dll vcruntime140_cor3.dll WindowsAppSdk.AppxDeploymentExtensions.Desktop.dll WindowsBase.dll WindowsFormsIntegration.dll WinRT.Runtime.dll WinUIEdit.dll WinUIEx.dll wpfgfx_cor3.dll wuceffectsi.dll