FYI - TC Chocolatey packages

English support forum

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

FYI - TC Chocolatey packages

Post by *majkinetor ! »

FYI, I created chocolatey packages for selection of TC plugins for which license allows such type of distribution. There is also a ready to use Powershell script for automation of TC configuration and plugin installation which makes adding new TC plugins as packages trivial. Everything is open sourced.
With chocolatey installed, you can for example do the following:

Code: Select all

choco install totalcommander
choco install tcp-shelldetails
More info here:
Habemus majkam!
User avatar
nsp
Power Member
Power Member
Posts: 1951
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: FYI - TC Chocolatey packages

Post by *nsp »

Hi Majkinetor,

Does this script can handle multiple TC installation on the same computer ?
i.e different TC main folder and different inifiles ?

I do not use chocolatey to install application due to outdated version and sometime no way to choose destination folder and update policy.
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Re: FYI - TC Chocolatey packages

Post by *majkinetor ! »

I do not use chocolatey to install application due to outdated version
Regarding TC, versions are always up to date, the same goes for any other package that is in the core repo. The situation is generally much better then for any other FOSS repositry including mainstream linux ones. You can verify that by looking into the Versions sectiton on each particular package, for example TC:
The packages I am involved in maintaining are checked for updates automatically multiple times per day (not true for all choco packages).
sometime no way to choose destination folder and update policy
Yes, because chocolatey is intented for automatic and unattended installations and in majority of cases you don't need to change defaults. This is the same as on linux. However, that said, default install dir can be chanaged one way or another. Regarding TC, there is package param InstallPath. Regarding plugins, the install location can be set with $Env:COMMANDER_PLUGINS_PATH.
Does this script can handle multiple TC installation on the same computer ?
No, this is far from typical usecase. The main purpose of choco packages is to get up and running quickly on new and ad hoc machines. For example, you can install TC along with ~15 plugins and keep them up to date with single command (or automatically) via:

Code: Select all

cinst totalcommander tcp
tcp is special virtual package that depends on bunch of TC plugins (or you can cherry pick to your liking) so it makes kind of living TC distribution. There is also a custom minimal config you can choose to start with. That is my personal config, and you can trivially easy make your own one in this way.

Anyway, its possible to support multiple TC versions in the future.
and update policy.
There is no "update policy". You update manually using cup command (choco update), for example:

Code: Select all

cup totalcommander tcp-shelldetails
will bring both to latest versions. `cup all` updates all packages on your system.
I personally keep those TC plugin packages updated and also anybody can help with that (PR or issue on my github repo or via chocolatey message to maintainer or in discuss comments). Other plugin devs or users can also choose this method to distribute plugins.

The difference from this place and other TC plugin locations , among other things are:
  • Experience is repeatable and tested on many different machines and OSes, along with virus totall check
  • You have all versions of the packages that are ever published and can revert quickly to any one with --version parameter when installing package.
  • Packages cant dissapear even if chocolatey goes down completelly. They are completelly offline, don't depend on upstream vendors and are cached on multiple places on the Internet
  • There is added benefit that this all works identically with Double Commander or without file managers at all (as plugin manager) for people that don't want to use propriatery sotware and want cross-platform experience
Example with version

Code: Select all

cinst    tcp-cloud                              # install latest version
cinst    tcp-cloud --version=2.10 --force       # it doesn't work, revert to previous one
cuninst  tcp-cloud                              # it still doesn't work, remove it completelly
I hope that clears it up. In short, this system is designed to make multiple machines contain given TC setups instantlly in reliable manner.
If anybody needs some help publishing TC plugins and configurations this way, feel free to ask.
Habemus majkam!
Post Reply