UseEverythingInstance and Everything options [SOLVED]

Here you can propose new features, make suggestions etc.

Moderators: petermad, Stefan2, white, Hacker

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

Re: UseEverythingInstance and Everything options (split thread)

Post by *ghisler(Author) »

AntonyD has explained it well. I added UseEverythingInstance= to support Everything 1.5 alpha. If you want to use it with your own TC-specific Everything instance, then nothing prevents you from doing that. Only if you want this, and only if you don't run that instance already, you need to specify the instance in the Everything= parameter too.
Author of Total Commander
https://www.ghisler.com
User avatar
AntonyD
Power Member
Power Member
Posts: 2142
Joined: 2006-11-04, 15:30 UTC
Location: Russian Federation

Re: UseEverythingInstance and Everything options (split thread)

Post by *AntonyD »

2ghisler(Author)
If we don't change anything in the logic of the code that handles these two parameters, then at the very least, in the help section, we need to provide more clarity about the purpose of these parameters and about the fact that, in order to work properly with their instances, users must ALWAYS fill in both parameters themselves, specifying the desired instance name in them.

Why is this necessary? Because in the current version of the help, the text describing UseEverythingInstance= contains a very inconvenient caveat.

Code: Select all

UseEverythingInstance=     | Support named "Everything" instances: Started via Everything.exe -instance "somename"
As we can see, the text directly indicates that the instance will be launched with a cmd.line in the format: /Everything.exe -instance "somename"/
However, this sentence does not clarify at all who will execute this command or how it will be executed. For those who read and translate the text, this sentence, in its “expanded version” looks like this: “There is support for named instances of the Everything utility. The required instance of the utility will be launched by Total itself using the following command line: ....."
So, can you see that after the translation there is some assumption or inference of something that is not actually in the text, but without this the translation would not make sense at all? And since we know for sure that there is a parameter Everything=Everything.exe -startup => we immediately combine these entities. And in the end, we get what looks like a complete mess.

And, according to the usual logic, these parameters should only work together.
If only Everything= is specified, then this is the path for running the utility WITHOUT instance support.
And if the UseEverythingInstance= parameter is set, it is always automatically added to all points of interaction with the utility,
including the command line for execution. At that point, instance support becomes fully functional.
#146217 personal license
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 52921
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: UseEverythingInstance and Everything options (split thread)

Post by *ghisler(Author) »

OK, I will add this extra line to the help for UseEverythingInstance:
To launch a separate Everything.exe instance from Total Commander, use the Everything= option with parameters -startup -instance "somename" together with UseEverythingInstance="somename"
Author of Total Commander
https://www.ghisler.com
cmd4ever
Junior Member
Junior Member
Posts: 94
Joined: 2026-03-27, 12:15 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *cmd4ever »

2AntonyD Thank you so much for your input. That's a breath of fresh air.

Meanwhile I felt I was missing something on the 1.5A end of the story. So I started a conversation with M. Carpenter creator of Everything. Nice fellow too btw.

The most compact statement I can say:
The 1.5 overhaul has changed a lot of things including how -instance is dealt with.
In 1.4.1 -instance had implicit instance-specific .ini and .db where 1.5A had to be explicit with all of them: -instance -config -db

Bottom line: If M. 2ghisler(Author) wants to support the Everything "-instance" concept properly, it will need a little more than tweaking the docs.

I seriously doubt stuffing Everything= with all the parameters will insure TC interacts with the proper -instance. To do so in the 1.5A realm, Everything_SetInstanceName() must be set so TC can tell to the Everything server what instance to use when it sends queries. That is assuming TC will use the 1.5 SDK kit.

I can still see a worst case scenario that is not too bleak. (Just sad) I can set and use all my 1.5A instances like I want them to be.
Then for the slow kid, I tailor the default 1.5A settings just for TC so it can make blind calls that will still hit the proper instance even if it is oblivious to the -instance concept. Suits me since TC is the only tools in my box that has some sort of Everything integration.
cmd4ever
Junior Member
Junior Member
Posts: 94
Joined: 2026-03-27, 12:15 UTC

[DELETED]

Post by *cmd4ever »

[DELETED]
Last edited by cmd4ever on 2026-05-05, 21:56 UTC, edited 1 time in total.
User avatar
tuska
Power Member
Power Member
Posts: 4391
Joined: 2007-05-21, 12:17 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *tuska »

ghisler(Author) wrote: 2026-05-04, 10:08 UTC OK, I will add this extra line to the help for UseEverythingInstance:
To launch a separate Everything.exe instance from Total Commander, use the Everything= option with parameters -startup -instance "somename" together with UseEverythingInstance="somename"
Support +++
This should make requests for programme changes such as those made here unnecessary.


Search queries in TC using 'Everything'- point 13.1.a, 13.1.b, 13.1.c, 15.
cmd4ever
Junior Member
Junior Member
Posts: 94
Joined: 2026-03-27, 12:15 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *cmd4ever »

2ghisler(Author) I came ill-equipped when I brought up this -instance discussion and I apologize for it. I didn't expect the level of expertise required to pinpoint what is going on and how the different variables are affecting the conditions (use of multiple -instances, as a service or not, admin or not, process already running or not). I just learned Everything has a debug mode and console. Using that console will help me to understand how TC is interacting with it as far as -instances. But you are the only one who knows what is going on behind the TC scene. I understand that if I want to bring this Instance subject any further, I have to find something unexpected in the Everything console and bring it up to you. Otherwise we are running in circles and I know you have better things to do.

2all I need to be careful where I get my Information from. There is not such thing as Everything_SetInstanceName() in 1.5. That is probably coming from a third party Everything pluggin. So that too, my bad.

Good news, final 1.5 will be fully backward compatible with 1.4.1 calls.

I'm sharing with you the last response from the Author of Everything:

David's response
Hi Simon,

> UseEverythingInstance= Where you put the -Instance name (at least that what I thought)

I'm not sure what TC UseEverythingInstance= is actually doing.
Your setup with the exe path and DedicatedtoTCInstanceName instance makes sense to me.

Check how TC is calling Everything by putting Everything in debug mode and looking at the IPC requests:
In Everything, from the Tools menu, under the Debug submenu, check Console.
Make TC call Everything.
Look in the debug console for IPC requests (in Magenta text)
See if the requests are going to the correct instances.

> Second question: Can you validate what AI is telling me (my goal is to still be able to use "different profiles")?

Just use the 1.4 style, -instance "work"

-config and -db are supported in 1.4 too.
They allow full control over the settings and data filenames.
They are not required when using -instance as -instance will give your settings and data unique filenames based on your instance name.
eg: -instance foo will use Everything-foo.ini and Everything-foo.db

> 3rd question: It looks like Everything_SetInstanceName("name") is new to 1.5A. Where can I find the specs for it?

There's no such function.

> Final question: With the apparent Everything 1.5 overhaul. Will it be backward compatible with ES calls especially when it comes to specify what -instance -config -db to use?

Yes.
Everything 1.4 uses IPC version 2.
Everything 1.5 will support IPC version 2 and adds IPC version 3 support.

Everything 1.5 will be backwards compatible with ES.
ES currently supports both ipc2 and ipc3.
IPC3 is required for extra properties (eg: length, width, etc)
IPC2 is required the basic file information (file size, date modified, etc)

> Final thoughts: If TC was heavily relying on the ES way for 1.4.1 then I hope he will switch to the SDK model. That's up to him.

The 1.5a alpha instance is probably causing greif.
I hope to have a beta soon, which will replace 1.4.1.
You'll be able to drop the 1.5 beta version in and it will behave the same as 1.4.1 as far as the SDK/IPC is concerned.

Regards,
David
----- Original Message -----
Sent: Monday, May 04, 2026 11:15 PM
Subject: Re: voidtools

Hello David,

Thank you so much for your reply. Things are starting to make sense.

I'm pretty sure now TC uses ES and not the SDK.

For a little background story. I'm new to Total Commander and long time Everything customer.
I make extensive use of -Instance. In my understanding this options tells Everything to use Everything-InstanceName.ini and EverythingInstanceName.db (indexes) implicitly.

So I have multiple instances that I run concurrently with different configurations/Index scope-rules

First question: Am I using -instance correctly?

TC has two .ini parameters to deal with Everything.

Everything= where you put the full path of Everything.exe (optionnally can include commandlines)
UseEverythingInstance= Where you put the -Instance name (at least that what I thought)

So when I started to use TotalComander I fed it with
Everything=(...)\Everything.exe (path of my EXE, since I use portable, I thought I would just put the path of the version I want to use ie 1.4 or 1.5a)
UseEverythingInstance=DedicatedtoTCInstanceName (and here I specify which -instance I want "inplicitely" telling which .ini and .db Everything will use for the queries when called by TC)

That's where thinks are falling apart and the argument starts with Christian (TC author)

Christian keeps telling me to try it with Everything 1.5A and put "1.5A" in UseEverythingInstance=
So I stick to: if this is where I was supposed to tell which version I use, then it would have been called UseEverythingVersion=

Second question: Can you validate what AI is telling me (my goal is to still be able to use "different profiles")?
How to replicate your old setup
Old 1.4.1 style (implicit)

Everything.exe -instance work
Everything.exe -instance personal

New 1.5 style (explicit)

Everything.exe -instance work -config work.ini -db work.db
Everything.exe -instance personal -config personal.ini -db personal.db

👉 This is now the correct and reliable pattern

3rd question: It looks like Everything_SetInstanceName("name") is new to 1.5A. Where can I find the specs for it?

Final question: With the apparent Everything 1.5 overhaul. Will it be backward compatible with ES calls especially when it comes to specify what -instance -config -db to use?

Final thoughts: If TC was heavily relying on the ES way for 1.4.1 then I hope he will switch to the SDK model. That's up to him.

Again, thank you so much for your time.

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

Re: UseEverythingInstance and Everything options (split thread)

Post by *Horst.Epp »

2cmd4ever
TC doesn't use or need the Everything ES tool for its integration.
It uses the SDK.
Windows 11 Home, Version 25H2 (OS Build 26200.8524)
TC 11.58 RC2 x64 / x86
Everything 1.5.0.1414b (x64), Everything Toolbar 2.3.0
QAP 12.3 x64
cmd4ever
Junior Member
Junior Member
Posts: 94
Joined: 2026-03-27, 12:15 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *cmd4ever »

Horst.Epp wrote: 2026-05-05, 13:46 UTC 2cmd4ever
TC doesn't use or need the Everything ES tool for its integration.
It uses the SDK.
Thanks good news. That makes proper -instance handling even simplier.

-is the Everything.exe -instance UseEverythingInstance.value running?
If yes use it. (again I think TC does that properly already)
if not TC launch it once ie createprocess Everything=(string) -instance UseEverythingInstance=(string)

If Christian wants us user to fully control what is launched... Well TC just have to stick with Everything=(string) and parse the string for the -instance parameter to make sure TC calls the right one. No need to add confusion with UseEverythingInstance=(string).

Did I read somewhere UseEverythingInstance= was introduced for 1.5A. If so it just make things even more confusing. Since 1.5 will be fully 1.4 backward compatible. Then what makes 1.5A so special in the eye of TC to have its own parameter?
User avatar
tuska
Power Member
Power Member
Posts: 4391
Joined: 2007-05-21, 12:17 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *tuska »

Preview from 22.12.2025 by void (Author):    *** Everything 1.4, 1.5 Alpha, 1.5 Beta, Release version ***
by void (Author)» Mon Dec 22, 2025 wrote: Is it possible to run version 1.4 and 1.5 side by side?

Once Everything 1.5 is in beta, the 1.5a instance will be removed. alpha_instance

You will not be able to run Everything 1.4 and Everything 1.5b side by side by default.
Same applies to the release version.

The Everything 1.5 Service will be renamed to Everything Service once in beta.
It is possible to use a custom instance in Everything 1.4 to install a service with a different name.
eg: Everything-1.4.exe -instance "1.4" will use a service named Everything Service (1.4)
Everything 1.5 will only have one service, which manages all 1.5 instances.
User avatar
AntonyD
Power Member
Power Member
Posts: 2142
Joined: 2006-11-04, 15:30 UTC
Location: Russian Federation

Re: UseEverythingInstance and Everything options (split thread)

Post by *AntonyD »

Did I read somewhere UseEverythingInstance= was introduced for 1.5A. If so it just make things even more confusing. Since 1.5 will be fully 1.4 backward compatible. Then what makes 1.5A so special in the eye of TC to have its own parameter?
Nothing but the point that you can and should now use the name of your instance in BOTH parameters!
Everything=path-to-everything\everything.exe -instance TC -startup
UseEverythingInstance=TC
#146217 personal license
cmd4ever
Junior Member
Junior Member
Posts: 94
Joined: 2026-03-27, 12:15 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *cmd4ever »

Tested TC with Everything 1.4.1

Everything=C:\Program Files\Everything\Everything.exe -instance TC -startup
UseEverythingInstance=TC

I scope the Everything-TC instance to c:\windows only.
Launched myself C:\Program Files\Everything\Everything.exe -instance TC -startup
Searched *.* and only got files within C:\windows\
Everything works.

Tried with CTRL-F via TC (TC launched C:\Program Files\Everything\Everything.exe -instance TC -startup)
Check the Everything box in the search options
And searched both *.* with the default "search in" c:\ path and with an empty "search in"

TC search gave me all files on C:\ ignoring the Everything -Instance TC scope. What am I doing wrong?

Everything.exe -DEBUG is too chatty. I see TC launching it with -instance TC -startup but I couldn't isolate TC queries and tell if it uses the instance or not.
User avatar
AntonyD
Power Member
Power Member
Posts: 2142
Joined: 2006-11-04, 15:30 UTC
Location: Russian Federation

Re: UseEverythingInstance and Everything options (split thread)

Post by *AntonyD »

What am I doing wrong?
Nothing))) Just in opposite - you did a good stress-test!

Obviously that in such test-scenario we should expect the same search results - ONLY objects from C:\Windows
But TC definitely did something wrong here...

Also you can try use/re-test this technique from the help file:
Put "ev:" in front of the search string to pass it to Everything unchanged. You will then have to use the Everything search syntax, see www.voidtools.com.
Put "ed:" in front of the search string: Like "ev:", but search only in the directories specified in the "Search in" field. Also handles "Search in subdirectories" option. This is handled by prefixing path:c:\path and optionally parents:<nr to the entered search string.
#146217 personal license
User avatar
tuska
Power Member
Power Member
Posts: 4391
Joined: 2007-05-21, 12:17 UTC

Re: UseEverythingInstance and Everything options (split thread)

Post by *tuska »

cmd4ever wrote: 2026-05-05, 22:40 UTC Tried with CTRL-F via TC (TC launched C:\Program Files\Everything\Everything.exe -instance TC -startup)
Check the Everything box in the search options
Simply click the "Start search" button in the search bar.
'Everything' will be automatically checked (the display is slightly delayed because Everything is started in the background)
due to the parameter Everything=Path\to\Everything.exe.
cmd4ever wrote: 2026-05-05, 22:40 UTC Tried with CTRL-F via TC (TC launched C:\Program Files\Everything\Everything.exe -instance TC -startup)
And searched both *.* with the default "search in" c:\ path and with an empty "search in"

TC search gave me all files on C:\ ignoring the Everything -Instance TC scope. What am I doing wrong?
How were you able to determine after the search query that the wrong Everything instance was being used?
Or am I misunderstanding something here?

Note:
You can see which instance(s) are currently active and with which parameters they were started in the Task Manager
under Processes > Apps > in the "Command line" column (you may need to show it by right-clicking on a column header,...).

Btw, the search queries, including parameters, examples, and images, are described in detail here, e.g.
1. TC Parameter --> ed:
2. TC Parameter --> ev:
3. RegEx - Regular Expressions
Please see: Search queries in TC using 'Everything'
User avatar
AntonyD
Power Member
Power Member
Posts: 2142
Joined: 2006-11-04, 15:30 UTC
Location: Russian Federation

Re: UseEverythingInstance and Everything options (split thread)

Post by *AntonyD »

How were you able to determine after the search query that the wrong Everything instance was being used?
In fact, under such conditions of the test that cmd4ever did, it raises a completely different question: does Total EXACTLY know
how to call this utility when using both programs in this spec.case with -instance param?
Under the condition that one version/exe/one (unnamed) instance works - as probably happens for many users,
like take at least me/you - yes, the Total works then. BUT these are not the test conditions that we need to check.
#146217 personal license
Post Reply