?
Solved

Convert exe to service

Posted on 2013-05-22
6
Medium Priority
?
906 Views
Last Modified: 2013-05-22
Hey Experts.  I have a program (in-house app) that needs to run continuously so I decided I would take the exe and make it into a service.  When I run the command, I get the message [SC] CreateService Success but when I try to launch the service, it errors out with the standard "Could not start the program service on local computer / error 1053".  

Here is the command I am using:
sc create Program binPath= "c:\program name.exe" DisplayName= "Chat Program" start= auto

Open in new window


Not sure what I'm missing here but it would be great to get this working.  I'm running this when the process is not already running, logged in with local admin rights and this is a Windows 2003 server.  Thanks for your help!
0
Comment
Question by:samiam41
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 85

Accepted Solution

by:
oBdA earned 2000 total points
ID: 39188399
sc.exe just creates an entry for the Service Manager; it does not enable a regular program to behave like a service.
So you either need to redesign your app so that it works like an service, or (maybe easier) use a "service wrapper" like SrvAny.exe (in the W2k3 Resource Kit, http://www.microsoft.com/en-us/download/details.aspx?id=17657) or this one (easier to handle and more options than SrvAny):
NSSM - the Non-Sucking Service Manager
http://nssm.cc/
0
 
LVL 9

Author Comment

by:samiam41
ID: 39188427
oBdA!  Great to see you again.  As I was reading your explanation, it clicked.  Checking out the two options you listed.
0
 
LVL 9

Author Comment

by:samiam41
ID: 39188607
Tried each suggestion you made in your reply and each yielded the same error (could not start service.....)

After creating the service, do I need to restart the server?  I didn't think so.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 9

Author Comment

by:samiam41
ID: 39188662
Ok.  I tried the NSSM again but did so after making a couple of changes.  First, the exe has a space between the name [Chat Program.exe].  So I made a copy of the program and renamed it ChatProgram.exe.  Then I created it again using NSSM, after making sure all references to that service were deleted out, with a different service name than was used previous.  Lastly, I didn't use the [browse] option when NSSM opened up.  I simply typed in the path of the exe.  I noticed when I would use the browse option, the path I selected wasn't displayed but actually showed the exe of the NSSM path!  

Whatever it was worked as the service runs like it should.  Any suggestions on what could have been the issue?  Was the space in the exe causing a problem?  Thanks for your help.  I'll award points once I hear back.
0
 
LVL 85

Expert Comment

by:oBdA
ID: 39188731
Sorry, I have no idea what went wrong the first time. Might have been leftovers from the sc.exe attempts.
Just checked with the current version of nssm; I put nssm.exe and a batch file named "Batch Service.cmd" (including the space) into the same folder, ran nssm.exe install "Batch Service" from an elevated command prompt, used the Browse button to find the batch file, and started the service. The batch file is happily writing its time stamps.
@echo off
setlocal
set LogFile=%~dpn0.log
:Loop
>"%LogFile%" echo %Date% %Time% ---- %*
sleep.exe 60
goto Loop

Open in new window

0
 
LVL 9

Author Closing Comment

by:samiam41
ID: 39188740
Thanks as always for your time and attention to this question!
0

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction People like FTP.  It's a solid, stable, robust protocol for quickly transferring files between two hosts using TCP/IP.  In most cases it's much faster than SMB or CIFS, and certainly much easier to set up between organizations.  This…
Hello, As I have seen there a lot of requests regarding monitoring and reporting for exchange 2007 / 2010 / 2013 I have decided to post some thoughts together and link to articles that have helped me. Of course a lot of information you can get…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question