The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Q & A: How do I Prevent Multiple Alpha Application Servers from Running?

Q & A - Avoid Multiple Copies
  I am using AlwaysUp to control my Alpha Anywhere Application Server. I have noticed that if I go to Task Manager that I would sometimes have more than one instance of AlphaFive running under processes. Would you perhaps have any idea how to prevent this?

— John, TM Software

Hi John. We have a couple of recommendations:

1.  Have AlwaysUp stop all other copies of Alpha

First, since you only want a single copy of Alpha Anywhere Application Server running at any time, you should check these boxes on the Startup tab:

AlwaysUp Startup tab - Stop all copies

With those options enabled, AlwaysUp will perform the following steps whenever it determines that Alpha needs to be started:

  1. Scan the system’s processes for all instances of A5ApplicationServer.exe, the Alpha Anywhere Application Server executable.

  2. If any matching processes are found:

    1. Attempt to stop each one gracefully

    2. Wait a few seconds for them all to exit

    3. Forcibly terminate any that remain

  3. Launch Alpha server, as configured.

This process guarantees that the instance of Alpha Anywhere launched by AlwaysUp will be the only one running — ensuring that your web server gets all the ports (and other resources) it needs at startup.

But while this approach effectively “clears the stage” for AlwaysUp, it will not prevent a second instance of Alpha from starting after the AlwaysUp-controlled instance is running. You may still see multiple copies of Alpha in Task Manager.

This brings us to our second recommendation…

2.  Don’t start Alpha automatically outside of AlwaysUp

Is Alpha Anywhere Server being started outside of AlwaysUp? In particular:

Since you have AlwaysUp managing Alpha server as a Windows Service, no other “automatic launch” solution is necessary. Indeed, having multiple methods in use will only cause confusion!

Please disable all “automatic launch” solutions other than AlwaysUp.

But it can be difficult to find all the places where Alpha is being launched automatically. We recommend using Microsoft’s free Autoruns tool to help you identify (and disable) each location.

Best of luck with your website & business!

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

Essential Windows Services: DcomLaunch / DCOM Server Process Launcher

DCOM Communication

What is the DcomLaunch (DCOM Server Process Launcher) service?

The DcomLaunch service implements Microsoft’s Component Object Model (COM) and Distributed Component Object Model (DCOM) technologies, which facilitate communication between applications and communication between computers, respectively.

The service’s display name is DCOM Server Process Launcher and it runs inside the service host process, svchost.exe:

DcomLaunch Windows Service

What happens if I stop the DcomLaunch service?

Many Windows applications rely on COM and DCOM. If the service is stopped, those applications will no longer work.

And, as you can see from the service’s Dependencies tab on Windows Server 2019, several important services depend on DCOM Server Process Launcher too:

DcomLaunch service dependencies

So if DcomLaunch is stopped, these services will not be able to start:

  • Background Tasks Infrastructure Service / BrokerInfrastructure: Responsible for background tasks.

  • Local Session Manager / LSM: Manages local user sessions

  • Remote Procedure Call (RPC) / RpcSs: Controls COM and DCOM servers. We’ll dig into this critical component in a future article.

And if those 3 services are stopped, any service that relies on them will also fail to start.

If we walk the “dependency tree” of services, we can see that stopping DcomLaunch would lead to stopping over 60 other services — essentially crippling your computer! Because of this ripple effect, we strongly recommend that you leave DcomLaunch running.

Indeed, Microsoft agrees. Here is their recommendation for the DcomLaunch service on Windows Server 2016 (Desktop):

It is strongly recommended that you have the DCOMLAUNCH service running.

And this recommendation is backed up by the system. By default, you cannot stop the service or modify its startup type from the services control panel. Look closely at the screenshot of the service above to see that all those operations are disabled.

And if the service crashes or is terminated, you may be forced to log off:

DCOM Server Process Launcher service terminated

So please keep it running!

Questions? Problems?

If you would like to know more about the DCOM Server Process Launcher service, or you have a specific problem, please feel free to get in touch. We will do our best to help you!

Posted in Windows Services | Tagged , , , , | 7 Comments

Need an Official Sales Quote? Create a PDF in 1-2 Minutes

Do you work for a corporation looking to purchase our software?

Do you need an official sales quote — with letterhead, logo, etc. — to get the ball rolling?

If so, our new self-service quote-generator is here to help!

So how do I generate my quote?

Click this button to open the “Create a quote” form:

Create a quote now

The form will look like this (click to enlarge):

Create a quote

Please provide the following information:

  1. Your name, or your company’s name. This will appear in the “FOR” section on the quote.

  2. The physical/postal address to place in the “FOR” section on the quote.

    You can specify up to 3 lines, with up to 40 characters in each line. Or you can specify nothing at all (the value is optional).

  3. Your email address, for sending the quote. The email will also appear as the last line in the “FOR” section.

    Rest assured that we will not use your email address for anything other than sending you the quote! And as per our online privacy policy, we never, ever share your information with anyone.

  4. The software you would like to purchase. All our products are listed in the drop-down; please select.

  5. The number of licenses you wish to purchase.

  6. Indicate if you will be paying by an international bank transfer.

    Unfortunately our bank charges us a fee to receive an international (or wire) transfer, and we must pass that cost on to you. Please pay by credit card if you can, to avoid the extra charge!

  7. Check the I’m not a robot box, to prove that you’re not a bot snooping around our website.

All done? Click the Create button to generate the quote.

In a second or two, the PDF quote will be available for download and a copy will be sent to you via email.

What will the quote look like?

It will be very professional — really!

This image shows a quote for 3 licenses of AlwaysUp (click to enlarge):

Create Quote

Or click here to open/download a sample PDF.

But my quote is too complex for your online tool. Help!

If you’re looking for a quote for multiple products or with non-standard pricing, please get in touch and we’ll be happy to help.

Be sure to let us know exactly what you need. We’ll get back to you within 1 business day.

Looking forward to doing business with you… 😎

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

Bulletproof your Windows Services with Service Protector Version 6

Service Protector Software Update

Version 6 of Service Protector — our professional utility that babysits any Windows Service — was released a few days ago. Here is a quick look at what’s new:

Easily restart service protection from the toolbar

Customers who occasionally restart protection will notice the new “Restart” icon on the toolbar:

Easily restart protection from the toolbar

The convenient button performs the same operation as the similar entry under the “Protector” menu, but with one click instead of two.

Updates for Session 0

Unfortunately Microsoft has officially killed access to Session 0 — the isolated desktop hosting all Windows Services. You can no longer visit Session 0 from Windows Server 2019 and Windows 10 build 1803 (April 2018).

But access to Session 0 is alive and well on earlier versions of Windows. Switching to Session 0 continues to work on Windows Server 2012, 2008 and 2016 (though you can’t use the keyboard and mouse in 2016).

Service Protector 6 understands where Session 0 is no longer accessible and will adjust accordingly. For example, you will no longer see the “Switch to Session 0” entry under the Tools menu when running on Server 2019:

Session 0 on Windows Server

Under-the-hood tweaks for Windows Server 2019 & 2016

While recent versions of Windows have not introduced major changes to the Windows Services architecture, each release has brought its own quirks and gotchas. There has been no shortage of thorny, real-world problems for us to tackle!

The latest low-level code supporting Service Protector incorporates all our latest solutions and workarounds — to ensure smooth operation on whatever operating system you are running.

Other fixes & improvements

  • Service Protector regularly reads from the Windows Event Logs as it monitors each Windows Service. Those interactions now occur much faster.

  • The latest builds of Windows 10 are fully supported. Each major, bi-annual Windows update was thoroughly tested and no issues were found.

  • The registration window now displays the version number — to help customers complete registration on the correct version of the software.

  • The registration process provides additional labels and informative pop-up messages to help customers complete the process without incident.

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

Upgrading to Service Protector 6

If you purchased Service Protector version 5 (after April 2016) you can upgrade to version 6 for free. Simply download and install “over the top” to preserve your existing services and all settings. Your registration code will continue to work.

If you bought version 4 or earlier (before April 2016), you will need to upgrade to use version 6. Please purchase upgrades here — at a 50% discount.

See the full upgrade policy for additional details.

Enjoy!

Posted in Service Protector | Tagged , , , , | Leave a comment

Q & A: How do I Make AlwaysUp Babysit my “Leaky” VB6 Program?

Q & A - Memory leak
  Our old VB6 program leaks memory on every request and it can fail or crash multiple times a day. We need to re-write it but we don’t have budget right now so I’m looking at AlwaysUp to run it all the time. What settings should I use to keep it running?

— Anonymous

Hi. We have many customers who have turned to AlwaysUp to keep legacy applications going. Here is what we recommend for your situation:

Restart your VB6 program on high memory use

AlwaysUp is designed to launch your application as a Windows Service when your computer boots, but it can perform several “monitoring tasks” after that initial event.

One such task is to watch how much memory your application is using. You can setup AlwaysUp to stop and restart your application when its memory usage crosses a specific threshold.

The setting is available on AlwaysUp’s Monitor tab:

AlwaysUp Monitor tab - Memory setting

The default threshold is 512 MB. Is that too much (or too little) for your VB6 application?

We suggest using the Task Manager to get an idea of how much memory your application typically consumes. Use that information to set the threshold appropriately.

Note: Because AlwaysUp is a 32-bit application, the maximum memory threshold you can set is 4 GB. You will have to configure the CheckMemorySize64 sanity check plugin to exceed that limit. Please get in touch if you need help doing that.

Preempt memory problems by restarting VB6 (or rebooting the PC) once per day

While restarting on high memory is a good safety net, it is unpredictable. Your customers may notice a brief interruption if a restart occurs at a busy time.

Consider instead, a proactive daily restart — to flush the accumulated memory leaks and start your VB6 program afresh. With a clean slate, your application should run reliably for some time before the excessive leaks bog it down again.

You can configure a daily restart on the Monitor tab as well. Here we have asked AlwaysUp to stop and restart the application every day at 2 AM:

AlwaysUp Monitor tab - Daily restart

Note that you can:

  • Reboot the entire machine. This may be necessary if you find that restarting the application alone doesn’t clear the problems.
  • Restart/reboot only when certain conditions are met. For example, you can skip the restart if the application is busy (i.e. using CPU), or if it hasn’t used much memory yet.

Whatever works for your situation!

Want to restart your Visual Basic program more than once per day? This article reviews some alternatives.

Those two settings should help. Best of luck with your application!

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