Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: How to handle Win16 application error after start on Win64 OS?  (Read 12228 times)

0 Members and 1 Guest are viewing this topic.

MIRKOSOFT

    Topic Starter


    Hopeful

    Thanked: 2
    How to handle Win16 application error after start on Win64 OS?
    « on: January 24, 2020, 09:52:19 PM »
    Hi!

    I'm interest in WINEVDM project - it allows to run Win16 applications on 64-bit Windows.
    It is something like NTVDMx64 but in early phase of development.

    NTVDMx64 allows to run DOS applications directly without any specific command.
    I want to try the same, maybe it helps community.

    When I start Win16 application it reports error (of course).
    Error message is:
    ERROR_BAD_EXE_FORMAT
    193 (0xC1)
    %1 is not a valid Win32 application.

    I want to handle if it happens and instead of displaying error message to continue handling it.
    For example recall application using WineVDM command.

    But how to do it?
    Thank you for each help, suggestion, reply or comments.
    Miro

    Geek-9pm


      Mastermind
    • Geek After Dark
    • Thanked: 1026
      • Gekk9pm bnlog
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Windows 10
    Re: How to handle Win16 application error after start on Win64 OS?
    « Reply #1 on: January 24, 2020, 10:08:15 PM »
    You will not like my answer.
    It is not worthwhile.  8)

    Here is what Microsoft said:
    https://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/is-it-possible-to-run-a-16-bit-program-on-windows/50497e46-707e-42b4-af7f-539037f5d0a0
    ...
    Only the 32 bit version of Windows 10 has a 16 bit sub system. For Windows 10 64 bit, you would have to run the application on a supported version of Windows in a virtual machine  ...

    More  detail on the link above.  :)

    MIRKOSOFT

      Topic Starter


      Hopeful

      Thanked: 2
      Re: How to handle Win16 application error after start on Win64 OS?
      « Reply #2 on: January 25, 2020, 12:07:34 AM »
      Please, read more carefully what I'm writing.

      First:
      NTVDM is even part of 32-bit Windows - look into legacy features which is possible to include into Windows without any extra installation.
      NTVDMx64 (and I'm using it) is 64-bit version of NTVDM for 64-bit Windows.
      NTVDM is abbreviation of NT Virtual DOS Machine.
      You need not DOSBox for this. NTVDMx64 is not part of Windows and requires extra installation.
      WineVDM is similar but allows to run even Win16 apps. Current version is 0.70.
      To make you sure look at https://github.com/otya128/winevdm and try it.

      My goal is to make WineVDM able to start Win16 apps directly without otvdm command like NTVDM and NTVDMx64 starts DOS 16-bit apps.
      Simply handle error message to avoid showing it and jump to recall application by otvdm command automatically - simply: Handle Win16 application by starting EXE file and after above mentioned error jump to call otvdm command.
      Currently WineVDM is not able to correctly to install Win16 apps - it think never will.

      Miro
      « Last Edit: January 25, 2020, 12:29:59 AM by MIRKOSOFT »

      emendelson



        Newbie

        • Experience: Guru
        • OS: Windows 10
        Re: How to handle Win16 application error after start on Win64 OS?
        « Reply #3 on: January 26, 2020, 11:29:42 AM »
        You are not using the latest code. Find it here:

        https://ci.appveyor.com/project/otya128/winevdm/build/artifacts

        Click Jobs, then This Build is Recommended, then Artifacts, and use the current code.

        With otvdm, you can simply double-click on a 16-bit application and it will run as it did in 16- or 32-bit Windows. You don't to have or use NTVDMx64 or anything else. And otvdm successfully installs 16-bit applications, but you have to use the current code.

        The information you've posted is entirely out-of-date.


        MIRKOSOFT

          Topic Starter


          Hopeful

          Thanked: 2
          Re: How to handle Win16 application error after start on Win64 OS?
          « Reply #4 on: January 26, 2020, 02:57:37 PM »
          Ok, thank you for moving me to newest builds.

          So, now I have 2 Qs:
          1. How is it with compatibility between NTVDMx64 and WineVDM?
          In my case it works not together - DOS applications running perfectly, Win16 apps running not. It looks like NTVDMx64 blocks WineVDM.
          So, I'm using VMware guest where is NTVDMx64 not installed and use only WineVDM - Win16 apps running - but DOS apps running strictly limited by DOS player.
          2. Is enough to select correct DOS Player to run DOS apps perfectly and use only WineVDM? So, don't install NTVDMx64?
          Why: NTVDMx64 runs DOS apps even in graphic modes, but WineVDM allows to run only text-based DOS applications (when we are talking not about Win16 apps).
          What a DOS player to use?

          Miro

          emendelson



            Newbie

            • Experience: Guru
            • OS: Windows 10
            Re: How to handle Win16 application error after start on Win64 OS?
            « Reply #5 on: January 27, 2020, 12:20:16 PM »
            1. I don't know. I don't use NTVDMx64. I use vDos.

            2. I don't understand what you are asking here. Are you referring to the last line of otvdm.ini ("Set application to launch MSDOS programs with")? If so, that sets the program that launches 16-bit DOS programs from 16-bit Windows applications running under otvdm (for example, a word-processor that has a "Go to DOS" or "DOS command" feature). It has absolutely nothing to do with 16-bit DOS programs launched from the Windows command line or NOT from a 16-bit program running under otvdm.

            And you can get much better answers by asking your questions at the GitHub page for otvdm. I'm only a user, not a developer.

            MIRKOSOFT

              Topic Starter


              Hopeful

              Thanked: 2
              Re: How to handle Win16 application error after start on Win64 OS?
              « Reply #6 on: January 28, 2020, 04:59:51 PM »
              I was using vDOS before NTVDMx64 and my opinion is that it is not enough, of course for my purposes. So it is for anybody good solution.
              I know about otvdm.ini config and was asking for DOS player 'cause I had no solution how to get work WineVDM with NTVDMx64 - I wanted to leave NTVDMx64 and use only WineVDM for incompatibility.

              But you moved me forward and now can run DOS applications with all features by NTVDMx64 and Win16 applications by WineVDM - btw. "Go to DOS" feature is always handling by NTVDMx64. So, nothing more req'd.

              I tested both on real Windows 10.1909 x64 and the same Windows as VMware guest. Both working.

              Miro