gpt4 book ai didi

.net - 写入 "ProgramData"文件夹(W7 和 Vista).NET

转载 作者:行者123 更新时间:2023-12-03 14:58:03 27 4
gpt4 key购买 nike

我在“Program Files”目录下安装我的应用程序。我在“ProgramData”目录下安装数据:

Environment.SpecialFolder.CommonApplicationData

在 programData 我创建了文件夹来保存数据。例子:

C:\ProgramData\MyApp\MyData\这里我有文件和文件夹

XP下一切正常。但不适用于 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>

最佳答案

可以在此处找到有关可以存储程序数据的不同位置的易于理解的说明:

http://blogs.msdn.com/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx

至于 ProgramData,它说:

FOLDERID_ProgramData / System.Environment.SpecialFolder.CommonApplicationData The user would never want to browse here in Explorer, and settings changed here should affect every user on the machine. The default location is %systemdrive%\ProgramData, which is a hidden folder, on an installation of Windows Vista. You'll want to create your directory and set the ACLs you need at install time.

关于.net - 写入 "ProgramData"文件夹(W7 和 Vista).NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com