在Windows Vista / 7上的APPDATA中创建文件夹

时间:2011-06-12 18:03:22

标签: wpf permissions installer installshield appdata

我在WPF中创建了一个应用程序,它有用户配置文件,与Windows用户配置文件无关。这是一件非常简单的事情,但我需要将这些配置文件存储在某个地方。正如我所读到的,优先文件夹是Appdata,常见的应用程序数据等。对我来说,甚至文档都可以解决问题(这是一个学校项目,那些事情并不重要)。我的问题是如何在某些地方为配置文件文件夹创建一个,因为我的应用程序没有提升权限?我知道如何找到它们,但不能读/写。

我认为安装程序就是这样,我在Visual Studio 2010中使用InstallShield Limited Edition,但我不知道如何配置它以在安装时创建文件夹。

当我成功创建一个app文件夹并希望在其中写入或者他们没有以这种方式受到保护时,不合适的权限是否会出现问题?

提前Tnx。

3 个答案:

答案 0 :(得分:3)

我只是检查文件是否存在(使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),然后创建一个子文件夹并从你的应用程序写到那里。如果没有。你几乎总是有权写在那里。

安装程序几乎具有在任何地方写入的权限,因为用户必须在运行它之前授予它们。但是,我不认为安装程序是生成这些文件的正确位置。无论如何,您将不得不在以后覆盖它们。

答案 1 :(得分:2)

我找到了解决方案。在创建安装时,在InstallShield配置的快捷方式/文件夹段中,右键单击树中的某个位置会打开一个上下文菜单,可以在其中显示APPDATA和类似文件夹,然后配置您需要的内容,即创建文件夹要使用的应用程序。相当不直观的方法,因此它有效。

我已经尝试过,在APPDATA中的文件夹内写入不需要任何特殊权限。

这解决了我的问题。谢谢你们所有人:)。

答案 2 :(得分:0)

在安装过程中,您可以在AppData中设置文件夹的权限。例如,您可以为所有人设置完整权限。这样,您的应用程序应该在文件夹中具有写访问权。

在您的情况下,您可以通过InstallShield支持设置权限。另一种解决方案是使用XCACLS.EXE作为自定义操作。