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