Escreva na pasta "ProgramData" (W7 e Vista). NET

Eu instalo meu aplicativo no diretório "Arquivos de programa". E eu instalo dados, no diretório "ProgramData":

Environment.SpecialFolder.CommonApplicationData

No programData, criei uma pasta para salvar os dados. Exemplo:

C: \ ProgramData \ MyApp \ MyData \ aqui eu tenho arquivos e pastas

No XP, tudo corre bem. Mas não no Vista ou W7 OS.

Posso ler arquivos neste diretório, mas não consigo gravar, não consigo criar novos arquivos etc. O usuário está logado como administrador.

Onde posso armazenar dados sem restrições? Preciso armazenar dados em uma pasta visível para todos os usuários

EDITADO:

Eu tenho esse código no meu arquivo 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>

questionAnswers(3)

yourAnswerToTheQuestion