用户/公共在Windows 7中无法写入:我在哪里放置用户数据?

时间:2009-07-06 23:18:26

标签: windows-7 user-data

我已经开始成为一名好公民,按照这个问题:

Domain compatibility: where should shared data be written?

我的用户信息现在写入环境变量:

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

然后在那里附加一个目录。如果该目录不存在,则程序自动创建该目录,然后所有跨用户信息(日志文件,捕获数据,设置选项等)都存储在该文件中。我对该文件的理解是它应该完全是用户可写的,无论机器的设置如何。

在Windows XP上连接到域时,没有问题;检测到此文件并正确写入。在Windows 7上,该程序不起作用。用户的目录现在是C:\ ProgramData \ MyFolder,并且该文件夹是以只读方式创建的(天才!为什么不让它只是只读,毕竟,没有人想要写入CommonApplicationData位置!)。

我应该使用哪个目录?那个'特殊文件夹'是专门用于我需要的任务的文件夹,但看起来该文件夹不是用户可写的。

编辑以响应第一个回复: 我正在使用WiX安装程序,并且完全可以将任何文件添加到安装程序。我不知道如何去做,所以请回答WiX安装程序的神奇话语。

1 个答案:

答案 0 :(得分:2)

根据Vista compatibility guidelines,您的应用程序应该在安装程序的CommonApplicationsData下为其内容创建一个文件夹(我是否提到它还必须有安装程序?),并在那里为该文件夹分配适当的权限。