我已经开始成为一名好公民,按照这个问题:
Domain compatibility: where should shared data be written?
我的用户信息现在写入环境变量:
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
然后在那里附加一个目录。如果该目录不存在,则程序自动创建该目录,然后所有跨用户信息(日志文件,捕获数据,设置选项等)都存储在该文件中。我对该文件的理解是它应该完全是用户可写的,无论机器的设置如何。
在Windows XP上连接到域时,没有问题;检测到此文件并正确写入。在Windows 7上,该程序不起作用。用户的目录现在是C:\ ProgramData \ MyFolder,并且该文件夹是以只读方式创建的(天才!为什么不让它只是只读,毕竟,没有人想要写入CommonApplicationData位置!)。
我应该使用哪个目录?那个'特殊文件夹'是专门用于我需要的任务的文件夹,但看起来该文件夹不是用户可写的。
编辑以响应第一个回复: 我正在使用WiX安装程序,并且完全可以将任何文件添加到安装程序。我不知道如何去做,所以请回答WiX安装程序的神奇话语。
答案 0 :(得分:2)
根据Vista compatibility guidelines,您的应用程序应该在安装程序的CommonApplicationsData下为其内容创建一个文件夹(我是否提到它还必须有安装程序?),并在那里为该文件夹分配适当的权限。