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>