2

我在 WPF 中创建了一个应用程序,它具有用户配置文件,与 Windows 用户配置文件无关。这是一件很简单的事情,但我需要将这些配置文件存储在某个地方。正如我所读到的,首选文件夹是 Appdata、通用应用程序数据等。对我来说,即使是 Documents 也可以解决问题(这是一个学校项目,这些东西并不重要)。我的问题是如何在其中一些地方为配置文件文件夹制作 a,因为我的应用程序没有提升的权限?我知道如何找到他们,但不知道读/写。

我想安装程序是为此而设计的,我正在使用带有 Visual Studio 2010 的 InstallShield Limited Edition,但我不知道如何配置它以在安装时创建一个文件夹。

当我成功创建应用程序文件夹并想在其中写入时,权限不足会导致问题,或者他们没有以这种方式保护?

提前Tnx。

4

3 回答 3

3

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

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

于 2011-06-12T18:13:20.013 回答
2

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

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

这解决了我的问题。感谢大家 :) 。

于 2011-06-13T11:18:37.407 回答
0

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

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

于 2011-06-13T08:07:44.243 回答