IContextMenu::InvokeCommand in a separate thread

We welcome any suggestions for new features or improvements in Altap Salamander. Please post one suggestion per report.
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

IContextMenu::InvokeCommand in a separate thread

Post by crystalidea »

When downloading an .exe (some setup of some app) and running it first time, after starting in Salamander (Windows Explorer) Windows verifies the digital signature, and this verification can take up to 10 seconds (before the actual process will start), during which Salamander simply hangs. Is there a way of improving that?

Thanks
Last edited by crystalidea on 11 May 2014, 09:52, edited 1 time in total.
xm
Posts: 69
Joined: 11 Dec 2007, 11:11

Re: CreateProcess in a separate thread

Post by xm »

+1
I have encountered such long hangs too.
But it usually helps me when I delete the Zone.Identifier ADS of the downloaded exe-file 1st ([ZoneTransfer] ZoneId=3), before I start it.
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Re: CreateProcess in a separate thread

Post by Ether »

Yeah, this is especially noticeable with large files (> ~20 MB).

I believe it's not CreateProcess, but ShellExecute(Ex).

Similar, maybe related, slow-downs:
  • when an icon is being read from the file
  • when the file is being checked by an anti-virus
  • when opening a file in WMP for the first time -- the configuration wizard blocks Salamander
  • when the opened application requests elevation
Ελληνικά rulez.
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

Salamander uses CreateProcess

ShellExecute uses CreateProcess as well
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: CreateProcess in a separate thread

Post by Jan Rysavy »

Salamander is using IContextMenu::InvokeCommand method with default context menu item (for executed file).
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

thanks for the info, anyway, what about this improvement?
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: CreateProcess in a separate thread

Post by Jan Rysavy »

It is interesting idea...
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

Sure, all my ideas are worth their weight in gold :roll:
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

Sometimes it really hangs for 10 seconds, just counted
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

itunes64setup.exe is a good example of very long delay
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

Please, please, please fix this annoying bug.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: CreateProcess in a separate thread

Post by Jan Rysavy »

Isn't it possible to disable this feature in Windows settings?

Running context menu invoke in different thread is not simple with existing Salamander open handler. Actually it is nearly impossible.
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

I don't want to disable digital signature checking (and doubt it's really possible).
Ok, then why not to run IContextMenu::InvokeCommand in a separate (non UI) thread?
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: CreateProcess in a separate thread

Post by Jan Rysavy »

As I said before, it is not easy with open handler we have.

We can consider it if there will be more requests.
User avatar
crystalidea
Posts: 205
Joined: 09 Dec 2005, 15:13
Contact:

Re: CreateProcess in a separate thread

Post by crystalidea »

there won't be any more request for that, most Windows users get used to such crazy things in Windows Explorer.
I do think it's an important usability improvement, threads are our friends :)
Post Reply