[Beta21]Existing FSplugin installation not properly detected

Bug reports will be moved here when the described bug has been fixed

Moderators: white, Hacker, petermad, Stefan2

User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

[Beta21]Existing FSplugin installation not properly detected

Post by *EricB »

I'm running Tc 8.0 beta 21 x32 on W7 Enterprise x64. I installed a new version of VirtualPanel (2.0.5.1205) on top of an existing older version. It was created as a new FS plugin with name Virtual Pane (missing 'l') and the existing version was not detected and thus plainly overwritten. This resulted in two FS entries that point to the same plugin folder.

I tested with some more existing FS plugins and none was properly detected when reinstalling. Normally a dialog is presented that the plugin already exists, overwrite Y/N, but this is not happening anymore. Restart of Windows and TC did not make a difference.

Tested this also in TC 7.57 Final which detected existing plugins without problems.

Seems like the FS plugin detection is broken, at least on my system...

Regards, EricB
User avatar
Bluestar
Senior Member
Senior Member
Posts: 377
Joined: 2007-06-10, 15:26 UTC
Location: Hungary
Contact:

Post by *Bluestar »

I can't reproduce the problem...

PCIDetect wfx was already installed, reinstalled an older version, then a newer version, and in the [FileSystemPlugins] section it appears only once (the same applies to the plugin list inside Total Commander / Plugins). Did the same with VirtualPanel: the name in the list is interestingly "VirtualPane" instead of VirtualPanel (but i guess its something because of the plugin author's choice), but theres only one "VirtualPane" entry in the list.

TC8.0B21 (x32) [no redirections in wincmd.ini], Win7SP1 (x32)
» Developer of Total Updater & extDir utility.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

Bluestar,

Thanks for taking the time to test. It seems that a new name of the FS plugin is only done when it contains a space. I've tried with NokiaFS plugin, which does that too. If the FS plugin has a single name, like PCIDetect, only one entry will be made. The point is that normally the existing plugin installation would be detected and an overwrite dialog would be shown: 'A plugin with this name is already installed in the following directory [name of directory]. Do you want to overwrite it?'. This is now not the case and the overwrite is done without notification. Therefore my conclusion that the FS plugin detection is broken.

Regards, EricB
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Sorry, EricB, it is not a TC bug, it is a Virtual Panel bug (just fixed), FsGetDefRootName returned "Virtual Pane" instead of "Virtual Panel" (wrong string length used) when TC tried to ask default plugin name.
Last edited by MVV on 2012-02-27, 14:17 UTC, edited 1 time in total.
User avatar
Bluestar
Senior Member
Senior Member
Posts: 377
Joined: 2007-06-10, 15:26 UTC
Location: Hungary
Contact:

Post by *Bluestar »

MVV: I think its partially a TC bug too.

Now i can reproduce the problem with the new version of VirtualPanel (v2.0.5.1206), which has been published some minutes ago!

I've entered the zip file, and Total Commander didn't asked to overwrite the installed version of the plugin or not, it automatically did it. Now i can see "Virtual Panel" and "Virtual Pane" in the list, both pointing to the same directory & file.

Screenshot: http://img535.imageshack.us/img535/4277/sshot1ea.png
» Developer of Total Updater & extDir utility.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

2MVV,

Thanks for responding. Seems that the VP issue is resolved then. Still got the problem with other existing plugins that are not detected when installing.

2Bluestar,

Do you also miss the overwrite dialog for plugins that keep the same name (so no new entry is made in [FilesystemsPlugins] in wincmd.ini)?

Regards, EricB
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Bluestar, please try to remove wrong line starting with Virtual Pane and reinstall plugin once again...

I have two VP versions installed in TC and I get overwrite question when I enter any VP distributive (e.g. 1.0.0.820, 1.0.0.904, 2.0.3.1104, 2.0.5.1205, 2.0.5.1206):

Code: Select all

Virtual Panel (debug)=...\Projects\TC_VirtualPanel\Debug\VirtualPanel.wfx
Virtual Panel=D:\TOTALCMD\Plugins\FileSystem\VirtualPanel\VirtualPanel.wfx
TC suggests to overwrite first found plugin with same file name (it may be checked by changing line order).

However I can confirm that TCx64 doesn't detect same plugin name and suggests to install new instance. Probably it searches VirtualPanel.wfx64 in INI instead of just VirtualPanel.wfx. So, steps to reproduce:
1. Start 32-bit TC and install plugin.
2. Run 64-bit TC and try to install same plugin. TC won't detect existing installation.
Last edited by MVV on 2012-02-27, 14:47 UTC, edited 1 time in total.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

MVV,

I removed the Virtual Pane line and did a new VP install. The FS Name is indeed now correct, but I see the same behaviour now as with other plugins: no overwrite dialog and direct overwrite of existing files. Could you test some other FS plugin on your system? It is very well possible that my system is doing the odd stuff, therefore I ask to confirm.

TIA, EricB
User avatar
Bluestar
Senior Member
Senior Member
Posts: 377
Joined: 2007-06-10, 15:26 UTC
Location: Hungary
Contact:

Post by *Bluestar »

2MVV:
After removing the plugin with "Virtual Pane" line i tried to reinstall the newest version of VirtualPanel. TC correctly asked if i want to overwrite the existing plugin or not - after installing the plugin i have only one entry, titled "Virtual Panel".

2EricB:
For plugins with always the same internal name Total Commander always shows me the overwrite confirmation dialog window. It just failed in one case, which i've described above: the old version of the plugin was called "Virtual Pane" while the new is "Virtual Panel" - this way Total Commander thought its not installed, so automatically installed it instead of asking what action should be taken.

I think Total Commander should check not just the (internal) name of installed the plugins, but the plugin's path too - in case a plugin (with any name) exists in the same path the actual plugin installation should be copied, it should show the Overwrite confirmation dialog too.
» Developer of Total Updater & extDir utility.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

Bluestar wrote:I think Total Commander should check not just the installed (internal) name of the plugins, but the plugins path too - if a plugin (with _any_ name) exists in the path the actual plugin installation should be copied, it should show the Overwrite confirmation dialog too.
Agree on that one, also path should be checked.

Bluestar, do you have also TC8 x64 installed? It seems that the overwrite issue I have is maybe because there is also a FileSystemPlugin64 entry in my wincmd.ini; see also MVV's remark in his last post.

Regards, EricB
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Maybe TC asks for overwriting if plugin is loaded at that time? If I try to enter plugin archive with test INI, TC asks to overwrite only if I entered plugin before.

So case 1:
1. Start TC with /i=%temp%\testini1.ini and install plugin (e.g. to %temp%\plugins)
2. Restart TC with same /i=%temp%\testini1.ini.
3. Load plugin (enter its \\\Folder).
4. Try to reinstall it. TC will ask to overwrite.

Case 2:
Same but w/o step 3.

Tested with 32-bit TC.

Bluestar wrote:I think Total Commander should check not just the (internal) name of installed the plugins, but the plugin's path too - in case a plugin (with any name) exists in the same path the actual plugin installation should be copied, it should show the Overwrite confirmation dialog too.
But what if I want to have multiple plugins installed into same folder? And, it seems that TC checks plugin's filename and not any other name.
Last edited by MVV on 2012-02-27, 15:04 UTC, edited 4 times in total.
User avatar
Bluestar
Senior Member
Senior Member
Posts: 377
Joined: 2007-06-10, 15:26 UTC
Location: Hungary
Contact:

Post by *Bluestar »

EricB, unfortunately i cannot check it, because i have only 32-bit Windows at hand...

MVV: I did the described steps, but it doesn't matter if i skip Step 3 or not - TC always shows me the overwrite confirmation dialog in case the plugin already exists in the current path (x86).
MVV wrote:And, it seems that TC checks plugin's filename and not any other name.
You're right, i've explained it the wrong way: TC should overwrite the plugin (as it does now), and delete the existing entry (with the same path & filename) from wincmd.ini (or the according file, in case redirections are turned on) then write the new entry to wincmd.ini with the actual name of the currently installed plugin. You could install multiple plugins to the same folder this way.
Last edited by Bluestar on 2012-02-27, 15:14 UTC, edited 3 times in total.
» Developer of Total Updater & extDir utility.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

MVV wrote:Maybe TC asks for overwriting if plugin is loaded at that time? If I try to enter plugin archive with test INI, TC asks to overwrite only if I entered plugin before.
When I enter plugin archive for the second time, no installation is offered. Therefore I close and restart TC. This implies no plugins loaded. I can confirm your theory: if I open and close the plugin and then install it from archive, the overwrite dialog is displayed! If I use a cm_UnloadPlugins before opening the archive, the overwrite dialog is not displayed. This definitely narrows things down. Good thinking! Since Bluestar does not have the problem on his x32 system, the possibility that the [FileSystemPlugins64] is the origin of the problem is quite likely.

2BlueStar: thanks for your efforts so far.

Regards, EricB
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

EricB, as I wrote above (corrected post), I tested it with TCx32, so both TCx32 and TCx64 act in same way. But stop, my working TC copy (both 32/64-bit) always ask for overwriting, even if plugin is not loaded!

And it is not necessary to restart TC, you may simply enter another archive and then again one with plugin.
User avatar
EricB
Senior Member
Senior Member
Posts: 355
Joined: 2008-03-25, 22:21 UTC
Location: The Netherlands

Post by *EricB »

MVV wrote:EricB, as I wrote above (corrected post), I tested it with TCx32, so both TCx32 and TCx64 act in same way. But stop, my working TC copy (both 32/64-bit) always ask for overwriting, even if plugin is not loaded!
Do you have both TC in same folder, sharing wincmd.ini?

To make sure I do not see any configuration artefacts, I started with clean ini, installed VP, closed, started again with same clean ini and re-entered VP archive: now I get an overwrite dialog.

The problem must be in my TC install: it is portable (UseIniInProgramDir=7), resides in my Dropbox (d:\document\Dropbox\tc8) and I made a junction d:\tc8. Moreover, many sections in wincmd.ini are redirected. This setup might be the culprit then. Further testing needed for pinpointing.
MVV wrote: And it is not necessary to restart TC, you may simply enter another archive and then again one with plugin.
That does not work for me in 8.0 (also not with /i=clean.ini), but checked in 7.57 and there it does the trick.

Edit: 7.57 has the same portable setup as described above, just uses another folder.

Regards, EricB
Post Reply