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?
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
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.
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.
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.