Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 27 posts ] Go to page 1, 2  Next
Author Message
 Post subject: Boot Winstep applications faster?
PostPosted: Sat Jun 04, 2016 2:56 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Nexus, Nexus Ultimate and Winstep Xtreme are the type of applications that you want running all the time. Since they are (part of) your interface to the computer, you also want them to be there available as soon as Windows boots.

A common complain is that the Winstep application takes too long to start when you reboot Windows.

First lets make something absolutely clear: this is not the fault of the Winstep application. In fact, each new version of Windows has been making this problem worse. Why?

Because Windows wants to 'look good' even if it has to make others look bad to accomplish it. It want's users to think each new version of Windows boots faster than the previous, when, in reality, it's only accomplishing this at the expense of all other 3rd party applications.

This is an issue I have been thinking about for some time, even though it does not affect me directly since I always run my machines 24/7.

There is no way to tell Windows that your application should have priority loading over others (everyone would abuse this if there was anyway, which would bring us back to the same situation soon!) but there is indeed a way to make an application run before most other 3rd party applications would.

For the parts that matter to us, startup programs are launched by Windows in the following order after the user logs on (there is a much more detailed breakdown of this process HERE):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Applications set to run at startup normally launch from

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

(this is for applications set to run for all users)

and then from

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Now, here's the trick: the

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce

key is designed to be used primarily by Setup programs to finish setting something up before other applications load. Programs referred to by entries in these key are started once and then the entry is deleted from the key.

What is also special about this key is that Windows runs all programs in it AFTER the user logging in but BEFORE processing the other run keys.

So, by starting the Winstep application from that key instead of the normal Run key, we would in theory be able to run before any of the other applications, thus starting faster.

Now, I'm not the first one to think of this. Adobe did too, with disastrous results. But Adobe did this in the worst possible way: it did not ask permission from the user first, and did this for an application that users do NOT run all the time and some only once in a blue moon (see what I meant above about a feature always being abused?).

This approach also has several problems:

1. We would be using a Windows feature for something other than the original intended use.

2. I haven't run any tests yet, so I don't know how much time would actually be gained. All I know at this point is that we would be running BEFORE other applications.

3. Since the HKLM RunOnce entries are only executed after the user logs-in, I assume that the HKCU branch (Current User entries in the Registry) will already be available too. They need to be so we know when to run and when not to run, as well as have the application settings available to us, of course.

4. Some security applications, such as WinPatrol, prompt the user whenever a new entry is created in the Run registry keys. This is because most malware applications also abuse these keys to try to run every time Windows starts.

So, my idea is to give the user an option. Let's call it 'Speed Loader' in tribute's to Adobe botched attempt. :) 'Speed Loader' would be right next to the 'Run at startup' option. If the user enables 'Speed Loader', from then on Winstep tries to load before other applications as described above.

Making it an option and having it disabled by default puts the choice on the user's hands - which is where it belongs - prevents us from immediately getting into trouble with security software, and, if the user gets prompted by security software, at least he will know WHY he is being prompted.

I don't know, it might just work. What do you think?

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Mon Jun 06, 2016 5:12 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
I rarely reboot, so this wouldn't be very helpful to me, but I can see where it would be useful for regular rebooters.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Mon Jun 06, 2016 7:24 am 
Offline

Joined: Sat Jun 30, 2007 5:00 pm
Posts: 189
I think this would be more beneficial to those using slower systems or running something older than Windows 10. Not sure I would benefit myself, or even really notice for that matter.

_________________
Cheers!

Chuck


Back to top
 Profile  
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Mon Jun 06, 2016 7:38 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Chuck wrote:
I think this would be more beneficial to those using slower systems or running something older than Windows 10.


Actually Windows 10 is the worse of all versions of Windows. And you would be surprised how many people mention this on uninstall surveys.

Personally it ruffles my feathers a bit as the way some talk about it makes it seem as if it is a really big deal. I mean, do people turn their systems off and on so many times per day that this actually matters that much?!

Still, if I figure out a way to do something about it, I might as well. Just don't complain if you enable that 'Fast Boot' option and security software like WinPatrol starts pestering you afterwards. :wink:

Anyway, I've implemented it but haven't tested it yet so I can't say for sure if it works or how much it helps - if any.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Mon Jun 06, 2016 8:30 pm 
Offline
User avatar

Joined: Fri Jan 29, 2016 11:02 am
Posts: 119
Location: Seattle, WA
I don't know. Personally I've not ever experienced slow startups. Like most, I rarely reboot as well, however, when I do, it really doesn't seem like a long time to start. It's within a matter of seconds.

Only thing I can think of for people on older Machines and OS versions, is perhaps that when Winstep starts, doesn't it go through a verify process (even if it's in milliseconds) to check all the links and shortcuts to the target which, I presume, would take some time, if the user has a wildly dispersed array of target locations all over the map?

What I do, is for all my shortcuts to apps and sites on the dock, is simply save shortcuts themselves to a folder in my documents folder. There, I reference the links to the dock and what's done is done.

There are so so many variables though, I understand. Multiple startup items, checking for updates, verifying installation files, etc. Definitely all can take a toll on the processes.

Perhaps another approach would be going into any and all possible app settings to disable automatic updating and or setting them to a more infrequent turn around, say, from daily, to weekly or to monthly.

As well, any other start up items set to start automatically with windows, turn those off, and execute them manually when you do, decide to use them. Like for me, Steam and Uplay can be set to start on auto but those alone take up a lot of loading time and depending on how the Windows decides to execute each in whichever order it chooses, can put Winstep last or in between which again, slows things down.

With older generation processors and perhaps minimal RAM and if the user is using an HDD vs an SSD can all also contribute to the speed and execution processes.

Anytime anyone goes suggesting to anyone altering Registry entries, even for the pros, in all my years as a geek and guru of all things techy, it is just not for the average consumer to be messin' with.

I would suggest, unless the programmers/developers they themselves can implement an option into their software that is tested and tested and tested even more, that say gives the users the option to "Start up this program faster" with a warning that it's going to alter Windows registry entries and to recommend doing a Back up System Restore where, this option will do all the necessary changes itself, but if it does not work, or creates instability of the users OS, they can restore their system and just leave it as is, and deal with the default method of loading and operation.

I know a lot of these things (altering super secret files and entries in the registry) are the only way these awesome hacks and programs are able to run, but I myself would never offer the advice or acknowledgement to changing registry entries to anyone because it too, like Adobe, can have disastrous results and then it all falls back to the original poster who suggested it.

But otherwise, such is life. Still love the program and as I stated, runs well and does what it needs for me.

Cheers


Back to top
 Profile  
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Mon Jun 06, 2016 8:44 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Nutrynion wrote:
I would suggest, unless the programmers/developers they themselves can implement an option into their software that is tested and tested and tested even more, that say gives the users the option to "Start up this program faster" with a warning that it's going to alter Windows registry entries and to recommend doing a Back up System Restore where, this option will do all the necessary changes itself, but if it does not work, or creates instability of the users OS, they can restore their system and just leave it as is, and deal with the default method of loading and operation.


Hold on, I'm not using anything undocumented for this. I'm just using a well known Registry key for a purpose other than the originally intended. And I'm not even doing it by default, the user will have to explicitly select this option.

The problem is that this particularly registry key is sometimes also abused by malware, which creates an entry there so it runs at startup undetected. Because of this, some security software like WinPatrol monitor this key for changes and will alert the user when they detect that a new entry has been added to it.

Other than this, there are no other issues.

Adobe got into trouble because they abused their position: they did this for software that is not necessarily run every time, and they didn't ask the user for permission first.

In my case this is an explicit opt-in user choice, and there is a very strong reason to do this since, being a shell extension, Winstep software really should boot at the same time as the shell.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 6:18 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
I think the people having slow startup are people like me, with a lot of stuff that runs at startup. I don't reboot very often, and I have quite a few programs I like to have running all the time, and I don't do any PC gaming that needs the CPU, and I have ample memory (16 gigs of physical memory), so I just accept a slow system boot.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 6:30 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
You know...? Just tested it with Nexus and... it worked.

The difference is ABISMAL! It's just... 'WOW!'. I mean, *as soon* as you see the Windows Desktop, Nexus is already there waiting for you.

I tested this on a Windows 10 machine booting from two SSDs in RAID 0. Before enabling the 'Fast Boot' setting, the desktop appeared and about 7-10 seconds later (or more) I would see the ESET SmartSecurity splash screen with Nexus finally loading after that.

Now... Seriously, I was expecting to have a hard time noticing any difference, but this, this is just mind blowing!

It wasn't as straightforward as I thought though, I forgot than an application needs to be running with high privileges to write to the HKEY_LOCAL_MACHINE part of the Windows Registry.

But that is what the Winstep Service is for, to do the stuff that requires admin privileges, so I modified the Winstep Service to do this task on behalf of the application.

There is, however, one problem: when launching from HKEY_LOCAL_MACHINE, Windows executes Nexus with high privileges - no good, plus you get that 'Nexus is running with high privileges... blah blah' warning.

I think I might be able to solve this by changing the application's embedded manifest file... hope so. This is well worth it, trust me. Problem is, the only applications normally running from that particular Registry Key are setup applications... which require admin privileges. Lets hope Windows doesn't want to force those on me if I add 'asInvoker' to the manifest file.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 12:45 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
winstep wrote:
There is, however, one problem: when launching from HKEY_LOCAL_MACHINE, Windows executes Nexus with high privileges - no good, plus you get that 'Nexus is running with high privileges... blah blah' warning.

I think I might be able to solve this by changing the application's embedded manifest file... hope so. This is well worth it, trust me. Problem is, the only applications normally running from that particular Registry Key are setup applications... which require admin privileges. Lets hope Windows doesn't want to force those on me if I add 'asInvoker' to the manifest file.


And solved! Ended up not doing it through the embedded manifest file (which I have a nagging suspicion would not have helped anyway) but by figuring out a way to launch a non-elevated application from an elevated application (definitely not as easy as it sounds though!).

I'm still mind blown by how fast Nexus boots on the Windows 10 machine with the 'Enable Fast Boot' option selected.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 3:20 pm 
Offline

Joined: Wed Mar 23, 2016 10:05 am
Posts: 30
I would like to have Nexus load first/sooner as it`s replacing my Quicklaunch and Notification Area.

So the sooner it`s up the better for me.


Back to top
 Profile  
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 4:37 pm 
Offline

Joined: Wed Aug 05, 2009 3:47 pm
Posts: 914
winstep wrote:
And solved! Ended up not doing it through the embedded manifest file (which I have a nagging suspicion would not have helped anyway) but by figuring out a way to launch a non-elevated application from an elevated application (definitely not as easy as it sounds though!).

I'm still mind blown by how fast Nexus boots on the Windows 10 machine with the 'Enable Fast Boot' option selected.


What about Windows 7? Will there be a working feature for that as well?

Until I read this thread I was having some loading issues with Xtreme and started poking around and found what was causing it. To help combat it before I found the problem, I've been using the Startup Manager in the third-party app Wise Care 365 for many months which helped greatly.

What would happen is that WorkShelf, the docks and sometimes the modules would leave a ghost image. The only way that would fix it was to right-click on the desktop > Personalize and click on Dark7 Ultimate2, (that I got via WinCustomize) the theme I use for Explorer that makes it dark so I'm not staring at a white background which is bad for the eyes.

It turned out that another theme was loading that seemed to cause the problem. Once I deleted the other themes that were in the saved area and saved the Dark7 Ultimate2 (I changed the desktop background to the one I've been using for years) I don't have the problem anymore. Xtreme loaded twice as fast it had before.

It's funny how something so seemingly trivial can cause a problem.


Back to top
 Profile  
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Tue Jun 07, 2016 9:20 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Windy wrote:
What about Windows 7? Will there be a working feature for that as well?


This is a universal feature, it will/should work on any of the supported versions of Windows. I just happened to test it first on a Windows 10 machine I have here.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Sat Jun 11, 2016 3:56 pm 
Offline
User avatar

Joined: Fri Mar 19, 2004 1:25 am
Posts: 241
This is very exciting. I tried doing this manually with a really old program called Startup by Mike Lin. I copied the executable command for Extreme into the Run Once location. There were, um, issues :-)
My concern would be if there would be any conflict when there is an actual update triggering at the same time.
Great idea Jorge!


Back to top
 Profile  
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Sat Jun 11, 2016 6:05 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
What kind of issues did you notice?

I know that some security applications (e.g; WinPatrol) shout bloody murder whenever that key gets written to, and also that anything run from there starts elevated (i.e.; with admin privileges).

The latter I already solved, the former is up to the user to choose what he wants.

As for conflicts, there aren't any. The RunOnce key can hold multiple entries.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Boot Winstep applications faster?
PostPosted: Sun Jun 19, 2016 2:16 am 
Offline
User avatar

Joined: Fri Mar 19, 2004 1:25 am
Posts: 241
The issues I had were mainly from UAC. This was quite some time ago with Win7. The program wouldn't run and, I'm sorry, but I don't really remember what the message was, other than it came from the UAC police.
Not an issue anymore anyway :-)


Back to top
 Profile  
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 27 posts ] Go to page 1, 2  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: Google [Bot] and 63 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron