dosbox-staging icon indicating copy to clipboard operation
dosbox-staging copied to clipboard

Is path priority working or broken? Changing dir order doesn't seem to make a difference.

Open Banjo-Oz opened this issue 2 years ago • 3 comments

Are you using the latest Dosbox-Staging Version?

  • [X] I have checked releases and am using the latest release.

Different version than latest?

No response

What Operating System are you using?

Windows 7

If Other OS, please describe

No response

Relevant hardware info

No response

Have you checked that no other similar issue already exists?

  • [X] I have searched and not found similar issues.

A clear and concise description of what the bug is.

I want to use a custom version of CHOICE over the default DOSBox Staging one, so I put a 3rd party (FreeDOS) CHOICE.EXE in my mounted C:\PROGRAMS folder.

If I was DOSBox-X, I would need to change the path order (makes sense), so assuming the same for Staging I changed "SET PATH=%PATH%;C:\PROGRAMS;" in my autoexec to "SET PATH=C:\PROGRAMS;%PATH%;".

However, typing "choice /?" at the root still runs Z:\CHOICE.COM. I tried renaming CHOICE.EXE to CHOICE.COM just in case it was prioritizing extension, but got the same result. The only way that the custom CHOICE gets found is if I specifically type "C:\PROGRAMS\CHOICE /?"... so it seems the path priority is being ignored, unless I've missed something obvious?

One other path question: I was previously using Staging 0.76.0 and upgraded to 0.78.1. In my old conf file I had "PATH=C:\Programs" as a line and it worked fine. Under 0.78.1 this now causes Z drive "core" programs not to be found, so I had to chance the line to "SET PATH=%PATH%;C:\PROGRAMS" or "SET PATH=Z:;C:\PROGRAMS". Just curious how the code changed and what PATH is set to ("Z:"?) by default now to cause this, since I didn't think Staging had a PATH conf option like (for example) DOSBox-X that I can change (i.e. I need to just use normal "set path" in autoexec), does it?

On a related note, is PATHEXT available in DOSBox Staging to help with priority issues like this (i.e. so you can change it to run .bat files ahead of .com files), as either a conf or environment variable?

Steps to reproduce the behaviour.

Explain how to reproduce 1. 2. 3.

Your configuration

[autoexec]
set PATH=%PATH%;C:\PROGRAMS;

OR

[autoexec]
set PATH=C:\PROGRAMS;%PATH%;

Provide a Log

No response

Code of Conduct & Contributing Guidelines

  • [X] Yes, I agree.

Banjo-Oz avatar May 16 '22 03:05 Banjo-Oz

Thanks for those conf examples, @Banjo-Oz.

[autoexec]
set PATH=C:\PROGRAMS;%PATH%;

If this is your first line in autoexec, then I'm not sure where C:\PROGRAMS is being mounted.

Try adding this:

[autoexec]
set PATH=C:\PROGRAMS;%PATH%;
C:
cd \PROGRAMS
dir CHOICE.*

My guess is, it will report that C: doesn't exist.

For this to work, C:\PROGRAMS\CHOICE.EXE (or .COM) needs to exist inside the DOSBox shell, and be accessible.

If you get this mounted and setup so it's accessible, then the PATH priority will work.

kcgen avatar May 16 '22 16:05 kcgen

Sorry, I only added the relevant example for path (I thought it was self explanatory, my mistake). C is mounted first (from .\DOSGAMEFOLDER, which contains the subfolder PROGRAMS).

With the full autoexec being: [autoexec] mount C "DOSGAMEFOLDER" c: set PATH=C:\PROGRAMS;%PATH%;

The issue remains that everything is accessible just fine... the priority of the PATH is what is not working as intended, as per originally reported in the first post (i.e. changing the set path order doesn't fix the issue).

Banjo-Oz avatar May 16 '22 18:05 Banjo-Oz

Just checking if anyone else can confirm this is a bug they can reproduce... or something unique to my setup.

Banjo-Oz avatar May 20 '22 14:05 Banjo-Oz

I think this is safe to close.

Burrito78 avatar May 13 '23 13:05 Burrito78