Schreiben Sie in den Ordner "ProgramData" (W7 und Vista) .NET
Ich installiere meine App im Verzeichnis "Programme". Und ich installiere Daten unter "ProgramData" -Verzeichnis:
Environment.SpecialFolder.CommonApplicationData
In programData habe ich einen Ordner erstellt, um Daten zu speichern. Beispiel:
C: \ ProgramData \ MyApp \ MyData \ hier habe ich Dateien und Ordner
Unter XP läuft alles einwandfrei. Aber nicht unter Vista oder W7.
Ich kann Dateien in diesem Verzeichnis lesen, aber keine Dateien schreiben, keine neuen Dateien erstellen usw. Der Benutzer ist als Administrator angemeldet.
Wo kann ich uneingeschränkt Daten speichern? Ich muss Daten in einem Ordner speichern, der für alle Benutzer sichtbar ist
BEARBEITET:
Ich habe diesen Code in meiner app.manifest-Datei:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- Opciones del manifiesto de Control de cuentas de usuario
Si desea cambiar el nivel de Control de cuentas de usuario de Windows, reemplace el
nodo requestedExecutionLevel por alguno de los siguientes.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Si desea utilizar la virtualización de archivos y del Registro para la compatibilidad
con versiones anteriores, elimine el nodo requestedExecutionLevel.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>