{"id":6277,"date":"2019-05-12T00:36:24","date_gmt":"2019-05-12T00:36:24","guid":{"rendered":"http:\/\/www.hexacorn.com\/blog\/?p=6277"},"modified":"2019-05-12T00:37:15","modified_gmt":"2019-05-12T00:37:15","slug":"total-commander-plugins-their-automated-installation","status":"publish","type":"post","link":"https:\/\/www.hexacorn.com\/blog\/2019\/05\/12\/total-commander-plugins-their-automated-installation\/","title":{"rendered":"Total Commander Plugins &#038; Their Automated Installation"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.ghisler.com\/\">Total Commander<\/a> (TC) and its Plug-ins are floating on the internet for a veeeery long time. As such, most of what I describe below is most likely known to many people. However, as it is with everything, it&#8217;s always good to just describe stuff from a DF\/IR angle, especially to ppl who never used or came across this  program itself or a very specific subset of its features. <\/p>\n\n\n\n<p>And since this post is about TC, I must say for the millionth time that if you use Windows Explorer as your goto File Manager you are hurting yourself a lot. Once you try TC, FAR, or any type of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Orthodox_file_manager#Orthodox_file_managers\">Orthodox File Managers<\/a>, there is no way back. It&#8217;s worth every single eurocent you have to pay for it. Btw. I am not paid to endorse this software, I just love it and recommend it to anyone who wants to be more efficient.<\/p>\n\n\n\n<p>Like many other popular programs TC supports plug-ins. There are many of these, they are often pretty cool and they add a lot of extra features to this awesome program e.g. handling of additional file types, direct access to Registry, additional archiving options, etc. Some examples can be found <a href=\"https:\/\/www.ghisler.com\/plugins.htm\">here<\/a>. The page I linked to also includes a number of .chm files (search for a &#8216;guide&#8217; keyword) that describe how to build your own plug-ins.<\/p>\n\n\n\n<p>The topic of this post is not TC or its plug-ins coding though. At least not directly.<\/p>\n\n\n\n<p>What I want to mention is this: the plug-ins support a mechanism that author of TC calls a &#8216;Plugins Automated Installation&#8217;. The idea is pretty straightforward &#8211; any common archive that TC opens\/sees that has the &#8216;pluginst.inf&#8217; file present inside the archive will make TC recognize the file as a possible TC Plug-in. This is actually a very handy auto-install method and I personally used it a number of times in the past.<\/p>\n\n\n\n<p>When one opens such archive in TC, the following windows may appear:<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><a href=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_1.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_1.png\" alt=\"\" class=\"wp-image-6278\" width=\"365\" height=\"153\" srcset=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_1.png 486w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_1-300x126.png 300w\" sizes=\"(max-width: 365px) 100vw, 365px\" \/><\/a><\/figure>\n\n\n\n<p>Or<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><a href=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_2.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_2.png\" alt=\"\" class=\"wp-image-6279\" width=\"354\" height=\"153\" srcset=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_2.png 472w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2019\/04\/tcp_2-300x130.png 300w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/a><\/figure>\n\n\n\n<p>These messages come from the pluginst.inf file itself.  The structure of the file is like any other standard .ini file, plus it needs these section bits to be defined:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[plugininstall]<br>description = description in English<br>description&lt;lngcode&gt; = description in the language identified by &lt;lngcode&gt;<br>type=&lt;type&gt;<br>file=&lt;filename&gt;<br>defaultdir=&lt;path&gt;<br>defaultextension=&lt;extension&gt;<\/pre>\n\n\n\n<p>The type determines what plug-in it is. The available types are: wcx, wfx, wlx or wdx  or lng. Additionally the plug-ins may include files with a .mnu or .bar file extension + various misc. files that support its work.<\/p>\n\n\n\n<p>Here&#8217;s a quick break down of what these file extensions are associated with:<\/p>\n\n\n\n<ul><li>WCX &#8211; New Archive formats. <\/li><li>WDX &#8211; New columns (properties) for items. <\/li><li>WLX &#8211; Lister plug-ins<\/li><li>WFX &#8211; New file systems (e.g. extX)<\/li><li>LNG &#8211; Language files<\/li><li>MNU + BAR + INI &#8211; Menu files<\/li><li><\/li><\/ul>\n\n\n\n<p>That&#8217;s it really. <\/p>\n\n\n\n<p>While interaction is required to install these, it&#8217;s always better to be safe than sorry. For this reason, it is perhaps worth blocking these file extensions on the email gateway. I actually added them to my old post about <a href=\"https:\/\/www.hexacorn.com\/blog\/2019\/02\/11\/file-extensions-of-interest\/\">file extensions of interest<\/a> for exactly this reason. <\/p>\n\n\n\n<p>It is also a handy way to use the presence of pluginst.inf inside the compressed files (note: doesn&#8217;t need to be .zip; 7z works too!) to properly identify archive file subtype. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Total Commander (TC) and its Plug-ins are floating on the internet for a veeeery long time. As such, most of what I describe below is most likely known to many people. However, as it is with everything, it&#8217;s always good &hellip; <a href=\"https:\/\/www.hexacorn.com\/blog\/2019\/05\/12\/total-commander-plugins-their-automated-installation\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[39,21,19,9],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6277"}],"collection":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/comments?post=6277"}],"version-history":[{"count":5,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6277\/revisions"}],"predecessor-version":[{"id":6311,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6277\/revisions\/6311"}],"wp:attachment":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/media?parent=6277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/categories?post=6277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/tags?post=6277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}