006
09.05.2008, 20:07 Uhr
Estron Dekal
|
Zitat: | Werner postete Ich habe mir Dein Programm nun etwas näher angesehen (Vorerst nur die Erläuterungen und die Funktionsweise). Von der Idee her müsste Dein Programm eigentlich funktionieren, da bei den Windows-NT-Versionen 4.0, 5.0, 5.1, und 6.0 die beiden Suchstrings in den Dateien ntio.sys bzw. ntioxxx.sys vorhanden sind. Tatsächlich funktioniert es unter VISTA Beta 2 aber immer noch nicht ("NotNT"). |
Mhm. Hatte mir diesen ntioxxx.sys-Kram auch angeschaut, deswegen hab ich's ja gewählt um die NTVDM zu erkennen. Einen Dank an Andy Watson, wer auch immer das war
Zitat: | Der grundlegende Unterschied zu vorangegangenen Windows Versionen besteht darin, dass es unter VISTA massive Zufriffbeschränkungen für Programme gibt. Viele Programme, selbst solche von denen es man das nicht erwarten würde lassen sich nur mit der Option "als Systemadministrator starten" zum laufen bringen. Ohne diese starten sie erst gar nicht, stürzen ab oder liefern schlichtweg unsinnige Ergebnisse. Ich halte es für möglich. dass der wesentliche Programmteil unter VISTA wegen Zugriffsverletzungen gar nicht ausgeführt wird und so die Fehleinstufung zustande kommt. Um weitere Test machen zu können müsste ich VISTA reinstallieren (nicht die Beta Version; die richtige VISTA-Version habe ich zwar noch auf einer Partition, kann sie aber nicht starten), und nach den Tests wohl endgültig durch WindowsXP ersetzen. Das wird aber einige Zeit dauern. |
Na, wird wohl doch nicht nötig sein. Bin jetzt durch einen Bekannten mal an einen laufenden Vista-Rechner gekommen, und habe den eigentlich SEHR banalen Fehler entdeckt: Die NTVDM (besser gesagt: NTIO.SYS) von Windows 2000, XP (und hoffentlich auch NT 3.x, 4.x) initialisiert die Systemdaten-Blöcke immer mit dem MCB-Bezeichner "SD", alle ungenutzten Stellen stehen auf 00h. Bei Vista sind diese Stellen, warum auch immer, NICHT mit Nullen gefüllt. Werde das Problem noch ein bisschen untersuchen und dann wohl ne neue Version des Programms hochladen.
Allerdings: Mit den Zugriffs-Rechten hatte ich auch wieder erhebliche Probleme, allerdings nicht beim Benutzen des Programms. Vielmehr durfte ich die Datei CONFIG.NT (von der NTVDM statt CONFIG.SYS benutzt) nur mit Administrator-Rechten überschreiben/bearbeiten. Sehr nervig!
Zitat: | DosAmp postete Unter meinem Windows Vista mit SP1 klappt es auch nicht, weder mit normalen noch mit erhöhten Benutzerrechten. Dass es also mit den fehlenden Rechten zu tun hat, würde ich mal anzweifeln, wohl aber damit, dass das simulierte DOS in Vista ziemlich verkrüppelt ist. |
Hab ich auch gemerkt. Abgesehen von der 32-MiB-DPMI-Beschränkung stellt VistaDOS anscheinend permanent keine UMBs mehr zur Verfügung. (Oder lag das nur an dem PC, an dem ich jetzt getestet habe?) Die Kommentare der CONFIG.NT suggerierten mir zwar, dass das mit Einfügen der (nicht standardmäßigen) EMM-Linie möglich wäre, hat sich aber nichts dran getan.
Zitat: | (So reichte es auch im Gegenzug für eine mehrsprachige Oberfläche auch nicht mehr für eine deutschsprachige Version von edit.com.) |
Ja, das ganze "Windows DOS" (wie sich COMMAND.COM der NTVDM selbst nennt) ist in Vista seltsamerweise nur noch auf Englisch verfügbar. War aber mit dem MS-DOS 8.00 (= Windows Me DOS), dass es auf den "MS-DOS-Startdisketten" von Windows XP gab, auch schon so.
EDIT: Anscheinend ist das Vista-Problem nicht Vista-Spezifisch, zumindest nicht direkt. Durch Auslassen der EMM-Zeile in der CONFIG.NT der Windows-XP-NTVDM wird der "SD"-MCB-Bezeichner ebenfalls nur "unsauber" geschrieben, die unbenutzten Stellen werden nicht mit Nullen aufgefüllt. Dies geschieht also immer, wenn der besagte SD-Block nicht in der UMA ist (welche wohl von vornherein nur Nullen drin stehen hat). Wie oben erwähnt sperrt VistaDOS die UMA anscheinend aber immer oder zumindest per Standardeinstellung, so dass der SD-Block hier immer im unteren Speicher angelegt wird. Dieser Post wurde am 09.05.2008 um 20:43 Uhr von Estron Dekal editiert. |