当前位置: 首页 > 知识库问答 >
问题:

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

莫英卓
2023-03-14

我正在为Visual Studio 2013编写vspackage。此包应该下载一些XML架构文件,然后将它们复制到Visual Studio的%安装文件夹%\XML\schemas

webclient.DownloadFileAsync(url, "% Destination Folder Here %");

问题:

当我将目标文件设置为“C:\Program Files(x86)\Microsoft Visual Studio 12.0\xml\schemas”时,会出现以下错误:

拒绝访问路径'C:\Program Files(x86)\Microsoft Visual Studio 12.0\xml\schemas'。

ApplicationVariables.SCHEMA_PATH = @"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Xml\Schemas";

//  Set access to the schema directory.
DirectoryInfo schemaDirectoryInfo = new DirectoryInfo(ApplicationVariables.SCHEMA_PATH);
DirectorySecurity schemadirectorySecurity = schemaDirectoryInfo.GetAccessControl();
schemadirectorySecurity.AddAccessRule(
     new FileSystemAccessRule(
            new SecurityIdentifier(WellKnownSidType.WorldSid, null),
            FileSystemRights.FullControl,
            AccessControlType.Allow)
            );

// I also have tried this
        FileIOPermission filePermission = new FileIOPermission(FileIOPermissionAccess.AllAccess, ApplicationVariables.SCHEMA_PATH);
        try
        {
            filePermission.Demand();
        }
        catch (Exception ex)
        {
            Debug.WriteLine("Security Error = " + ex.Message);
        }

问题

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

共有1个答案

钱澄邈
2023-03-14

这需要管理权限,而VS2008或更高版本默认情况下不运行提升(使用管理权限),用户应该使用“以管理员身份运行”上下文菜单项启动VS。包不应该强迫用户这样做,这意味着包不能将文件复制到C:\Program files(x86)(或写入注册表配置单元HKEY_LOCAL_MACHINE)。

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

 类似资料:
  • 问题内容: 这是场景: 根文件夹中有一个文件 一些文件包含在其中是在文件夹中。 根文件夹中还有1个其他文件()用于表单提交操作。 我想通过htaccess 限制直接用户访问文件夹中的文件。也为。但是include将适用于文件。就像,如果用户键入,它将对其进行限制(可以重定向到错误页面)。 问题答案: 我只是将文件夹移出了Web根目录,但是如果您想阻止直接访问整个文件夹,则可以在该文件夹中放置一个文

  • 部署时,netbeans无法将上下文文件从文件夹复制到的。 已尝试: 中出现严重错误: 03-Oct-2019 16:31:22.358致命[http-nio-9200-exec-6]org.apache.catalina.startup.expandwar.copy将[C:\users\xxx\appdata\local\temp\context2716699461818377726.xml]复

  • 问题内容: 我的Ant构建中弹出一个奇怪的错误。构建的工作方式如下:build.xml调用一个新的buildTargets.xml文件,并且该文件中的大多数工作都已完成。buildTargets.xml在gwt- out / htdocs / 和另一个目录临时目录/ htdocs / 中创建了一堆新文件。基本上,文件是在gwt-out / htdocs中创建的,然后将其复制到staging / h

  • 我有一个Windows文件夹结构和文件,如下所示 c:\源文件\file1.txt c:\源文件夹\subfolder1\file2.txt c:\源文件夹\子文件夹2\file3.txt 我想复制所有文件到目标文件夹,如下所示 c:\DestinationFile\file1.txt c:\DestinationFile\file2.txt c:\DestinationFile\file3.tx

  • 问题内容: 我在FoxPro 6.0命令窗口中使用SQL命令,并遇到“文件访问被拒绝”。 我的SQL命令是: 情况: Windows 7专业版 FoxPro 6.0 main.dbf被共享给许多用户。 main.dbf不是 隐藏的 ,也不是 只写 任何意见将不胜感激! 问题答案: 此DBF文件位于共享驱动器上吗?如果是这样,则另一个用户可能使文件打开了“排他”,或者您正试图打开文件“排他”。默认状

  • 我试图通过操纵URL来拒绝用户访问文件夹。 我不知道我是否必须拒绝一切,并手动允许个别异常,如果我可以拒绝这一个文件夹,或者是否有一个可以使用的重写函数。 具体示例:我不想通过在URL中键入来查看目录文件。