CrossOver having hard time with old DOS app

Thanks to friendly @calion I was pointed to CrossOver (thread now closed) to help me run old 32-bit Win apps on 64bit-only Catalina even when wine — which I’ve used a lot before Catalina — fails.

Several of those old apps work just fine with CrossOver, but one very old DOS app only works when it’s initially set up for the very first time. A DOS prompt window will come up and the app runs just fine from within, input and output all fine. But then when it’s done the prompt will close and from then on the app will no longer work when launched with its run command. The only way I’ve gotten it to work again is to set up a brand new bottle and define the app from scratch as a brand new run command.

Anybody have an idea how to get around this? Or am I just using CrossOver wrong for DOS apps?

I’ve found that Crossover doesn’t play very nicely with DOS apps, and just use Boxer for those.

Except Boxer hasn’t been updated for Catalina.

However, there’s a build someone has put together that apparently works. You may want to give it a try.

Thanks you, sir. I’ll give that a try.

No luck. Turns out Boxer thinks this is a Windows app. I guess that might be true. I’ve only ever run it in Windows, but to me it always appeared to run from what I would have thought is a DOS shell.

I tried different Windows versions for bottles in CrossOver, but regardless of what I try it always runs fine the first instance, and then on subsequent launches fails to do anything at all until it just closes the app instance. The log doesn’t reveal anything obvious (to me that is).

001d:err:plugplay:process_IOService_Device object 0x6a03 001d:err:plugplay:process_IOService_Device object 0x8f07 001d:err:plugplay:process_IOService_Device object 0x6b07 001d:err:plugplay:process_IOService_Device object 0x6e07 001d:err:plugplay:process_IOService_Device object 0x7007 001d:err:plugplay:process_IOService_Device object 0x7107 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x710b 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x710f 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x7113 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x7117 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x711b 001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x711f 001d:err:plugplay:process_IOService_Device object 0x731b 001d:err:plugplay:process_IOService_Device object 0x7403 0009:fixme:exec:SHELL_execute flags ignored: 0x00000100 0009:fixme:exec:SHELL_execute flags ignored: 0x00004100

Input/Output Error 153: Input file ended

In Procedure: main program
At Line: 341

  Statement: Formatted READ
       Unit: 5

Connected To: Stdin
Form: Formatted
Access: Sequential
Records Read : 0
Records Written: 0

End of diagnostics

This is a question for the Codeweavers forums. Have you checked your app in What Runs?

I’m afraid this an old piece of code developed 20 years or so at a small university by a guy who’s no longer in the field. Apart from a few specialists I doubt anybody knows this app.

Since the app itself runs just fine on the first run (in a new bottle) it feels like the way I’m using CrossOver with this app is the problem. I was hoping it’s something I could fix with a change in settings or such. It’s not that the emulation on the app itself fails. It runs. But only once. :smiley:

Their forum README makes it sound like they prefer to get support questions through dedicated support channels. I’ll try those channels as soon as my department finally gets me a bona fide license. Right now I’m still on the 14-day trial.

What software are you trying to run?

Has Crossover support been able to offer any useful suggestions?

Have you considered an alternative emulator, such as VMWare or Parallels?

This article might help you set up in Parallels, which as a 14 day demo.

It might be possible to lock the bottle somehow. Two options that occur to me is to Publish or Archive the bottle.

I wasn’t really able to lock the bottle.

But in thje process I learned more about the problem. Turns out, if I just run the .exe with the run command I can continue to do so as many times as I want (within the same old bottle) and it will continue to run just fine. The problem only manifests if I tell CrossOver to save that run command as a launcher (so it creates a button to launch that .exe). If I do that then it will only run once and never again in that bottle. But if I then try running it again as a run command rather than double-clicking the launcher icon, it will again run.

So maybe this is just a bug with the launcher functionality rather than with the emulation environment itself.