You have to put your business logic in the dll and only the update logic in exe. Every time you launch the application, it should check for updates. If necessary, it will download new dlls and update its functionality.
By making the dll dynamically load, you don’t even need to restart the application when the update is in progress, if you check for updates, the first thing after running exe.
The process inside exe will be as follows: 1. Run a small exe 2. Check for updates. If necessary, download dll (s) at a specific location for dll (s). 3. Download the dll from this specific location.
Of course, to make it easier to work with it, you should not allow multiple instances, because if you already started working and you start another instance, you will have to handle another thing: you are trying to update, but the files you need to overwrite are necessary .. .
source share