AutoFrontier
version 1.0
Intro
What's AutoFrontier? A little Visual Basic app that I whipped up that runs as a Windows NT service. It's sole function is to start Frontier when it starts, and to quit Frontier gracefully when it quits. That's it.
In order to use AutoFrontier, you need to be using at least Frontier 5.0.2b7, since you need to have COM support. Why do you need to have COM support, you may ask? Because it's the most graceful (not the mention the only, so far as I know) way to have an external app tell Frontier to shut down gracefully. All 6.X versions of Frontier contain COM support.
This web page is a fat page that contains the COM script that's needed to shut down Frontier when the service is shutting down (which should reside at user.com.ntService). Note that the download archive also contains the script, so if you can't load the fat page, don't sweat it.
Download
AutoFrontier 1.0 (1,565K)Install
Once downloaded, run it with the -p (for prefs) command line option:
AutoFrontier -pThis will let you set the path to Frontier, which is the only thing that AutoFrontier has to know.
Then run it with the -i (for install) command line option:
AutoFrontier -iThis installs the service.
Command-Line Reference
AutoFrontier -? command-line help AutoFrontier -v version information AutoFrontier -i install the service AutoFrontier -u uninstall the service AutoFrontier -p set the preferences Caveats
All the normal things apply regarding NT services:
-- you won't have access to the Frontier app itself, since all NT services run in a security context that doesn't allow screen drawing and some other types of access. Please note that the limited security context may cause problems for some people -- for example, if Frontier is on an NTFS partition, it's possible to set the security permissions so that AutoFrontier won't have the ability to run Frontier. (Clearly, if you want to use AutoFrontier in this case, you'll have to change your permissions.)-- you will have to be Real Careful to avoid damaging your root in some way, since you'll inevitably launch a second copy of Frontier while the first copy (the copy that the service launches) is running. I have no idea what this will do; I wouldn't advise being the first on the block to find out.
-- you should keep an eye on things for the first few days, since you're essentially going to be testing how well Frontier RUNS as an NT service. I don't believe that anyone really knows the answer here...
Additionally, AutoFrontier starts with a somewhat disproportionately-large memory footprint (around 3M), but for some reason, it settles down a bit relatively quickly. (Actually, the strange thing is why it uses a big footprint in the FIRST place...)
Lastly, if you already have a version of the NtSvc OCX on your machine (it's the ActiveX component that allows me to run an NT service), you'll have to use the one that I provide. Chances are that the one that you're using was crippled -- or underdeveloped -- by Microsoft, and in order to use dependencies (e.g., in order to say that Frontier can't start until TCP/IP is up and running), I had to make a single change to the OCX.
That's it -- enjoy! If you have any questions, comments, free money... write to me.