Ich habe ein Konsolenprogramm in C # .NET entwickelt, das Excel Interop verwendet. Das Programm funktioniert einwandfrei auf meinem Entwicklungscomputer und im Windows Server 2008, wenn ich es von der Befehlszeile aus starte.
Wenn ich versuche, eine Aufgabe für die tägliche Ausführung zu planen, habe ich diesen nervigen Interop-Fehler:
%Vor%Die Datei 'e: \ excel.xls' existiert und wird beim Start des Programms komplett geschlossen, denn wenn ich versuche, das gleiche Programm in meiner Kommandozeile auszuführen, wird es wie erwartet beendet.
Ich habe meine Aufgabe auch so eingerichtet, dass sie als Administrator ausgeführt wird. Es sollten keine Probleme mit Berechtigungen sein.
Können Sie mir helfen?
Wenn Sie Office Automation von einer geplanten Aufgabe ausführen, kann es etwas komisch werden. Daher würde ich vorschlagen, ein anderes Benutzerkonto zu verwenden.
Wenn es funktioniert, wenn Sie eingeloggt sind, würde ich vorschlagen, den Taskplaner so einzurichten, dass er unter Ihrem Account ausgeführt wird. Wenn das noch funktioniert, erstellen Sie ein neues Konto mit den gleichen Berechtigungen wie Ihr Konto und führen Sie es unter diesem Konto aus.
Versuchen Sie andernfalls, sich als Administratorkonto anzumelden und sicherzustellen, dass die App ausgeführt wird, wenn Sie als Administrator angemeldet sind. Zum Beispiel gibt es vielleicht ein bisschen Office, das während der ersten interaktiven Anmeldung vom Benutzer oder ähnlichem eingerichtet wird.
Die Datei 'e: \ excel.xls' existiert
Es tut es nicht. Zugeordnete Laufwerksbuchstaben wie E: sind pro Benutzer. Das Laufwerk ist nur unter Ihrem Benutzerkonto gültig, die geplante Aufgabe wird wahrscheinlich mit einem anderen Konto ausgeführt. Anstatt mit Konten zu basteln, ist es am besten, einen universellen Namen zu verwenden. Wie \server\share\excel.xls
, das ist für jedes Konto gültig. Stellen Sie weitere Fragen dazu auf serverfault.com
Ich hatte Mühe, dies zur Arbeit zu bringen. Ich war über Google, ich dachte, dass ich mein Problem mit Hilfe eines Threads gelöst hatte, der einen Dropdown hatte, während ich die geplante Aufgabe aufstellte, die XP als die Option "Konfigurieren für" wählte, nur die XP-Option verfügbar, wenn Sie die Aufgabe von Anfang an erstellen. Das funktionierte gut, solange der Besitzer der geplanten Aufgabe tatsächlich in der Maschine angemeldet war.
Ich konnte es schließlich in der DCOM-Konfiguration korrigieren, indem ich die Identität änderte und einen Benutzer hart an das Panel kodierte.
Tags und Links c# windows-server-2008 scheduled-tasks excel-interop