We’re using your AlwaysUp to run Google Drive for desktop even when no one is logged on. But the install folder keeps changing on update (folder name is the current Google Drive version). After an automatic update, AlwaysUp (obviously) still starts the old version of Google Drive. Is there a solution or workaround for this problem?
— Panzo
Hi Panzo. This is an interesting problem!
Let’s start by outlining the issue.
Why Google Drive Auto-Updates cause trouble for AlwaysUp
Curiously, Google Drive for desktop installs itself to a path that includes the version number of the software.
For example, when we installed Drive for desktop version 51.0.9.0, the executable files were placed in:
While this is fine for Google Drive, it can lead to problems for AlwaysUp. Let’s explain with a real-life scenario:
You install Google Drive for desktop version 51.0.9.0, as pictured above.
Following our tutorial, you configure Google Drive File Stream to run as a service with AlwaysUp. In doing so, you provide the full path to the Google Drive executable to AlwaysUp:
You can see the path here in the “Application” field:
AlwaysUp starts Google Drive at boot and everything runs as expected. You celebrate with some chocolate and move on to one of life’s more pressing problems.
A few weeks later, the Google Drive team issues an update. A new version 51.0.14.0 is available. Eventually, your Google Drive installation “phones home” and automatically updates itself.
Deposits the version 51.0.14.0 files into the new folder.
You will now have two folders containing Google Drive executables:
This is completely fine as far as Google Drive is concerned. However, AlwaysUp still points to the executable in the folder containing the old version. Therefore, whenever your computer reboots, AlwaysUp will launch the outdated version of Google Drive (51.0.9.0). And therein lies the problem.
How to ensure that AlwaysUp launches the latest version of Google Drive for desktop
It turns out that Google has provided an elegant solution that AlwaysUp can leverage too.
The solution starts to take shape when you examine the details of the desktop shortcut that launches Google Drive. Instead of directly targeting the “GoogleDriveFS.exe” binary as we expected, the shortcut runs this batch file in the top-level folder:
When we opened the launch.bat file, the comments at the top made us smile:
Indeed, the code finds and starts the latest version of GoogleDriveFS.exe, interrogating the registry and enumerating sub-folders as necessary. It’s exactly what we were looking for.
So with this script in hand, the solution is simple:
Instead of having AlwaysUp run “GoogleDriveFS.exe”, configure AlwaysUp to start “launch.bat”.
You will make that change in the “Application” field:
And with that change in place, the next time your computer boots:
AlwaysUp will run “launch.bat”
The batch file will start the latest version of Google Drive and exit
AlwaysUp will continue to watch Google Drive and restart it if it fails, etc.
In fact, the sequence played out exactly as expected on our test server:
You will be good to go — no matter how many updates the folks at Google throw at you! 😎
To give you an idea of what to expect, here is a summary of the most impactful changes in this edition of our popular software:
The new Application Advisor will help you add a well-known application — in seconds
Are you looking to run a popular application — like OneDrive, Dropbox or Java — 24/7 as a Windows Service?
After years of refinement, AlwaysUp contains all the tools you need to install your application as a service. However, each application is different and it can be challenging to get all the settings right.
Java must run with a specific command line flag to launch a JAR file;
When running Kibana as a background service, you should probably capture the console output to a log file (to facilitate troubleshooting down the line);
… and more.
In short, it’s virtually impossible for an average user to figure out those quirks on their own!
And while following one of our 140+ step-by-step tutorials helps significantly, even that is not as easy as we would like.
Enter the AlwaysUp Application Advisor, our new wizard component that understands the inner workings of several popular applications. Instead of configuring your application via the generic interface (which features over 50 powerful but complex options), the Advisor interviews you to ask only what is needed. The result is a Windows Service configured with all our recommended settings, in a fraction of the time.
What applications does the Advisor support?
The Advisor can configure these 12 prominent applications:
Dropbox: A popular cloud storage service that lets you save files online and sync them to your devices.
OneDrive: Microsoft’s premier cloud storage service that allows you to sync and share files between your computers and mobile devices.
Batch files: Script files containing a series of commands to be executed by the Windows command-line interpreter.
InfluxDB: A robust, open-source time series database designed to handle high write and query loads.
Java JAR files: Java is a popular cross-platform programming language and application environment supporting millions of devices worldwide.
Kibana: An open source data visualization plugin for Elasticsearch.
Node.js scripts: Node.js is a JavaScript runtime built on Google Chrome’s JavaScript engine.
PHP scripts: PHP is a popular general-purpose scripting language that is especially suited to web development.
Plex Media Server: A global streaming media service and a client–server media player platform.
Python scripts: Python is one of the world’s most popular general-purpose programming languages.
Windows Forms (WinForms) programs: WinForms is a widely-used GUI API included with Microsoft’s .NET Framework.
In future releases, our team will introduce support for other prominent applications covered in our tutorials. Moreover, please be sure to let us know of any programs that you would like the Application Advisor to support sooner rather than later.
How to install OneDrive as a Windows Service
To illustrate how easy it is to use the Application Advisor, here are the steps to add OneDrive to AlwaysUp.
Start the Application Advisor by selecting Advisor from the Application menu:
Click Next to move to the application selector screen.
Select OneDrive from the list:
After gathering OneDrive information from your PC, the Advisor asks you to enter the credentials for the Windows account where you installed OneDrive. Click Next after you have supplied that information:
And on the final step with the Advisor, click Next to move past the summary screen and open the Add Application window with all the recommended settings to run OneDrive 24/7 as a Windows Service.
Next, in the Add Application window, click Save to create your new service:
And finally, now that OneDrive is installed as a service, start OneDrive normally on your desktop and update its preferences as described:
Click Done to complete the process.
To find out more about the Application Advisor, please see pages 38-51 in the AlwaysUp User’s Manual.
To date, AlwaysUp 13 has performed well. We have detected zero incompatibilities. In fact, the entire stable of testing applications (including Dropbox, OneDrive and our home-grown simulators) have performed as well as they did under Windows 10.
Needless to say, we will continue to test AlwaysUp on Windows 11 to maintain 100% compatibility after Microsoft releases the full retail versions on October 5. In short, we’ve got your back!
Other fixes & improvements
Internal logging has been improved. Consequently, the added information should help us diagnose problems and resolve thorny issues quickly.
Customers running versions of Windows configured with the highest levels of security (e.g. Windows SHB) would occasionally run into licensing issues. Our team has resolved these problems.
“splwow64.exe” processes, which are spawned to aid in printing, are now handled and terminated properly when running in the context of a Windows Service.
As usual, please review the release notes for the full list of features, fixes and improvements included in AlwaysUp version 13.
Upgrading to AlwaysUp 13
If you purchased AlwaysUp version 12 (after March 2020), you can upgrade to version 13 for free. Simply download and install “over the top” to preserve your existing applications and all settings. Your registration code will continue to work as well.
If you bought AlwaysUp version 11 or earlier (before March 2020), you will need to upgrade to use version 13. Consequently, please purchase upgrades here — at a 50% discount.
As a member of the Windows Insider program, we’ve had the opportunity to test drive the new operating system for the past couple of months. Our verdict? Windows 11 provides a welcome facelift to Windows 10, while leaving the low-level internals and APIs largely untouched. It’s more evolution than revolution.
Let’s dig into the details of Windows 11 — and investigate how our software performs on the brand new operating system.
General improvements to the user interface, focusing on simplicity, ease of use, and flexibility. This is the “cleanest” and most “Mac-looking” version of Windows to date.
Excellent support for multiple desktops, with large previews and easy switching:
Improved security, with protection against firmware and hardware attacks. In a world besieged by ransomware, phishing, and worse, this is a welcome addition.
Support for moving the taskbar to different locations on the screen (e.g. top, left, or right) has been removed. That was convenient for our team, especially when making screen recordings.
Internet Explorer has been disabled and replaced by Microsoft Edge. Finally! We won’t miss IE around here…
Right-clicking on the taskbar calls up a menu with a single entry — Taskbar settings. We’ll miss the convenience of quickly summoning Task Manager, showing the desktop or effortlessly arranging windows from the Windows 10 taskbar. 🙁
Will Windows 11 run on my computer?
The system requirements for Windows 11 are fairly modest — 2 CPU cores, 4 GM RAM and 64 GB hard drive space. Most modern computers easily meet those thresholds.
To find out if your computer supports TPM, run tpm.msc from a command prompt. Here you can see that our Windows 10 desktop (purchased in 2019) supports TPM version 2.0:
Note that TPM is a requirement for physical hardware, not for virtual machines. We had no trouble installing Windows 11 on a VirtualBox virtual machine, even though TPM is not supported there.
One oddity to watch out for: Windows 11 Home edition requires internet connectivity and a Microsoft account to complete setup on first use. Apparently Microsoft is very keen to bring you into their online ecosystem!
What’s changed for Windows Services?
As far as we can see, Windows 11 does not introduce any changes to the Windows Services API, nor to the service-related tools distributed with the operating system.
And finally, the practical NET and SC commands don’t present any new options either.
Does AlwaysUp run on Windows 11?
Yes.
Other than a minor inaccuracy detecting the operating system version in internal logging components, AlwaysUp version 13.0 (to be released in October 2021) performed perfectly on Win 11.
And over the course of the past 7 weeks, we have run OneDrive, Dropbox, Java and VirtualBox continuously as Windows Services. All have performed flawlessly through multiple reboots, automatic updates, deliberate crashes and other challenging scenarios.
Does Service Protector work well on Windows 11?
Yes.
With the underlying Windows Services architecture remaining intact, we detected no issues running Service Protector 7.0:
What about your other software? Are they all compatible with Win11?
To date, here are the results of our testing on the new operating system:
The only application that did not pass with flying colors is MyFolders. Unfortunately the MyFolders menu is not visible when you right-click in File Explorer! And in order to reveal the MyFolders menu, you must select Show more options:
Afterwards, the familiar menu from Windows 10 will appear and you will be able to interact with MyFolders as normal:
We’ll see if there is a way to eliminate the inconvenience of that extra click.
Best of luck with Windows 11 if (when) you decide to upgrade!
I was looking to use AlwaysUp to run Excel as a service, and it looks like you can specify an account. How is the password stored when specifying an account? I want to make sure it’s stored securely.
— Ben
Good question Ben!
You are right to be concerned about security, especially with deadly ransomware attacks on the rise.
Rest assured that AlwaysUp manages your Windows securely. Here are some of the measures in place to protect your valuable credentials.
AlwaysUp hides your Windows password on the Logon tab
As a first line of defense, the field that captures your Windows password “masks” the characters, showing asterisks (“*”) instead of the characters you type:
By doing so, AlwaysUp does not reveal your password to casual onlookers.
Windows stores your password — not AlwaysUp
Next, and more importantly, AlwaysUp never keeps, tracks or transmits your Windows password after it creates (or updates) a service.
Instead, AlwaysUp hands your password to the Windows Services layer (via the CreateService or ChangeServiceConfig API functions), which stores the password securely. In that way, your password is handled just as safely as it is with the trusted operating system tools, like the Services application.
Specifically, the Service Control Manager — which launches and initializes services — stores the password with LsaStorePrivateData. And when it’s ready to start a service, the SCM calls LsaRetrievePrivateData to retrieve the service’s password. After the initial creation, AlwaysUp is simply not involved.
AlwaysUp doesn’t include your password when you export
As another important security measure, AlwaysUp does not (actually, cannot) include your Windows password when you export your application to an XML file. Instead, you will see ENTER A PASSWORD in the password field:
Because AlwaysUp saves a placeholder instead of your password, you will have to re-enter your password when you import the XML file. However our team thought that was a small inconvenience to avoid leaking a sensitive password.
A note on Excel as a service
Please be sure to follow our tutorial showing how to run Excel 2013 with AlwaysUp. Please heed the comment about automation at the top of the page. Unfortunately, not all Excel functions operate properly in the context of a background Windows Service.
Posted onJuly 19, 2021 (Revised February 21, 2022)
Our build server has a ton of services installed and it takes a while for them to start whenever the machine boots. One of the services doesn’t connect to the database if it starts too soon. When that happens, I have to log in and start it manually. Is there a way to delay the service until the other services are up and running?
— Christos D.
Hi Christos.
After some brainstorming, our team has come up with four potential solutions for you.
Solution #1: Set your Service to “Automatic (Delayed Start)”
The simplest way to delay a service is to adjust when it starts at boot. Instead of starting as soon as possible, you can tell Windows to launch the service about 2 (or more) minutes after boot.
To make that change:
Start the Services utility.
To do so, press the Windows + R keys to open the Run window, and then type services.msc.
Find your service in the list. Double-click its row to open the service’s properties.
In the Startup type field, select Automatic (Delayed Start) from the list:
Click OK to save your change.
Need to wait for longer than 2 minutes?
By default, all “delayed start” services are launched a couple of minutes after boot. Fortunately, that wait time is configurable and you can set it to longer if you like, but that setting applies to all delayed start services. There is simply no way to adjust the wait time of a single delayed start service.
Solution #2: Specify a Dependency between Services
Another option for delaying the start of a service is to mark it as dependent on another service.
To explain, let’s take two services, Service1 and Service2. If Service1 must start before Service2, you would update Service2 to add Service1 as a dependent. You would say that Service2 depends on Service1.
I know that may be a bit confusing, so let’s look at a real-world example.
Microsoft’s “System Events Broker” depends on a couple of services: “Remote Procedure Call (RPC)” and “RPC Endpoint Mapper”. You can see the relationship in the service’s properties (in the Services application):
Because of those dependencies, Windows will always start the two RPC services before launching the “System Events Broker” service.
Note however, there are significant side effects of setting up a dependency relationship between two services.
For example, the screenshot above also shows that “Task Scheduler” depends on “System Events Broker”. As a result of that relationship, stopping “System Events Broker” will stop “Task Scheduler”, as the Services application informs us here:
You see, the dependency relationship is about much more startup sequence. It implies that “System Events Broker” is critical for “Task Scheduler” to operate.
So if you mark your service as dependent on another service, stopping that other service might stop your own. Make sure you’re OK with that.
Solution #3: Launch your service from an “at startup” scheduled task
Instead of having the Windows Services launch your service, you can shift that responsibility to the Windows Task Scheduler. And in doing so, you can introduce a post-boot delay to start the service after your machine settles down.
Here’s how to create a scheduled task that starts your service a few minutes after boot:
Launch the Task Scheduler.
To do so, press the Windows + R keys to open the Run window, and then type taskschd.msc.
On the right, click Create Basic Task to launch the wizard:
Give your task a meaningful name. For example, we’re restarting the Print Spooler service 10 minutes after boot:
Click Next.
For the trigger, choose When the computer starts:
Click Next.
For action, select Start a program:
Click Next.
In the Program/script field, enter NET.EXE.
And in the Add arguments field, enter START followed by the name of your service:
Click Next.
On the summary screen, check the Open the Properties dialog… box. We still need to make a few adjustments to the new scheduled task:
Click Finish to exit the wizard.
In the Properties window that comes up, affirm a couple of options:
Run whether user is logged on or not. Otherwise, your service will only restart when you’re logged on.
Run with highest privileges. Necessary because starting your service likely requires administrative rights.
Switch to the Triggers tab and edit the At startup trigger.
In the Edit Trigger window, check the Delay task for box and enter your delay in minutes. You may have to type the time as not all values appear in the dropdown:
Click OK to save your change.
Back on the Properties window, click OK to close out of the task. You will probably have to enter your password:
And now that you have a scheduled task to start the service when you want, you should prevent the service from trying to start automatically at boot. Open your service’s properties and change the Startup type to Manual:
Finally, please reboot and make sure that your service starts in the expected time frame.
Solution #4 (for AlwaysUp services only): Pause before starting
If your service was created by AlwaysUp, you are able to stall your application via a configuration setting.
To do so:
Edit your application in AlwaysUp.
Switch to the Startup tab.
In the Pause for field, enter a suitable delay in seconds:
Check the But only after a reboot box — to avoid the pause when you start the service/application manually.
Click OK to save your settings.
The next time your computer boots, Windows will start the AlwaysUp service. And, as you instructed, AlwaysUp will pause for a while before launching your application.
Hopefully one of these methods will work in your situation!