Запись в папку «ProgramData» (W7 и Vista) .NET

Я устанавливаю свое приложение в папку «Program Files». И я устанавливаю данные в папке «ProgramData»:

Environment.SpecialFolder.CommonApplicationData

В программе data я создал папку для сохранения данных. Пример:

C: \ ProgramData \ MyApp \ MyData \ здесь у меня есть файлы и папки

Под ХР все работает нормально. Но не под Vista или W7.

Я могу читать файлы в этом каталоге, но я не могу писать файлы, я не могу создавать новые файлы и т. Д. Пользователь вошел в систему как администратор.

Где я могу хранить данные без ограничений? Мне нужно хранить данные в папке, видимой для всех пользователей

Редакция:

У меня есть этот код в моем файле app.manifest:

<?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>

Ответы на вопрос(3)

Ваш ответ на вопрос