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>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage