2009-06-04 6 views
0

Ich habe C# -Anwendung erstellt, die eine Image-Datei auf dem Desktop erstellt. Es funktioniert gut auf XP und Vista (Admin-Konto), aber es erstellt keine Image-Datei auf dem Desktop in Vista (Standard-Account).Dateierstellung schlägt fehl in Standard-Account (Vista)

Ob ich Manifest-Datei in die Anwendung aufnehmen muss, um ordnungsgemäß zu funktionieren? Wenn ich Manifest hinzufügen, wird es auf XP ohne Probleme funktionieren?

Sorry, wenn es eine lahme Frage ist. Vielen Dank im Voraus.

+0

Können Sie teilen sich den Code und Details zu genau, wie es fehlschlägt (Ausnahmemeldung und so weiter)? –

+0

Welchen Pfad benutzen Sie? –

Antwort

5

sicher, dass Sie die System.Environment.SpecialFolder Klasse verwenden, Ihnen zu sagen, wo Ihre Benutzer Desktop wirklich ist.

0

Um Ihre erste Frage zu beantworten, klingt es in Ermangelung jeglicher Details über den Code und die generierten Fehler so, als hätte das Standardkonto nicht die Berechtigung, eine Datei auf dem Desktop zu erstellen.

Können Sie das manuell tun, wenn Sie mit dem Standardkonto angemeldet sind? Ich habe Vista nicht installiert, also kann ich mich selbst nicht überprüfen.

+0

Ich kann die Datei manuell auf dem Desktop erstellen, aber die Dateierstellung durch das Programm schlägt fehl. – Mahesh

+0

Sie müssen uns mehr Informationen darüber geben, welche Zeile genau fehlschlägt und wie – ChrisF

0

Sie sollten keine Probleme beim Erstellen einer Datei auf dem Desktop haben. Dieser Desktop hat jedoch möglicherweise einen anderen Speicherort. Versuchen Sie tatsächlich, eine Datei auf dem Vista-Desktop zu erstellen, oder versuchen Sie versehentlich, eine Datei mithilfe von XP-Pfaden zu erstellen? Können Sie Ihren Code zu einem Beispiel mit 20 Zeilen destillieren?

2

In welchem ​​Ordner möchten Sie die Datei erstellen? Der freigegebene Desktopordner oder der Desktopordner des Benutzers? Normale Benutzer können keine freigegebenen Desktop-Dateien erstellen.

Sie sollten durch den folgenden Registrierungswert angegeben in den Ordner schreiben:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop 
0

Ich wette, es sind die Zugriffsrechte. Die Vista UAC-Sache, die auftaucht und um Erlaubnis bittet, wäre wahrscheinlich eine gute Sache.

überprüfen Sie diesen Link, wie UAC Zugang zu bekommen:

Demand UAC elevation for an application

0

Mit in dem Verzeichnis Ihrer App gibt Berechtigungen für Benutzer, Verantwortung zu übernehmen und zu löschen. Dazu müssen Sie auf der Registerkarte Sicherheit auf die Schaltfläche Erweitert klicken. Sobald Sie die Änderungen übernommen haben, sollte File IO funktionieren.

0

Mein Vorschlag wird nur benötigt, wenn versucht, Datei-IO in einem Systemverzeichnis wie C zu tun: \ Program Files ...