I have four different WPF applications that will be installed on a client's machine using the ClickOnce technique.
Each of these applications includes several common DLLs, such as DevExpress, Material Design, Aspose, and others, with a combined size of approximately 100+ MB.
Currently, each application downloads these common DLLs individually during the ClickOnce installation process. I am interested in creating an architecture resembling my own framework. This framework would be installed separately and would store these common DLLs on the client's machine. All the WPF applications could then utilize these shared DLLs from this common location. This approach aims to reduce the size of my WPF applications during installation, downloading, and automatic updates.
Can anyone guide me on correct direction to achieve this scenario?
Any assistance would be greatly appreciated.
If you are targeting the .NET Framework, you might be able to install your assemblies in the Global Assembly Cache (GAC) on the target machines and exclude them from your ClickOnce applications.
There is no concept of a global assembly cache in .NET Core and later versions of .NET though.