.NET Application Update

Today I debugged a problem deleted by the client, and instead of creating a new installation and sending it to him, I just compiled the DLL, made sure that the version information was identical to the one that I installed, and replaced the old dll with the one I had just I built it on my machine (supported it just in case), and everything seemed to be in order, with the added benefit of a more detailed logging, which I added.

My question is, does the fix software work this way? Or is this what I did is very dangerous? If this is not a good way to do this, what will be the best way to fix our future bug fix software?

+4
source share
4 answers

The idea behind the fix is ​​to modify an existing product installation. How do you do this: swapping files, using binary diff, etc. Not important.

How you made your update in order; except that it does not scale. If the version information is the same, you need to manually track which binary files were installed by your client, instead of fixing it in the "About" dialog box.

In addition, many archives of archives of development stores that are sent to the client, and therefore, how do you archive this configuration?

Not a huge deal, but it becomes a pain as you support more customers.

+3
source

No, that's not bad - in fact, DLLs should work that way. As long as you don’t violate the ABI or API (you just added a record, this is cool), you should be able to replace the contents below and restart the program.

In addition, from a legal point of view, LGPL will not work without it. (One of the provisions of the license is that the user can replace your copy of the library with the one they create / provide / find.)

Perhaps you are thinking of a β€œfix with a hex editor,” where you modify the binary without recompiling it. This is more dangerous.

+3
source

Well, technically this could be done, but in practice you are likely to lose a lot of clients, each of which has different binaries that do not differ even in version number.

Morever, if you are fixing a mistake, perhaps you should somehow update all the clients. I think it would be better to find a solution based on frequent releases and self-updating features for the application.

+1
source

Some version numbers consist of four parts:

Main, Small, Assembly and Revision.

This revision will be used for product updates that fix security patches or other serious issues. Firefox will be one example.

With your approach, you did not seem to use revision and used the same major, minor, and string numbers as the previous one. Adding a version to a version number can make it easier to determine which product versions have been patched.

+1
source

All Articles