TC says that 'everything' is not installed when path exists!

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Stefan2, white, sheep, Hacker

Post Reply
Jivan_Mukta
Junior Member
Junior Member
Posts: 28
Joined: 2013-09-23, 19:25 UTC

TC says that 'everything' is not installed when path exists!

Post by *Jivan_Mukta » 2016-10-14, 22:33 UTC

When I click on the check box 'Everything' before loading it into RAM, TC(32/64) says that 'everything.exe' is not installed (TC message 2041='...') and the box remains unchecked.
At the SAME TIME 'everything.exe' is runninng into the memory on elevated level. Then I reply with 'No' to the message 2041 and click on the check box 'Everything' one more time.
Now I am ready to use fast searching function. :(

Obviously to interpret Everything as 'installed' TC requires something more than right path to everything.exe stored in TC main-ini.

My configuration is Windows 10 RS1 64bit (build 14393.222), TC main ini-file contains:

Code: Select all

[Configuration]
...
Everything=%COMMANDER_PATH%\Everything.exe -startup
UseEverything=1
...
and my %COMMANDER_PATH%\Everything.exe is the latest 1.4.1.771b
(By the way 'UseEverything=' is not mentioned in the History.txt)

This problem does not exist when:
1. TC(32/64) has run as Administrator neither for final nor for any beta version of 'Everything'.
2. TC calls Everything.exe 1.3.4.686 final

In my opinion everything 1.4.1 betas work better than 1.3.4.686 final. So why these restrictions, why this strange behaviour happens?

An important improvement of 1.4.1 is using of two separated everything.ini files (I like it and use it):
a short one in everything.exe dir (%COMMANDER_PATH%), with a content

Code: Select all

; Please make sure Everything is not running before modifying this file.
[Everything]
; settings stored in %APPDATA%\Everything\Everything.ini
app_data=1
run_as_admin=1
and a second in %APPDATA%\Everything\ , together with everything.db.
In this way one can avoid creating everything.db in %COMMANDER_PATH%, which is much better for a portable application.
So there is a reason TC9 to be better adapted to newer 1.4.1 version.

An important note!

Code: Select all

Everything=%COMMANDER_PATH%\Everything.exe -startup -app-data
does not work and this is not a TC-bug but a bug in ALL versions of Everything.exe!

I checked that the following commands don't work even from standard cmd.exe prompt:
Everything.exe -app-data
Everything.exe -admin -app-data
Everything.exe -admin -startup -app-data
I am not sure if the bug with the option '-app-data' appears in the previous Windows versions.

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

Post by *MVV » 2016-10-16, 11:52 UTC

Does your TC installation path contain spaces? If yes, try to quote path to Everything executable:

Code: Select all

Everything="%COMMANDER_PATH%\Everything.exe" -startup

Jivan_Mukta
Junior Member
Junior Member
Posts: 28
Joined: 2013-09-23, 19:25 UTC

Post by *Jivan_Mukta » 2016-10-17, 08:20 UTC

No spaces, %COMMANDER_PATH%=C:\TotalCMD\ . With or without quotes the problem remanins unless you load everything.exe before TC.

Some of my previous statments are not exact and I correct them.

I found a regularity related to both final 1.3.4 and beta 1.4.1 versions

Although the path to 'Everything.exe' exists, TC9(32/64) interprets 'Everything' as 'not installed' when

1. There is an option 'run_as_admin=1' in everything.ini
or
2. In TC main-ini [Configuration]
Everything="%COMMANDER_PATH%\Everything.exe" -startup -admin

In both cases TC is normaly started.

The bad TC massage (code 2041) " 'Everything' isn't installed! Do you want to download it now?" does not appear when
1. TC is run as Administrator.
2. TC is run normally but 'run_as_admin=0'

In all my tests TC9 and 'Everything.exe' run as portable apps ('Everything' is only unzipped EXE into C:\TotalCMD\ )

It seems to me it is an error with process identification.
How is it possible everithing.exe to be loaded into RAM by TC check box and the same time to be 'uninstalled' ?

So TC9 is not yet well adapted to run Everything.exe from the check box in search window.

In my opinion the right behaviour when path to Everything.exe exists is:
When I check 'Everything' in TC search window the only window that may appear is UAC-window.
So behaviour must be the same like running everything.exe from a TC button.

User avatar
Horst.Epp
Power Member
Power Member
Posts: 3000
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp » 2016-10-17, 10:54 UTC

Running Everything as Admin is not necessary and also a security risk.
The best use of Everything is to install it as a service and run it at system start.
This way its always available, there is no UAC and TC can call it regardless of its own mode, with enhanced privileges or normal rights.
Windows 10 x64 Version 1803
April 2018 Update (OS Build 17134.228)
TC 9.21 x64 and x86, Everything 1.4.1.907 (x64)

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36237
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2016-10-17, 14:09 UTC

Sorry, I do not know why you have this problem, I cannot reproduce it. I recommend that you do what Horst.Epp suggests.
Author of Total Commander
http://www.ghisler.com

Jivan_Mukta
Junior Member
Junior Member
Posts: 28
Joined: 2013-09-23, 19:25 UTC

Post by *Jivan_Mukta » 2016-10-17, 14:37 UTC

2Horst.Epp

The only reason to prefer admin option is TC9 portability+Fast search
I'm far from the idea of starting of a service (it also calls UAC) from a portable drive.

But I trust you about better security and the convenience of service mode (I'm not a softwere developer)
So I'm going to use everything.exe -svc

But to save portability should add 'Stop Everything service' in TC-menu or in a button.

Thanks for the advice.

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36237
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2016-10-19, 21:15 UTC

OK, the problem seems to be that "Everything" does not accept connections from normal apps when running elevated. Only the elevated app can grant the non-elevated apps the right to access it.

Therefore you will either need to run TC elevated too, or run "Everything" non-elevated. I recommend the latter: TC can connect to non-elevated "Everything" while running elevated and non-elevated.
Author of Total Commander
http://www.ghisler.com

User avatar
CopyCats
Member
Member
Posts: 194
Joined: 2003-02-05, 13:09 UTC
Location: Netherlands
Contact:

Post by *CopyCats » 2016-12-07, 10:06 UTC

Hi Christian,

On an XP Pro Sp3 32b machine, I see a similar problem with TC 9.0 and Everything 1.3.4.686: I get the 'Everything isn't installed' message even though the Everything service is running.

All circumstances are default, I think:
- Everything is located in a folder of its own.
- It is running as a service (launched at boottime with the -svc parameter)
- No UAC active. Sole user is administrator.
- In everything.ini: run_as_admin=0
- In wincmd.ini: nothing related to Everything

The error goes away when I launch Everything manually (without any command line parameters). At that point, I have the Everything service running and I also have a regular instance of Everything running. The regular instance also puts an icon in the systray.

The error stays away when I close the Everything window using its [x] button (but Everything still shows the systray icon).

The problem reappears when I terminate Everything (the regular instance and its systray icon are gone, but the service is still running).

The problem doesn't bother me (I was just testing Everything, I don't really need it) but maybe something still isn't right. As far as I know, elevated rights do not play a role here.

Best, -Daan-
#5050 :: Everyone who believes in telekinesis, raise my hand!

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36237
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2016-12-07, 16:35 UTC

Sorry, no idea. Could you try the newer 1.4.x version?
Author of Total Commander
http://www.ghisler.com

Roo
Junior Member
Junior Member
Posts: 5
Joined: 2013-05-31, 17:48 UTC

Post by *Roo » 2017-10-21, 01:21 UTC

I have exactly same experience as CopyCats describes. Would be nice if non-elevated TC could pickup the presence of Everything service. Windows 7 64-bit, TC and Everything both portable and both latest. (Everything portable offers to install the service, which is what I did, as I don't care about portability as such, I just like having all files and settings in one location that I choose.)

EDIT: Added "Everything=<path>" manually to wincmd.ini, now TC starts a non-elevated instance and everything works. I guess this is how Everything works anyways, TC or no TC - when the service is installed, you still need to launch Everything to be able to get to the GUI, and then there are two of them in the Task Manager - one elevated and one regular.

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36237
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2017-10-22, 08:38 UTC

Elevated TC can use non-elevated Everything - because TC allows to receive WM_COPYDATA messages from lower Everything.

The reverse isn't possible because Everything does NOT allow access from lower level programs. This would be a single function call in Everything.

Is there a reason why you need to run the Everything tool with admin rights? There should be no need - the service itself does run with admin rights, but the user interface doesn't need to.
Author of Total Commander
http://www.ghisler.com

Post Reply