After upgrading to a newer DOS version, an older application reports “Incorrect DOS version.” What should you do to run the application successfully?

Difficulty: Easy

Correct Answer: Use the SETVER command

Explanation:


Introduction / Context:
Many DOS programs perform a simple version check and refuse to run if the reported DOS version is unexpected. Reverting the OS is overkill; DOS provides a built-in way to control the version string reported to specific executables so legacy software remains compatible after upgrades.


Given Data / Assumptions:

  • System has been upgraded to a newer DOS (e.g., 6.22).
  • Legacy app expects an older version (e.g., 5.0).
  • Goal: run the app without downgrading the whole system.


Concept / Approach:

SETVER.EXE maintains a version table used by DOS to report an alternate version to specified programs. By adding the program to the SETVER table with the expected version, the app's version check passes. Typically SETVER is loaded in CONFIG.SYS (or referenced in AUTOEXEC) so the mapping is active on boot.


Step-by-Step Solution:

Load SETVER (e.g., DEVICE=C:\DOS\SETVER.EXE in CONFIG.SYS).Add an entry: SETVER APP.EXE 5.00 (example version expected).Reboot if necessary to activate the mapping.Run the legacy application successfully.


Verification / Alternative check:

Running SETVER without arguments lists current mappings; you can confirm the app's filename and version override are present.


Why Other Options Are Wrong:

  • DOS+: not a standard DOS command.
  • Restore the old DOS version: unnecessary and risky; SETVER is safer.
  • Contact vendor: not required for a simple version check issue.
  • None of the above: incorrect; SETVER is the right tool.


Common Pitfalls:

  • Forgetting exact executable name; mapping must match the filename.
  • Not loading SETVER so the table is inactive at runtime.


Final Answer:

Use the SETVER command.

More Questions from Disk Operating System (DOS)

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion