J�rg Tewes <[EMAIL PROTECTED]> wrote on 27.02.04:
> Donnerstag, 26.02.04 Michael Heydekamp schrub...
>> J�rg Tewes <[EMAIL PROTECTED]> wrote on 25.02.04:
>>> Ich habe gerade mal C/X/S bei FreeXP aktiviert und da wird der
>>> COMMAND.COM im falschen Verzeichnis gesucht. FreeXP sucht den
>>> COMMAND.COM in C:\WINNT\System32, XP2 in C:\WINXP\System32.
>> Na super, dann haben wir schon mal die offensichtliche Ursache.
>> Jetzt m�ssen wir nur noch herausfinden, wieso in C:\WINNT\System32
>> gesucht wird.
>> N�chster Schritt: Wirf mal bitte Deine komplette Ausgabe von "set"
>> r�ber (am besten die aus CMD *und* COMMAND).
> Kommt
> CMD.EXE
[...]
> COMMAND.COM
[...]
Hmm, nix mit "WINNT" zu sehen. Trotzdem mu�t Du es ja irgendwie
hinbekommen haben, FreeXP vorzugaukeln, Dein COMMAND.COM bef�nde sich in
C:\WINNT\System32. Irgendwo in den Eigenschaften einer PIF-Datei
vielleicht (evtl. kopiert von einem fr�heren System)? Befehl in 'ner
Batch oder irgendwas in der Richtung?
Jedenfalls habe ich den Code durchforstet, an keiner einzigen Stelle
wird fest verdrahtet auf das Verzeichnis "WINNT" gepr�ft.
Aber dabei habe ich etwas ganz anderes gefunden, was im Zusammenhang mit
dem Aufruf externer Programme unter Windows ganz interessant ist
(xp1o.pas, XPWinShell):
----------8<----------
[...]
winnt:=win and (lstr(getenv('OS'))='windows_nt');
[...]
if winnt then
prog:='cmd /c start cmd /c '+batfile
else prog:='start command /c '+batfile
end;
[...]
----------8<----------
Aha...??? Da haben wir doch bereits den ber�hmten Start von CMD.EXE,
der offenbar dann ausgef�hrt wird, wenn die Umgebungsvariable "OS" den
Wert "Windows_NT" hat. Und siehe da:
> OS=Windows_NT
Das ist bei Dir (und vermutlich allen anderen Win2K/XP-Usern) der Fall.
Wann allerdings die "WinXPShell" Routine �berhaupt benutzt wird, das mu�
man sich nochmal genauer ansehen.
Der Code ist BTW genau so auch in XP2 drin (nicht aber in der originalen
3.20 von Peter, wenn ich nix �bersehen habe).
>>> Letzteres ist das Verzeichnis was �ber %SYSTEMROOT% zu finden ist,
>>> ersteres ist das Standardverzeichnis unter WinNT und W2k, aber
>>> nicht bei WinXP. Es scheint das FreeXP hier nicht die Systemroot
>>> Variable auswertet
>> Gerade XP2 wertet die garantiert nicht aus, das wei� gar nix von
>> WinNT und Konsorten.
> Stimmt fiel mir kurz nach abschicken auch auf.
Bzgl. %SYSTEMROOT% stimmt das zwar, aber siehe oben.
Xpost & f'up2 c.f.d
Michael
------------------------------------------------------------------------
FreeXP Entwickler-Mailingliste
[EMAIL PROTECTED]
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list