将文件复制到Visual Studio的安装文件夹时拒绝访问

时间:2015-06-15 20:17:41

标签: c# visual-studio security vspackage

我正为Map<String,Object>VSPackage。该软件包应该下载一些XML Schema文件,然后将它们复制到Visual Studio的Visual Studio 2013

我使用%installation folder%\Xml\Schemas下载文件。将目标文件夹设置为WebClient等文件夹时,它可以正常工作。以下是执行此操作的代码:

C:\Test

问题:

当我将目标管理器设置为webclient.DownloadFileAsync(url, "% Destination Folder Here %"); 时,出现以下错误:

  

访问路径&#39; C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Xml \ Schemas&#39;被拒绝。

我尝试过:

1 - 在Windows中手动更改文件夹权限。

2 - (我更喜欢这样做)使用C#更改代码中的访问权限:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Xml\Schemas"

问题

我的应用程序如何将某些文件复制到Visual Studio安装文件夹中?

1 个答案:

答案 0 :(得分:1)

管理员权限是必需的,默认情况下,VS 2008或更高版本不会升级(具有管理员权限),用户应使用“以管理员身份运行”上下文菜单条目启动VS.程序包不应强制用户执行此操作,这意味着程序包无法将文件复制到C:\ Program Files(x86)(或写入注册表配置单元HKEY_LOCAL_MACHINE)。

您的软件包的设置可以做到这一点(如果设计的话,设置默认情况下可以使用管理员权限运行),但您的软件包不能。

相关问题