The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Running Multiple Windows Services? AlwaysUp 11 is Here to Help!

Check out what's new in AlwaysUp 11

With all the excitement of a freshly minted high-school graduate, we are pleased to announce the release of AlwaysUp version 11!

This major update maintains laser focus on the software’s singular purpose — running your important applications and programs 24×7, as Windows Services.

But if you are one of the thousands of individuals and companies managing more than a single application, pay attention. These changes may deliver delight. 🙂

Introducing Tags for Applications

You can now associate one or more tags with each application. Tags are specified on the General tab when editing your application:

Adding Tags to a Windows Service

The new “Tags” column on the main window lists all the tags you have assigned to your applications:

AlwaysUp Application Tags

Managing Tags for Multiple Applications

Instead of adding or removing tags from each application individually, you can also update multiple applications at once. To do so, select the applications you would like to change and choose the appropriate operation from the “Application” menu:

AlwaysUp Tags Menu

Selecting Add… brings up the Add Tags window. Enter (or choose) the tags you wish to apply to the selected services and click Next to proceed:

Add Tags to Multiple Services

Remove All summons the Remove Tags window to wipe away all tags from the selected applications:

Remove All Tags from Multiple Services

Filtering the List of Applications

The new Filter Pane allows you to easily filter the list of applications. Select View > Filter Pane (or hit the F3 key) and the new controls will appear underneath the toolbar:

AlwaysUp Filter Pane

The list of applications can be filtered in three ways:

  1. By tag: Select a tag to show only applications with that tag
  2. By text: Type in text to match only applications featuring that text
  3. By disabled/enabled status: Easily exclude applications that have been disabled.

When filtering by text, cells containing the search text will be highlighted:

Filter Pane: Text Highlighting

See More Applications by Hiding List Headers

Screen space is precious when managing 50+ services. To help with that situation, you can now select View > List Headers to hide the attractive (but hefty) panel above the list of applications.

But why stop there! Hide the Toolbar and Status Bar (also via the View menu) to produce a spartan, streamlined look:

Filter Pane: Text Highlighting

Other fixes & improvements

  • Loading the Activity Panel could take several seconds if your Windows Event Logs contained thousands of entries. With AlwaysUp 11, the same process will take less than a second.

  • When capturing your console application’s output to a file, the data is flushed more frequently. This makes the process highly responsive. Long periods of inactivity are handled with greater efficiency as well.

  • To stop a customer running over 80 applications from slapping himself in the head whenever he accidentally selected “Start All” from the “Application” menu, AlwaysUp now confirms some lengthy operations involving more than 5 applications.

  • The setting on the Logon tab to hide the application’s windows in Session 0 (to avoid unwelcome alerts from the Interactive Services Detection service) has been renamed for clarity.

As usual, please review the version history for the full list of features, fixes and improvements included in this release.

Upgrading to AlwaysUp Version 11.0

As per our upgrade policy, if you purchased AlwaysUp version 10 (after January 2017) you can upgrade to version 11.0 for free. Just download and install “over the top” to preserve your existing applications an all settings. Your registration code will continue to work.

If you bought AlwaysUp version 9 or earlier (before January 2017), you will need to upgrade to use version 11.0. Please purchase upgrades here — at a 50% discount.

Enjoy!

Posted in AlwaysUp | Tagged , , | Leave a comment

Manage Your Windows Services with Windows Admin Center

In April 2018, Microsoft released Windows Admin Center (WAC) — a new web-based tool for managing PCs remotely.

With Windows Admin Center, administrators can perform many routine tasks from the browser, including:

  • List all processes on your PC
  • Start a new program or terminate one already running
  • Start, stop or restart any windows service
  • Browse the event logs
  • Navigate the registry
  • Change an account’s password

Check out WAC’s left sidebar to get an idea of what is possible:

Windows Admin Center: Overview

As experts in Windows Services, we were very excited to see what Microsoft is doing in that area! This article highlights the functionality we discovered in the Services section.

Working with Windows Services

When you click Services in the left sidebar, a list of all windows services installed on your computer is displayed on the right. Here we see that there are a whopping 241 services available on our Windows 10 machine!

Windows Admin Center: Services

The ability to search comes in handy when you are looking for a specific service. Type in a few characters to match on the name, display name and description fields:

WAC: Search Windows Services

Select a service from the list to reveal its very basic details in the panel below. Only the service’s name, display name, description and a list of dependent services are shown:

WAC: Windows Service Details

You can start, stop, pause or resume the selected service using the buttons at the top. There is no button to restart the service, but obviously that can be achieved by stopping then starting again.

To show additional details and update the service, click the Settings button at the top. Here is what we see for the important Dhcp service:

WAC: DHCP Service: General Settings

In the General section, you can change the service’s startup mode to dictate when Windows launches the service. Curiously, Automatic (Delayed Start) is not an option!

WAC: No Automatic (Delayed Start) Startup Mode

Microsoft will surely rectify that oversight soon.

Another surprise: You can alter the service’s command line (path to executable)! In that respect, WAC is more powerful than the venerable Services Control Panel application, which shows the image path as read-only.

If you click over to the Log On section, you can set the account in which the service will run. No surprises there:

WAC: DHCP Service: Log On Settings

In the Recovery section, specify one of four actions to be taken if the service fails:

WAC: DHCP Service: Recovery Settings

Note that not all options available in Services.msc are configurable here. For example, you cannot append a fail count to the end of a command line or configure options when restarting the computer:

WAC: Missing Service Recovery Options

Be cautious when changing your service’s recovery settings from WAC!

Installing Windows Admin Center: The Fine Print

While we were clearly able to get WAC up and running, we encountered a few obstacles along the way. We mention them here for future travelers:

  • WAC only runs on Microsoft’s newest operating systems. We had to upgrade our Windows 10 machine to Build 1709 (the lone desktop OS supported).

    Windows 10 Build 1709
  • WAC has only been tested with the Microsoft Edge and Google Chrome browsers on Windows 10. Firefox fanatics and Safari supporters may be out of luck.

  • If you have trouble with authentication, make sure that the WinRM service is running. Despite being configured to start automatically, that service wasn’t running and we had to start it manually on our PC.

    Run NET START WinRM to do the honors.

  • After we added our PC to the list and tried to connect, WAC repeatedly told us that our credentials weren’t valid. We tried several accounts (all with admin access) to no avail.

    The problem? Our PC is in a Workgroup instead of a Domain and we’re not using the builtin admin account. Fortunately we came across this page which advised us to run this magical command (verbatim) from an elevated prompt:

    REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1

  • Check out the full list of admin center troubleshooting tips if you run into anything else.

Enjoy!

Posted in Windows Services | Tagged , , , | Leave a comment

Q & A: What Setting will Help AlwaysUp Start my App at Boot?

Q & A - Restart Windows
  I’m running on Windows Server 2016. I have noticed on my most recent install that AlwaysUp doesn’t start at boot, I have to do an interactive/RDP login and then open the AlwaysUp GUI to have the services started. Is there any setting that I need to change to make this happen please?

— Robert

Hi Robert. There could be many reasons why a generic Windows Service doesn’t start at boot. But when AlwaysUp is involved, the failure is usually because your service/application is trying to start too soon. Here are a couple of reasons why:

  1. Your application depends on a Windows Service

    System software will often be deployed as a windows service. Notable examples include the Apache web server, the MySQL relational database and the Redis memory store.

    If your application depends on a service, then you should configure the dependency on the Startup tab. Check the Ensure that the following services have started box and select your service from the list below:

    Set Dependent Services in AlwaysUp

    However, this setting may not work as expected. While it ensures that the critical service has started before AlwaysUp launches your application, there is no guarantee that the service will actually be ready.

    For example, suppose the Redis service takes a minute to initialize before connections are accepted. If your application tries to start before those 60 seconds have elapsed, it will fail to connect to Redis and will likely crash or exit with an error.

  2. You are running AlwaysUp on a Domain Controller (DC)

    Let’s say that your machine is a Domain Controller and you have specified a domain account on the AlwaysUp Logon tab. If Windows tries to kick off AlwaysUp before the DC is fully ready, the AlwaysUp service will fail to start because it can’t log in. You will see a cryptic message like this in the Windows/Application section of the Event Log:

    Windows Service Logon Failure

    To resolve this scenario, add a dependency on the “Workstation” service on the AlwaysUp Startup tab. Some customers have had success with that change but it hasn’t worked for others.

General Solution: Delayed Startup on Boot

Irrespective of the underlying problem, many customers have profited from a simple solution: delaying the startup of your AlwaysUp application. Your application is very likely to start properly once it avoids the “mad rush” of programs straining to start as your PC comes alive.

To delay startup, choose the Automatically, but shortly after the computer boots option on the General tab:

Delay startup on boot in AlwaysUp

With that modification, your application will start 1-2 minutes after your computer boots — when all critical components should be happily running.

Hopefully this easy change will do the trick. Please be sure to get in touch if the problem persists!

Posted in AlwaysUp | Tagged , , , | Leave a comment

Q&A: Can I Run Multiple Instances of OneDrive?

Q & A - OneDrive
  I have tried AlwaysUp to let OneDrive run as a service. Everything works perfectly, but is it possible to create multiple OneDrive services? I have tried it and when I start the second service event logs suggest that the application crashed.

— Bernhard

Hi Bernhard. Here is what we have learned from experimenting with Microsoft OneDrive on our Windows Server 2016 machine:

You can run multiple copies of OneDrive on your PC

We created two user accounts and installed OneDrive in each. Setup went smoothly and both users were able to start OneDrive normally. Here you can see the two copies of the executable running in the Task Manager:

Two OneDrive Processes Running

Next, we installed OneDrive as a windows service in one of the accounts. That arrangement worked fine as well, with a copy of OneDrive.exe running in the isolated Session 0 and another in a regular, interactive login session (#3):

OneDrive Running in Session 0

Note that we had to turn off the “Stop all copies…” setting on the AlwaysUp Startup tab (to avoid terminating the non-service copy):

AlwaysUp Startup Tab - No stop copies

But you cannot run multiple copies of OneDrive in one Login Session

When we setup both users to run OneDrive as a windows service, the first copy started but the second one failed. AlwaysUp kept trying to launch OneDrive, but it simply refused to start:

OneDrive Fails to Start

It seems that multiple copies of OneDrive won’t run in Session 0.

Removing AlwaysUp from the equation, we see the same behavior in a regular login session. The first instance of OneDrive started fine, with the usual “clouds” tray icon showing up on the taskbar. However, when we launched a second copy:

  • A new OneDrive.exe process appeared in Task Manager (in the Details/Advanced tab)
  • A File Explorer window opened, listing the contents of our OneDrive folder
  • The new process exited, disappearing from Task Manager

It is very likely that the second copy of OneDrive, on detecting an instance already operating in the same session, sent an “activate yourself” message to the first before promptly quitting. As far as we can tell, this is how the folks at Microsoft have designed OneDrive to work. There is no way around it.

So no, you will not be able to run multiple copies of OneDrive as windows services in Session 0 with AlwaysUp. 🙁

However, all may not be lost, because…

You can run a single OneDrive with two cloud accounts

Instead of running two copies of the OneDrive application, you may be able to serve two online accounts with a single instance of OneDrive.

To set up a second account:

  • Right-click the OneDrive task tray icon ()and select Settings

  • In the window that appears, move to the Account tab

  • Click the Add an account button

  • Sign in to OneDrive with the email address and password of your second online account:

    Add a Second Account
  • Click OK to dismiss the settings window and save your changes.

You should now see two OneDrive cloud icons in your task tray. And when you start OneDrive as a windows service with AlwaysUp, both accounts should be synchronized.

We hope this solution works for you!

Posted in AlwaysUp | Tagged , , , , | Leave a comment

Wondering if Your Legacy Desktop Application Will Work as a Windows Service? Answer These 3 Questions to Find Out

3 Questions

Does your old (but important) desktop application need to run all the time?

Should it start immediately after a reboot, even when no one is there to log on and kick it off?

If so, you should consider installing your program as a Windows Service — the technology Microsoft invented to support mission-critical, 24×7 applications. Use a “service wrapper” (like our AlwaysUp) to install your application as a service in 5-10 minutes.

But not all legacy applications will operate smoothly when installed as a service. Here are three questions you should ask to determine if a windows service is a good fit for your situation:

  1. Do you need to see (or interact with) your program while it’s running?

    Windows services run in the background. Any windows displayed by a service appear on a “hidden desktop” called Session 0. When your legacy application is running as a service, you will not see its windows on your own desktop.

    As a consequence, it doesn’t make much sense to run an intensively interactive application (like a word processor) as a windows service. Indeed, any application that demands your constant attention will be a poor fit. Does yours?

    But if you only need to see your application from time to time, a service may still be an option because you can quickly switch to the Session 0 desktop whenever you need to see your application.

    For example, when running Apple’s iTunes as a windows service, here is what the Session 0 desktop looks like:

    iTunes as a Windows Service in Session 0

    Even though there is no taskbar and the usual desktop icons have vanished, we can interact with iTunes just fine in Session 0. For example, we were able to add tracks to iTunes, create a playlist, and even change settings — just as we would if iTunes was running on our regular desktop.

    (The only exception is on Windows 10 and Windows 2016, where a particularly annoying bug will prevent you from moving the mouse and keyboard in Session 0. Come on Microsoft! Please fix this defect soon.)

    So is occasionally switching to Session 0 good enough for your situation? If not, you should rule out a windows service.

  2. Will your application occasionally prompt for input?

    An application that periodically pops up windows and expects you to respond can be a problem when installed as a windows service. Those popups/windows will appear on the Session 0 desktop — effectively hidden from you. You will not know that your program is stuck waiting for you to enter a password or click the OK button!

    So a “needy” application is not a great candidate for running in the background as a windows service. Does your legacy application fit the mold?

    However, if you only have to get past one or two prompts, our AlwaysUp service wrapper may provide an elegant solution. Simply write an automation script that dismisses the prompt and plug the script into AlwaysUp. This page dives into the details.

    For example, when launching iTunes as a service, this error message is the first to appear:

    iTunes Startup Error

    Clicking the “X” in the title bar will expel the window and allow iTunes to start. To achieve the same effect when no one is around to click, we provided this simple one-line script (which sends the “ESC” key to the iTunes window) to AlwaysUp. Now AlwaysUp automatically dismisses the warning on our behalf whenever it appears!

  3. Does your application read from or write to files on a network drive?

    Like a regular application, a windows service can access remote/network devices. Permissions are granted based on the account running the service.

    However, a service can’t use a mapped drive — at least not without some extra work to explicitly map the drive letter.

    Mapping a Network Drive

    So if your legacy application references network files via their full UNC path (like “\\ServerName\ShareName\Path”) it will be fine as a windows service. But if your program uses files via a mapped drive (like “J:\Path”, where J is mapped to “\\ServerName\ShareName\”), a service may not be in your future.

    Mapped drives may not be an issue when using AlwaysUp though. Most drives will be mapped and available to your application if you check the “Attempt to automatically reconnect all network drives” box on the Startup tab when configuring your application.

Next step? Try it yourself!

If none of these questions have ruled out your legacy/desktop application, you should go ahead and try it as a windows service. Any service wrapper (like AlwaysUp) will do the trick in a few minutes. What have you got to lose?

Posted in Windows Services | Tagged , , , | Leave a comment