Hi,
set /p is a Windows NT feature of CMD.EXE. It was not available in MS-DOS or
Windows 9x.
I even double checked on my Win98 VM and my Win ME VM before I wrote this.
(Don’t ask why I have those. Just don’t). I get “Syntax Error” in both Windows
98 and Windows ME.
It was nice of whomever wrote FreeCOM to include that Windows NT command
interpreter function. I never tested it, but did they also include Delayed
Expansion and IF (…) ELSE (…) and stuff like %~dpn0?
If the utilities are small as you say, then building a custom FreeCOM with them
built in would allow your programs to pass the information without necessarily
using the environment.
So assuming your install script always works under FreeCOM, you have guarantees
that set /p is there. Assuming it is running under Microsoft’s COMMAND.COM
<http://command.com/> on MS-DOS, you won’t have set /p and your script will
fail at stage 7.
If your installer, still using the same batch file, was spawned in a custom
command shell, (or FreeCOM), than you can guarantee what you need will be
there.
Regarding finding the master environment, in order for FreeDOS to maintain
compatibility with MS-DOS and the all the abandoned DOS software out there,
FreeDOS has to implement SysVars, commonly called the List of Lists. This list
can’t change it’s structure because by doing so, many DOS applications won’t be
able to run because a lot of them depend on this “undocumented” (by Microsoft)
structure.
I’m not trying to pick a part your program, just trying to point you to a
hopefully better implementation. Jim wants a batch file, you have these power
tools, why not build them into the interpreter as internal commands? You
implement the same code minus the startup functions and you can probably create
a “V8” area in DOS memory where the utilities communicate since they are a part
of the command shell.
This precludes using the environment as you can create an in memory “structure”
that they can manipulate.
<snip>
------------------------------------------------------------------------------
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel