„Es befindet sich keine Diskette im Laufwerk.“ Fehlermeldung einer Anwendung, die gerade mit der Batchdatei xcopy von einer CD kopiert wurde, diese aber gar nicht benötigt

„Es befindet sich keine Diskette im Laufwerk.“ Fehlermeldung einer Anwendung, die gerade mit der Batchdatei xcopy von einer CD kopiert wurde, diese aber gar nicht benötigt

Alle,

Ich habe ein interessantes Problem, für das ich überall nach einer Antwort gesucht habe, aber keine gefunden habe. Hoffentlich kann jemand da draußen Licht ins Dunkel bringen, warum das passiert.

Ich habe eine CD mit mehreren C++-Anwendungen und einer Batchdatei, die ausgeführt wird, um die Dateien mit XCOPY an die richtigen Stellen zu kopieren. Ja, der XCOPY-Vorgang wird erfolgreich ausgeführt und die neuen Anwendungen werden an die richtigen Stellen kopiert.

Das Problem, das ich habe, ist, dass ich gleich nach dem Kopieren der Batchdatei das Batchdateifenster schließe, die CD auswerfe und eine der neu kopierten Anwendungen von ihrem neuen Speicherort auf dem Computer aus starte. Ich erhalte die Windows-Fehlermeldung „Es befindet sich keine Diskette im Laufwerk. Bitte legen Sie eine Diskette in Laufwerk D: ein“. (Das ist der Name meines CD-Laufwerks)

Meine Programme haben KEINE Verweise auf fest codierte/relative Pfade. Tatsächlich wird der Fehler NIE wieder angezeigt, wenn ich diesen Fehler 4 oder 5 Mal bestätige und das Programm erneut öffne. Um den Fehler erneut anzuzeigen, muss ich die Batchdatei erneut von der CD ausführen und die CD herausnehmen, bevor ich die Anwendung ausführe.

Nur zur weiteren Klarstellung: Das manuelle Kopieren/Einfügen (Strg+C, Strg+V) einer Anwendung von der Festplatte funktioniert einwandfrei. Wenn ich manuell kopiere/einfüge und die CD auswerfe, funktioniert das Programm einwandfrei. Dieser Fehler tritt nur beim ersten Ausführen des Programms auf, nachdem ich es mit einer Batchdatei kopiert und die CD entfernt habe, bevor ich das Programm ausführe. Ein Neustart des Computers nach dem Ausführen der Batchdatei verhindert außerdem, dass dieses Problem überhaupt auftritt.

Ich weiß, was Sie sagen: Wenn ein Neustart des Computers nach dem Kopieren der Datei das Problem behebt, warum stellt er diese Frage dann hier? Nun, ich muss diese Datei gleichzeitig auf über 30 nicht vernetzte Computer kopieren und es dauert SEHR lange, jeden davon neu zu starten.

Gibt es eine seltsame Windows-Markierung der Anwendungen, wenn sie mit XCOPY kopiert werden, sodass das Programm nach dem Kopieren immer noch denkt, es sei auf der CD? Hat jemand Vorschläge, Kommentare oder Links, die mich in die richtige Richtung weisen könnten? Jede Hilfe wäre phänomenal.

Vielen Dank!

BEARBEITEN: Ich habe vergessen zu erwähnen, dass dies auf dem Betriebssystem Windows XP basiert.

EDIT2: Hier ist der Code für meine Batchdatei.


@ECHO OFF

SET INSTALLSERVER=%~dp0
SET AppProgramFiles=%ProgramFiles%\ApplicationName\

XCOPY "%INSTALLSERVER%Scenario\*.*" "%AppProgramFiles%Scenario\" /C /Y /q
XCOPY "%INSTALLSERVER%Plan\*.*" "%AppProgramFiles%Plan\" /C /Y /q
XCOPY "%INSTALLSERVER%Data" "%AppProgramFiles%Data\" /C /Y /q /e
XCOPY "%INSTALLSERVER%Misc\*.*" "%AppProgramFiles%Misc\" /C /Y /q


Wie oben erwähnt, kann ich die Anwendung selbst kopieren/einfügen und das Programm läuft einwandfrei. Wenn ich es auf diese Weise mache, tritt KEINERLEI Fehler auf. Der Fehler „Keine Diskette im Laufwerk“ wird NUR angezeigt, wenn ich die Anwendung mithilfe einer Batchdatei kopiere. Tatsächlich habe ich das gleiche Problem festgestellt, wenn ich eine Anwendung mithilfe einer VBScript-Datei kopiere. Ich frage mich, ob Windows XP eine seltsame Methode hat, Anwendungen zu kennzeichnen, die mithilfe eines Prozesses wie Batch/VBScript von einer CD kopiert werden. Irgendwelche Ideen?

verwandte Informationen