The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Q&A: Can my Legacy Application Read Network Drives when Run as a Service?

Q & A - Accessing Network Shares from Windows Services
  I am evaluating AlwaysUp. I have a legacy application which must run as a local user. I can get it to run as a service using AlwaysUp.

The application works with parameters. These point to a domain folder (eg. \\MyServer\Data1\). There is an obvious contradiction on one hand, running an application as a local machine user, and on the other hand, trying to access a domain folder. Wondering if there is any way AlwaysUp can accommodate this?

I have mapped a drive from the local user to the network folder and cached credentials. This works. Only problem is cached credentials sometimes expire.

— David

Hi David.

Since your application must run as a local user, you should specify the account on AlwaysUp’s Logon tab:

Enter your Windows account on the Logon tab

Please enter the username and password for a user that has logged in and run your application successfully — likely the account you are logged into now.

With that account in place, AlwaysUp will run your legacy application in the context of that user. Your program will be able to read from and write to any files that the account has permission to access.

However, as you point out, using drive letters can be tricky. Beyond cached/saved credentials, drive mappings may not be automatically applied when you login as a service. For example, that “P” drive you see in Windows Explorer may not be available to your program running as a Windows Service.

Fortunately, AlwaysUp can usually re-create your drive mappings. Check the Attempt to automatically reconnect all network drives option on the Extras tab to enable that feature:

Automatically reconnect network drives

But as the text implies, automatically reconnecting doesn’t work in all situations. Sometimes a password is required.

To totally sidestep the issues of drive letters when running as a service, we recommend using UNC paths instead of mapped drives whenever possible. Since your account has permissions to the underlying resource, that shouldn’t pose a problem.

Will your application accept a UNC path? Please test to find out.

Troubleshooting network/mapped drives (and other issues)

By the way, launching the command line interactively as a Windows Service through AlwaysUp will give you the opportunity to experiment with your application as a service.

For example, you can try to:

  • Change the directory (CD) to the UNC path and confirm that the files are accessible

  • Run the full command to launch your legacy application with UNC path parameters. If it fails, you may have a permissions issue. Look to your application’s log files for clues.

Best of luck with your legacy program/service! Please get in touch if you have any other questions.

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

Q&A: Can I Activate/Register AlwaysUp Without an Internet Connection?

Q & A - No Internet
  My company is interested in your AlwaysUp software. We would like to implement it in computers which are not connected to the Internet. These computers can’t be connected to the Internet, not even for a few minutes.

Is it possible to activate the license without the Internet?

— Florian

Hi Florian.

The machine running AlwaysUp does not need to be connected to the Internet to register the software. Your situation is perfectly fine, and we have many customers running AlwaysUp on isolated computers.

However you will need to access the Internet from another machine, to complete the online registration process. Here is an overview of the procedure.

How to activate AlwaysUp on your offline computer

To register your installation of AlwaysUp, you will:

  1. Get the AlwaysUp-generated serial number from the isolated machine running your application/Windows Service.

    AlwaysUp Serial Number
  2. Switch over to a computer connected to the Internet. Find the email we sent thanking you for your purchase and click the Manage your order button to visit your order page in your web browser:

    Your AlwaysUp Order Page
  3. Click the Assign a license to a computer button. Enter the serial number you collected in step 1 (along with a brief description of your installation/machine):

    Assign your AlwaysUp License
  4. Click the Go to Step 2 button to proceed and generate your registration code. Copy that code.

    Assign your AlwaysUp License
  5. Return to your AlwaysUp machine and type in the registration code:

    Enter the Registration Code

    AlwaysUp will confirm that it is registered and you will be good to go!

    AlwaysUp successfully registered

And once registered, AlwaysUp will not use the Internet — unless you have configured email alerts, or you manually invoke the “check for updates” functionality.

Hope this makes sense! Please get in touch if you have any other questions.

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


Q & A: What is the Status of my Backup and Sync Windows Service?

Q & A - Backup and Sync status
  I’m trialing your product for running Google Backup and Sync as a service. Is there any way to see what is the update status? All I see is the option to click the info and see how long the service has been running.

— Sharon

Hi Sharon.

Unfortunately, no — there is no way for you to see exactly what Backup and Sync is doing through AlwaysUp.

This is because AlwaysUp is a generic “application runner” designed to launch any program as a service.

Once it launches your application, AlwaysUp will monitor the new process for:

  • Excessive CPU usage
  • High memory consumption
  • Crashes
  • Hangs
  • Error messages
  • Popup windows

You can see some of these details by clicking the green “Running” circle on your application’s entry in AlwaysUp:

Googledrivesync.exe process information

The list above contains almost everything AlwaysUp knows. Beyond those generic items, AlwaysUp has no specific knowledge of the application it is running.

In your particular situation, AlwaysUp hasn’t a clue what Backup and Sync is supposed to do, and it doesn’t know how to check the status of the file synchronization. AlwaysUp doesn’t even know what file synchronization is! 🙂

But while you won’t get help from AlwaysUp, there are other ways to see what Backup and Sync is up to…

3 ways to check the status of Backup and Sync

1.  Check Backup and Sync’s tray icon

The easiest way to tell what Backup and Sync is doing is to activate its tray icon (). A helpful window will pop up to show you recent notifications and activity:

Backup and Sync tray icon activity

But there is a problem. When Backup and Sync runs as a Windows Service, it operates in the background (on the isolated Session 0) and cannot display its trusty tray icon on your desktop.

You have a couple of options to see the tray icon.

First, you can stop Backup and Sync in AlwaysUp and run it normally on your desktop. If you don’t have a desktop or quicklaunch icon, you can start Backup and Sync by double-clicking this file:

C:\Program Files\Google\Drive\googledrivesync.exe

Once you are done with the tray icon, exit Backup and Sync and return to AlwaysUp to restart the 24/7 service.

Or you could select Application > Restart “Googledrivesync” in this session to have AlwaysUp restart Backup and Sync on your desktop:

Restart Googledrivesync in this session

The tray icon will appear in a few seconds.

2.  Check file synchronization activity on the Google Drive website

If you don’t want to interrupt Backup and Sync on your computer, you can inspect Google Drive’s activity online.

To see a list of recent uploads and other events:

  1. Open your web browser and go to https://drive.google.com

  2. On the left, click My Drive.

  3. In the upper right, click the information icon to reveal the right panel

  4. In the right panel, Click Activity

    Google Drive activity

Watch out for new (or updated) files on your PC’s hard drive that are don’t show up in the activity stream. Those documents have not been uploaded to the cloud.

3.  Dig into the local synchronization log file

Backup and Sync tracks its activities in a text file. You can find the file in your AppData folder:

C:\Users\USERNAME\AppData\Local\Google\Drive\user_default\sync_log.log

Be warned: the content is very technical!

The purpose of the file is to help Google’s engineers diagnose defects — not to give the rest of us a friendly view of file synchronization.

Nevertheless, we have found file useful in a couple of scenarios:

  1. To verify that Backup and Sync is doing anything at all. If nothing is logged in response to file and folder changes, the software may be dead.

  2. To see if Backup and Sync has recognized a new file. In this scenario, open the log and search for the new file by name.

    For example, this log entry suggests that Backup and Sync has identified and is about to upload our “AlwaysUpUserManual-March-2019.pdf” document:

    sync_log.log activity

The log file contains other goodies for the technically inclined…

Happy synchronizing!

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

Why Should I Buy AlwaysUp Instead of Writing My Own Windows Service?

Why Buy AlwaysUp Instead of Writing my own Windows Service?

AlwaysUp was created to solve a simple problem. How do you make an existing executable run all the time, despite reboots, crashes and other annoying interruptions?

To solve the problem, AlwaysUp leverages Microsoft’s technology of choice for 24/7 operation — the Windows Service. A service typically starts at boot and chugs away, uninterrupted, while your computer is on.

More specifically, AlwaysUp is a service wrapper.

When you configure your application with AlwaysUp, a true/native Windows Service is installed. And when that service is run, AlwaysUp intercepts the calls from the Windows Service Control Manager (SCM) and passes them on to your program.

But the service wrapper approach is not the only way to solve the problem of 24/7 operation. Why not roll up your sleeves and write some C#, VB.Net or C++ code to make your application itself a Windows Service?

You should certainly entertain that option — especially if you are an experienced developer with access to your application’s source code. However, here are five questions to consider before going down that road:

1.  Do you have the time to build a first-rate solution?

Use your time wisely

Does your organization employ a competent, professional development team? If so, they should be smart enough to develop a Windows Service. After all, it’s not rocket science.

But how long will it take your team to create a solution that you and your business will be proud of?

To be successful, you and your team must:

  1. Learn the Windows Services architecture

  2. Write the initial/prototype code (in C#, VB.Net or C++)

  3. Harden the new code for production use (focusing on security, 24/7 reliability, logging, etc.)

  4. Test/certify the code on all current variations of Windows (including Windows 10, 8, 8.1, 7 and Windows Server 2019, 2016, 2012, 2012 R2, 2008, 2008 R2)

As you know, producing great software is not trivial — especially when commercial deadlines are involved!

AlwaysUp costs money but it is ready right now. Not next week, not next month — today.

2.  Is coding a Windows Service the best way to spend your limited development resources?

Be true to your business priorities

Even if converting your application into a Windows Service is important, it is probably one of many high-priority items on your ambitious feature list. Might any of the other projects yield a higher ROI?

The days (and weeks) spent learning the Windows Services API and crafting secure, robust code that works flawlessly on all versions of Windows won’t come for free. What other features could your developers be implementing during that time?

What high-priority work will you have to delay as your developers dive into the wild world of Windows Services?

Be mindful of lost opportunities as you deviate from your core competencies.

3.  Are you willing to continue investing in your Windows Services custom code?

This article on software maintenance highlights the dominant cost of custom software over time — ongoing maintenance.

Software Total Cost of Ownership (TCO)

First, there will be the inevitable bugs in your new code. It will take time and effort to identify and eliminate those self-inflicted problems as your code matures.

But beyond the home-grown defects, every patch from Microsoft brings the risk of “breakage”.

For example, Windows 10 build 1803 crippled access to Session 0. This was a seismic event for some legacy software, which can no longer show a GUI on that version of the OS.

The sad truth is that developers operate in an environment of constant change — not always for the better.

Of course, AlwaysUp is subject to the same shifting sands. We too can be caught off guard by the little “surprises” that the folks in Redmond occasionally deliver.

But we are experts in Windows Services. And our team tests each major release of Windows before it available to the general public.

That expertise and vigilance enables us to identify and solve problems very quickly — before our customers become aware of them.

As a result, AlwaysUp is rock solid. When you deploy AlwaysUp, you automatically benefit from 15 years of commercial operation and more than 80,000 installations on physical and virtual machines across the globe.

4.  Do you need failure protection? Email notifications? Advanced Windows Service features?

Do you need advanced Windows Service features?

Converting your application into a Windows Service is a great step forward, but AlwaysUp offers much more — to get you to 100% uptime.

For example, AlwaysUp can:

  • Recycle your application if it hangs, uses too much memory or hogs the CPU

  • Restart your application once per day, to cure memory leaks and keep things “fresh”

  • Notify you if your application crashes, hangs or stops

  • Send you a weekly report showing application uptime, performance, errors, etc.

  • Capture console output to a file

You won’t need all those features on day one, but having them available will provide peace of mind as you contemplate serving a wide range of customers.

5.  Are you lacking expertise in Windows Services?

We're here to help

When you buy AlwaysUp, you get much more than software alone.

You get a knowledgeable, professional support team that has been working with Windows Services for over 15 years. A team that will help you resolve those thorny customer problems — quickly and efficiently.

You will receive help and support:

  • Online (through our up-to-date FAQ, Blog, etc.)

  • Via email

  • On the telephone (toll free in the USA)

Whatever combination works best for you!

Posted in AlwaysUp | Tagged , , | Leave a comment