S h o r t S t o r i e s

// Tales from software development

Archive for November 2009

Could not start the service on Local Computer, Error 193: 0xc1

leave a comment »

During deployment testing of a new project that’s implemented as a Windows Service I got an error message that I’ve never seen before when I tried to start the service: 

Could not start the Vitality PASMDI Service service on Local Computer
Error 193: 0cx1

I knew the service worked as I’d been running it on my development PC. I’d also successfully started the service after installing an earlier version of the installer so why wouldn’t the service start after installing using the latest version of the installer ?

The last change that I’d made to the installer was to add an XML data file that the service loads when it starts. I reviewed the WiX source code and realised that I’d added the new file incorrectly. The WiX ServiceInstall element is associated with the first File element in a component or with the File element that specifies KeyPath=”yes”. I was using the ‘first File element in the component’ method but had added the new file as the first File element in the component and so had inadvertantly replaced the association of the ServiceInstall element and the Windows Service executable with an association to the XML data file.

I confirmed this by checking the service properties in the Services console. As expected, the ‘Path to executable’ value was the path for the XML data file and not the service excutable.

The problem was resolved by moving the File element for the new file so that the first File element in the component was the one for the service executable.

The point is, the inscrutable “Error 193: 0cx1” error message simply indicates that the file that the service definition references is not an executable.

Advertisements

Written by Sea Monkey

November 23, 2009 at 8:00 am

Posted in Deployment

Tagged with

It's only human to make mistakes

leave a comment »

Turn 10’s Forza Motorsport 3 was released a couple of weeks ago and, for the most part, offers only incremental improvements on the previous version. There’s new cars and tracks and a ‘rewind’ function that allows you to go back in time a few seconds at a time to retry a messed up corner or avoid a crash.

However, the change that I’ve found most startling is the way that the AIs have been updated so that they now make significant mistakes. In FM2 you could easily overtake another car that was being controlled by an AI by waiting for it to brake into a corner and then brake, i.e. outbrake the AI. I was in for a shock when I tried this in FM3 because while it works some of the time, the AIs now make mistakes just like humans and often leave their braking too late and end up in the gravel trap. It’s common to see a couple of AIs fighting for the lead as they go into the first turn of a race with the result that one or both go off.

The fact that AIs didn’t make mistakes in FM2 was definitely detrimental to the game’s sense of realism and the fact that they do in FM3 is, for me, the biggest improvement. It’s only human to make mistakes, even when you’re an AI…

Written by Sea Monkey

November 1, 2009 at 12:00 pm

Posted in Comment

Tagged with