Installer: Install update over running instance without closing of its tools started as separate processes

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Re: Installer: Install update over running instance without closing its separate process tools

Post by *DrShark »

Usher wrote: 2021-04-10, 11:15 UTCAs you know, there may be other files involved - TC dlls, plugins or other files called by plugins. Some of them are out of TC control, so such an approach is NOT safe.
Installer doesn't try to overwrite the files of plugins and other 3rd party programs, so it's not a problem. It only overwrites own files, so only their rename may be needed, and not all of them: usually main program exe and 2-3 additional files are in use.

Additional problem is that the installer closes the processes of other TC installations (where the intaller is not making overwrite attempts anyway).

Well, it's OK if the approach to solve this which I suggested isn't going to be implemented in TC's own installer, but what about additional updater tool which could install TC from official installer this way?
I see it as a window to which user can drag&drop official installer exe (or pass its name as a parameter for this tool), and input filed where to set the target installation path, with following tweak options:
[x] Close only processes of main Total Commander windows which belong to instance in target path
[x] Don't close Total Commander processes from different installation locations
and the Install button, after pressing which it will detect in the target path the locked files which names match filenames from official installer by the mask "*.* | *.bar *.ini *.br2 tcignore.txt", rename that locked files to something like "originalname_inuse(x).exe", and then unpack from official installer's INSTALL.CAB the files by that mask to target folder (of course it should unpack not dirs /e/ or /d/ from of the .cab, but files from it to the tagrget folder). The tool won't kill any TC's process unless tweak options are configured for this ([x] Close only processes of main Total Commander will make it kill processes of originsal TC exe but only those where main TC window is opened, and if the option "[x] Don't close Total Commander processes from different installation locations" is NOT checked, it will make update close all the processes of Total Commander instances installed in locations different from targert installation path).
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Post Reply