Want to run legacy (MS-DOS) application on Windows 8

Last post 03-05-2013 3:13 AM by bsdnazz. 11 replies.
Page 1 of 1 (12 items)
Sort Posts: Previous Next
  • 01-10-2013 4:37 PM

    Want to run legacy (MS-DOS) application on Windows 8

    I run a legacy application dating back quite a few years, but haven't been able to get it running on Windows 8 with PSQL v11 SP3 RC. It was originally written for Btrieve, and it runs just fine on Win 7 32-bit using PSQL V10.3+; only the Transactional engine is used by the application.

    When the application is started, it reports that it cannot run without Btrieve loaded, and I don't see any sign of PSQL in the processes under Task Manager. Older installations show W3dbsmgr.exe running as a process. I found W3dbsmgr.exe in Program files>Pervasive>PSQL>bin, but haven't gotten it going yet.

     Suggestions?

  • 01-10-2013 5:20 PM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     What exactly did you install in terms of Pervasive?  Was it the Workgroup ENgine, the Server Engine, or the CLient?  If the data is all local, you might want to look at the Workgroup engine.  Also, is this a 32 bit or 64 bit version of Windows 8? 

  • 01-12-2013 8:05 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     OS is 32 bit Windows 8 Pro. PSQL is the Workgroup Engine v11 SP3 RC installed using the "complete" option. Workgroup engine is fully operational at the Windows level using Pervasive System Analyzer, but the btrieve client support for DOS applications isn't active or functional after standard installation. I executed the W3dbsmgr.exe in the bin folder using Run as Administrator, but still didn't work.

     

    My next move, when I get some time, will be to try to determine whether the failure is during installation or if it's something in the OS "security" that's preventing it from running. I am hoping that someone can point me in the right direction.

     

     

  • 01-13-2013 7:14 PM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     What's in the CONFIG.NT file in the %systemroot%\System32 directory? 

  • 01-14-2013 9:29 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

    Probably a silly question, but have you rebooted since the install?  With Win7 and earlier, the changes that the installer makes to the PATH statement work when you simply open a new Command Prompt.  However, we're seeing that Windows 8 requires a reboot or logout/login to see the new path properly. 

  • 01-14-2013 11:26 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     

    Mirtheil:

     What's in the CONFIG.NT file in the %systemroot%\System32 directory? 

    Device=c:\windows\system32\btrdrvr.sys

     The autoexec.nt also contains a statement:

    Device=btrdrvr.sys

     I found 2 files: btrdrvr.sys and btrvdd.dll in system32.

     

    thanks

     

  • 01-14-2013 11:29 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     yes

  • 02-12-2013 8:39 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

    We will shortly be testing our legacy MS-DOS btrieve applications on Windows 8.

    Have you (or any one else) got this working?

    Our current, working environment, is

    • client
      • Windows 7 Pro, 32bit
      • Pervasive SQL V11 SP2, update 5
    • server
      • OES/Linux 2 SP3
      • Pervasive SQL V11 SP2, update 6


    and we're looking to change the client OS to Windows 8 Pro, 32bit

  • 02-28-2013 11:29 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

    We've just tried to get our legacy MS-DOS application to work on Windows 8 32 bit with no success. We're following the same set-up steps we use for Windows 7 32bit. The application fails with Btrieve error 20 - Record Manager Inactive. All the other Btrieve/Pervasive (Function Executer, PCC etc) programs run file but not our legacy MS-DOS apps. :-(
  • 02-28-2013 9:54 PM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

     I've done some testing and found through some experimentation that Windows 8 does not follow the same search algorithm as Windows7 when it comes to DOS applications.  Windows 7 searched the application directory, the Windows32 directory, then the system path.  WIndows 8 seems to stop at the WIndows32 directory. 

    You'll probably want to open a support ticket with Microsoft since this isn't specific to Pervasive.  

  • 03-04-2013 4:51 PM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

    The problem is actually pretty simple.  As soon as the DOS device driver (BTRDRVR.SYS) load, it finds the "helper" file (BTRVDD.DLL)in the C:\WINDOWS\SYSTEM32 folder as it is supposed to do.  The Helper DLL then looks for the start of the Pervasive Client -- W3BTRV7.DLL, which then fails.  As Mirtheil noted, the DLL is placed into the proper Windows path on Windows 8, but for some reason, Windows 8 cannot find it.

    As a REALLY nasty workaround, you can copy ALL files from the Pervasive install folder (C:\Program Files\Pervasive Software\PSQL\BIN) over to the C:\Windows\System32 folder, and you'll find that your DOS app should now work.

    There is likely to be a smaller subset of files that you can copy over, but you'd need to find these one file at a time using Process Monitor, like I did. 

     

  • 03-05-2013 3:13 AM In reply to

    Re: Want to run legacy (MS-DOS) application on Windows 8

    We've just done as BtrieveBill suggests and copied all the files over to the Windows 8 system directory and our DOS app now works. While not ideal it does at least give us a plan B!
Page 1 of 1 (12 items)