[Solved] Using Named Pipes to talk to the service

If you are experiencing problems with "Everything", post here for assistance.
Post Reply
NotNull
Posts: 5167
Joined: Wed May 24, 2017 9:22 pm

[Solved] Using Named Pipes to talk to the service

Post by NotNull »

I'm trying to run an extra instance of Everything.
According to documentation, it should be possible to let this instance talk to an already running Everythin Service, using named pipes.

I can see that the "Everything Service" named pipe is available, but whatever variation of the suggestions I try (un-scaping \, quoting the pipe, using \Device\NamedPipe\Everything Service, .. , I cant make this instance talk to the service (NTFS indexes: Access denied message when running as a restricted user).
Tested with Everything v877 and v885 @Win10 1709 (all 64 bit)

How can I make this work?
Last edited by NotNull on Mon Apr 09, 2018 9:51 am, edited 1 time in total.
void
Developer
Posts: 15096
Joined: Fri Oct 16, 2009 11:31 pm

Re: Using Named Pipes to talk to the service

Post by void »

Please make sure the service is running for the un-named instance of Everything.

Please try the following pipe name:
\\.\PIPE\Everything Service

If you wish to run the service with a named instance of Everything and have all your clients connect to that, use the following pipe format:
\\\\.\\PIPE\\Everything Service (<instance name>)

where <instance name> is the instance name.

The ini option to change the pipe name is:
http://www.voidtools.com/support/everyt ... _pipe_name
NotNull
Posts: 5167
Joined: Wed May 24, 2017 9:22 pm

Re: Using Named Pipes to talk to the service

Post by NotNull »

EDIT:
Never mind. Got it working. Made the same typing error 3 times in a row :(
The right INI syntax is:

Code: Select all

service_pipe_name=\\.\PIPE\Everything Service


Ignore everything after this ...


I probably didn't explain myself very well in the first post, so here is another take on the issue, from a different angle:


In a "normal" running Everything - restricted user, running Everything Service - the GUI makes use of the default named pipe, called Everything Service to talk to the Everything service:

Code: Select all

C:\Tools>pipelist64.exe

PipeList v1.02 - Lists open named pipes
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Pipe Name                                    Instances       Max Instances
---------                                    ---------       -------------
InitShutdown                                      3               -1
lsass                                             4               -1
ntsvcs                                            3               -1
W32TIME_ALT                                       3               -1
Everything Service                                1               -1
(shortened output of Pipelist64.exe. Note that these instances are different from Everything instances)

In Everything.ini, you can define the named pipe to talk through. When it's not defined in the INI

Code: Select all

service_pipe_name=
, it will use the default: \\.\PIPE\Everything Service


But when specifying the named pipe in the INI, like this:

Code: Select all

service_pipe_name=\\\\.\\PIPE\\Everything Service
or this:

Code: Select all

service_pipe_name=\\.\PIPE\Everything Service
Everything is not able to use the named pipe to talk to the service.
At least, that is my conclusion based on the fact that updates to the filesystem are no longer detected and this Accesss denied message:
2018-04-09 10_37_43-Everything Options.png
2018-04-09 10_37_43-Everything Options.png (18.02 KiB) Viewed 6550 times

How do I define the named pipe in Everything.ini?
tuska
Posts: 908
Joined: Thu Jul 13, 2017 9:14 am

Re: [Solved] Using Named Pipes to talk to the service

Post by tuska »

Hi,
I also would be interested in accessing the "Everything Service" of the first instance from a second Everything instance.
Unfortunately I did not succeed despite many attempts.

Everything.exe -instance "PRIVATE" ... would require: "Install the 'Everything service' " ... I do not want to install a second "Everything Service".
Everything-PRIVAT.db and Everything-PRIVAT.ini have already been created.

The following examples do not work for me:

Code: Select all

Everything.exe -instance "PRIVAT" -service-pipe-name "\\\\.\\PIPE\\Everything Service"
Everything.exe -instance "PRIVAT" service-pipe-name "\\\\.\\PIPE\\Everything Service"
Everything.exe -instance "PRIVAT" -service-pipe-name "\\.\PIPE\Everything"
Everything.exe -instance "PRIVAT" service-pipe-name "\\.\PIPE\Everything"
Everything.exe -service-pipe-name "\\.\PIPE\Everything" (PRIVAT)
Everything.exe -service-pipe-name \\\\.\\PIPE\\Everything Service (PRIVAT)
Everything.exe -service-pipe-name "\\\\.\\PIPE\\Everything Service" (PRIVAT)
Everything.exe -service-pipe-name "\\\\.\\PIPE\\Everything Service (PRIVAT)"
http://www.voidtools.com/support/everyt ... instances/
https://www.voidtools.com/support/every ... s/#service
http://www.voidtools.com/support/everyt ... -pipe-name
http://www.voidtools.com/support/everyt ... _pipe_name

How and with which parameters would I have to start the instance "PRIVAT" so that I can use the existing "Everything Service"?

Regards
Karl

Everything Version 1.4.1.903 (x64)
Windows 10 Pro (x64) Version 1803 (OS build 17134.81)
NotNull
Posts: 5167
Joined: Wed May 24, 2017 9:22 pm

Re: [Solved] Using Named Pipes to talk to the service

Post by NotNull »

tuska wrote: How and with which parameters would I have to start the instance "PRIVAT" so that I can use the existing "Everything Service"?
I know of 2 ways to make this work:
Option 1: Run 2 commands

Code: Select all

Everything.exe -instance "PRIVAT" -service-pipe-name "\\.\PIPE\Everything Service"
Everything.exe -instance "PRIVAT"
The first command creates the INI and DB, but doesn't start Everything
The second command starts the Everything instance (and reads the configured named pipe from the INI

Option 2: pre-configure INI
- Create a very minimal Everything-PRIVAT.ini:

Code: Select all

[Everything]
service_pipe_name=\\.\PIPE\Everything Service
- Run command:

Code: Select all

Everything.exe -instance "PRIVAT"
EDIT: You used both PRIVAT and PRIVATE for the instance name. I used PRIVAT (IIRC you are German)
tuska
Posts: 908
Joined: Thu Jul 13, 2017 9:14 am

Re: [Solved] Using Named Pipes to talk to the service

Post by tuska »

2NotNull
Thanks a lot!

I tested both options - both work for me!

Currently I am still trying to find out why the instance "PRIVAT" in the status line shows me about 4000 entries more than in the main instance.
Filter is switched off. (At first I copied the Everything.ini over the Everything-PRIVAT.ini).

EDIT:
After recreating the index ("Force Rebuild") on both instances, the number of entries is the same.
NotNull
Posts: 5167
Joined: Wed May 24, 2017 9:22 pm

Re: [Solved] Using Named Pipes to talk to the service

Post by NotNull »

You're welcome :D
tuska wrote: Currently I am still trying to find out why the instance "PRIVAT" in the status line shows me about 4000 entries more than in the main instance.
Filter is switched off. (At first I copied the Everything.ini over the Everything-PRIVAT.ini).
Do you mean you are using the same INI (minus the named-pipe entry) for the 'normal' and the PRIVAT instance and found that this results in different indexes? That is unexpected!
The only thing I can think of causing this, is an off-line removable disk that was indexed once in the 'normal' Everything.
tuska
Posts: 908
Joined: Thu Jul 13, 2017 9:14 am

Re: [Solved] Using Named Pipes to talk to the service

Post by tuska »

I edited my entry above a few minutes ago - our entries have overlapped.
I tricked myself :roll:
NotNull
Posts: 5167
Joined: Wed May 24, 2017 9:22 pm

Re: [Solved] Using Named Pipes to talk to the service

Post by NotNull »

tuska wrote:I edited my entry above a few minutes ago - our entries have overlapped.
I tricked myself :roll:
So 'everything' is good now?

BTW: Upon re-reading, I misread your message: you had more entries in your PRIVAT instance vs your regular Everything. I read it the other way around ...
tuska
Posts: 908
Joined: Thu Jul 13, 2017 9:14 am

Re: [Solved] Using Named Pipes to talk to the service

Post by tuska »

NotNull wrote:So 'everything' is good now?
Yes, thanks to your support everything works fine now.
Post Reply