Laden...

Problem mit Paketprojekt für Windows-Store

Erstellt von Kriz vor 5 Jahren Letzter Beitrag vor 5 Jahren 981 Views
K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 5 Jahren
Problem mit Paketprojekt für Windows-Store

Moin zusammen,

folgender Sachverhalt: Ich entwickel eine WPF App, diese wollte ich im Windows-Store hochladen. Dafür muss ich die Desktop-Bridge benutzen.
Nun besteht mein Projekt aus meiner eigentlichen App und dem Paketprojekt.

Meine App speichert einige Sachen im Roamingfolder, also standartmäßig C:\User<Username>\AppData\Roaming\myApp, den Dateipfad bekomme ich über

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "myApp")

Wenn ich nun meine App aus Visual Studio starte und der Startpunkt das Paketprojekt ist, dann ergibt sich folgendes Problem:
Beim Start der App sollen zwei Dateien aus dem App-Stamm-Verzeichnis ins AppData\Roaming-Verzeichnis kopiert werden. Das scheint zu funktionieren, denn wenn ich es zwei mal hintereinander versuche, dann wird beim zweiten mal eine Exception geworfen dass das File schon vorhanden ist.
Nur kann ich den App-Ordner nicht im Roaming-Verzeichnis finden... Die App läuft bis zu diesem Zeitpunkt ohne Probleme, es wird auch auf die Daten korrekt zugegriffen die kopiert wurden, aber wie gesagt, ohne dass das Verzeichnis offenbar vorhanden ist. Wenn ich im Debugmodus einen Haltepunkt an der entsprechenden Stelle setze, dann wird auch das korrekte Verzeichnis beim kopieren angegeben.

Ein weiteres Problem ist, dass ich ein PDF erzeuge, dieses speicher (im Roaming-Verzeichnis) welches zu klappen scheint da keine Fehlermeldung kommt. Wenn ich nun versuche die PDF mit Process.Start() zu öffnen, wird kurz der IE angezeigt (mein Standartrogramm für PDF) und schliesst direkt wieder, im Debugfenster sehe ich dann dass die gesuchte Datei nicht gefunden wurde...

Letztes Koriosum... wenn ich das alles nicht im Roamingverzeichnis, sondern beispielsweise "C:\myApp", dann funktioniert alles ohne Probleme...

Hab ich irgendwo einen Denkfehler?

Vielen Dank!
Kriz

16.835 Beiträge seit 2008
vor 5 Jahren

Store Apps laufen im Isolated Context; Du hast bei weitem nicht die Rechte und Zugriffsmöglichkeiten, wie eine "normal" installierte Applikation.
Und das Handling von Ordner funktioniert in einer UWP Runtime völlig anders, als in einer Win32 Runtime.

Store and retrieve settings and other app data

Der Zugriff auf C:\ erfolgt auch nur, wenn Du als User bzw. über die Consents entsprechende Rechte hinterlegt hast.

K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 5 Jahren

@Abt

Nachdem ich deinem Link gefolgt und mich noch etwas weiter gebildet habe, habe ich heraus gefunden, dass Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "myApp")den Ordner erstellt hat, allerdings nicht an der von mir erwarteten Stelle, sondern etwas weiter in den Tiefen des AppData-Verzeichnisses...
Wie es scheint wurde alles korrekt gespeichert und geladen.

Was allerdings immer noch nicht funktioniert ist das öffnen des PDF-Files... obwohl der gleiche Pfad zum speichern und öffnen benutzt wird, funktioniert nur das speichern. Wenn ich Process.Start(<pfad>) aufrufe, öffnet der IE nur für max eine Sekunde und schließt direkt wieder und im Debug-Fenster steht dass die Datei nicht gefunden wird...