Я устанавливаю свое приложение в каталоге «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>