Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 在Windows Vista/7上的APPDATA中创建文件夹_Wpf_Permissions_Installation_Installshield_Appdata - Fatal编程技术网

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

Wpf 在Windows Vista/7上的APPDATA中创建文件夹,wpf,permissions,installation,installshield,appdata,Wpf,Permissions,Installation,Installshield,Appdata,我在WPF中制作了一个应用程序,它有用户配置文件,与Windows用户配置文件无关。这是一件非常简单的事情,但我需要将这些配置文件存储在某个地方。正如我所读到的,首选文件夹是Appdata、common application data等。对我来说,即使是文档也可以做到这一点(这是一个学校项目,这些东西其实并不重要)。我的问题是如何在其中的一些地方为profiles文件夹创建a,因为我对我的应用程序没有提升的权限?我知道如何找到它们,但不会读/写 我想安装程序就是为了实现这一点,我正在使用Ins

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

我想安装程序就是为了实现这一点,我正在使用InstallShield Limited Edition和Visual Studio 2010,但我不知道如何在安装时将其配置为创建文件夹

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


Tnx提前。

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


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

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


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

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

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


这就解决了我的问题。多亏了大家:)。

已经这样做了,应用程序没有权限。如果不先询问用户,您永远不想这样做。即使在那时,你也真的不想这么做。我现在意识到我的用词不是很好。他可以从AppData设置文件夹的权限,而不是直接在AppData上设置权限。我认为你不需要问用户这个问题。如果它是您的自定义文件夹,您可以对其执行任何操作。如果它是您的自定义文件夹,则您已经具有在其中写入的权限。更改权限应由用户完成,并且只能由用户完成。