DS1 (Dark Star One) in Windows 7 Beta (x64) was crashing immediately upon trying to start it. This is the Steam version of the game, although the fix may apply in other situations. The Ascaron Exception Dialogue pops up with a “Walhalla Exception” and says there’s been an “Ascaron Exception Error”. If you look through the Advanced tab details, you’ll see mention of D3DERR_NOTAVAILABLE and a file called dxapdirect3d.cpp .
In any case, I was able to fix it.
I’ll give credit to the post here for the info.
I went through most of the steps, but it wasn’t until the “Additional Troubleshooting” section that I found my answer…
1) Install the latest DirectX Runtimes (November 2008) from here (microsoft.com). In the event that a while has gone by, this post’s a bit old, and there are new versions out, you may want to start here instead and browse your way through to the DirectX End User Runtimes. Now this MAY not be necessary, but since I did it (and don’t have any reason to UNDO what are currently the latest versions), You could skip to step #2, and if that doesn’t work, come back and do step #1 afterwards.
2) Delete the iphlpapi.dll file from the following location (or to be safe, just MOVE it to the desktop or something so you can restore it):
C:\Program Files (x86)\Steam\steamapps\common\darkstar one\
Now try running Darkstar One. It certainly started working for me!
Reason this works:
Basically from what I gather, this is what happens… There are 2 copies of the iphlpapi.dll file on the computer. One is in your Windows/System32 folder (and may be updated when you go through step #1). The other is in the Darkstar One folder (and is older). When the game starts, it uses the OLD one by default, which doesn’t get along with Windows 7. By deleting it, the game doesn’t see it in the game folder, and next looks to the various system folders. It finds the new one, and things work!
It’s possible you could simply replace the iphlpapi.dll file in the Steam folder with the newer version. However, I’ve heard that Steam can be finicky about running programs that have been modified, so deleting it may be a better option. It worked for me anyway.