我正为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安装文件夹中?
答案 0 :(得分:1)
管理员权限是必需的,默认情况下,VS 2008或更高版本不会升级(具有管理员权限),用户应使用“以管理员身份运行”上下文菜单条目启动VS.程序包不应强制用户执行此操作,这意味着程序包无法将文件复制到C:\ Program Files(x86)(或写入注册表配置单元HKEY_LOCAL_MACHINE)。
您的软件包的设置可以做到这一点(如果设计的话,设置默认情况下可以使用管理员权限运行),但您的软件包不能。