soporific Posted June 6, 2007 Share Posted June 6, 2007 OK, what's going on here:1) something about my fix for a lack of environment space is causing a major bug that is sooo weird it should be the new definition for weirdness. All the fix does is add the following line to CONFIG.SYS SHELL=COMMAND.COM /E:4096 /P2) if i install this fix on a totally clean newly installed OS it works fine with no problems. When i run AP on it to fully patch it, there are still no problems afterwards (which is how i was testing).3) if i install this fix on a totally patched system i get the following error: Can't find COMMAND.COM4) a fix for this problem is simply addingSET PATH=%PATH%to AUTOEXEC.bat and the problem goes away. Even just adding a REM statement to AUTOEXEC.bat fixes this problem !!!! I have been testing exactly what 'fixes' this problem and it seems that if the size of the AUTOEXEC.BAT file is zero the problem is there, but if AUTOEXEC.BAT is even 1 byte in size or over then the problem is NOT there. All i did was add a space to AUTOEXEC.BAT and the problem is fixed. The problem also goes away if i change the line added to CONFIG.SYS toSHELL=C:\WINDOWS\COMMAND.COM /E:4096 /PBut this means that if the user has COMMAND.COM in a different directory its not going to work. And i can't use:SHELL=%windir%\COMMAND.COM /E:4096 /Pwhich would avoid the different directory issue. You can't use environment variables in CONFIG.SYSWHAT IS GOING ON ???????????? .... far out this AP project is giving me gray hairs before my time !!!Thanks in advance for any comments or help. Link to comment Share on other sites More sharing options...
jaclaz Posted June 6, 2007 Share Posted June 6, 2007 (edited) Hmmm,I guess it should be the other way round.I mean, a "valid" SHELL=statement in config.sys, should have the full path to the shell, like in:SHELL=C:COMMAND.COM /E:4096 /PorSHELL=C:\COMMAND.COM /E:4096 /Psince COMMAND.COM is one of the three boot files, together with MSDOS.SYS and IO.SYS, it should reside on the root of the boot disk, and, on the other hand, CONFIG.SYS should also be there, so:SHELL=COMMAND.COM /E:4096 /Pshould work as well, as long as the CONFIG.SYS that has that line is on the same (root) directory of the booted drive, if COMMAND.COM is anywhere else, a FULL path or an updated %PATH% variable is needed.The "strange" fact is that the presence of AUTOEXEC.BAT with length >0 changes, from what you report as second example, the behaviour, in the case COMMAND.COM is on the root directory, just as if the mere presence of AUTOEXEC.BAT would make it "root" to it correctly.So, if I get what you report correctly, it seems like in one case the "root" is (as it should) C:, whilst in the second is somehow "undefined".Since we are talking about DOS7.1 here, could the above be somehow connected with changes (if any) in the contents of the MSDOS.SYS file? http://www.computerhope.com/msdossys.htmjaclaz Edited June 6, 2007 by jaclaz Link to comment Share on other sites More sharing options...
soporific Posted June 6, 2007 Author Share Posted June 6, 2007 I mean, a "valid" SHELL=statement in config.sys, should have the full path to the shell, like in:<snip>thanks for the info .... i never noticed that you could have more than one COMMAND.COM on your system. I knew about the one in the Windows directory but it never occurred to me it could be in two locations. So, it looks like i can just use SHELL=C:\COMMAND.COM /E:4096 /P like you pointed out. The way i've gone with is to add a REM line to AUTOEXEC.BAT which is totally harmless to do which also fixes the problem. But i will probably change it if we get to the bottom of this saga!I'm still interested in hearing more on this subject though. Anyone? Link to comment Share on other sites More sharing options...
Mazabuka Posted June 6, 2007 Share Posted June 6, 2007 I mean, a "valid" @echo off%COMSPEC% /E:6120 /C "c:\Program Files\AutoPatcher98\Start_ME.bat"echo.echo AutoPatcher98 has finished processing ...echo.echo.echo Click the Close button at the top right corner of this Window after you haveecho viewed the output and any error messages that may have been displayedecho.echo.I then use Start_AP.bat to launch Start_ME.batUsing the above code:1. I never have to edit my Config.sys file to insert a shell command if I don't have enough ES space for Start_ME.bat2. If I need more ES space for Start_ME.bat, I simply edit Start_AP.bat and change the amount of ES space allocated via the %COMSPEC% command lineWhat do you think of this suggestion? Link to comment Share on other sites More sharing options...
sleffing Posted June 6, 2007 Share Posted June 6, 2007 (edited) Why that error I'm unsure.If it were a boot disc the shell line would look like this:SHELL=\COMMAND.COMWith a backslash.(plus any switches you would add)%COMSPEC% would end up holding the boot drive letterIn your case, since the OS is already booted, is it possibleto simply use the %COMSPEC% environment variable ?Like this:ECHO SHELL=%COMSPEC% /E:4096 /P >> CONFIG.SYSAfter all, you would not be able to do much if%COMSPEC% was wrong. ?? Edited June 6, 2007 by sleffing Link to comment Share on other sites More sharing options...
soporific Posted June 7, 2007 Author Share Posted June 7, 2007 In your case, since the OS is already booted, is it possibleto simply use the %COMSPEC% environment variable ?Like this:ECHO SHELL=%COMSPEC% /E:4096 /P >> CONFIG.SYSAfter all, you would not be able to do much if%COMSPEC% was wrong. ??Eureka !! Why i didn't think of that .... i need to take a break !!! Thanks for that ... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now