类型'System.Security.SecurityException'的未处理异常

时间:2013-07-02 15:43:36

标签: windows vb.net exception vbscript

第一次海报长时间读者。我想说谢谢你们所有的工作。我一直在研究一个VB项目,目前我们有一些用dos编写的工具,但它的日期和目前只适用于&%^ $。我批量生产的是这个。

if exist %userprofile%\Local GOTO W7

RD  /s /q "%userprofile%\Local Settings\Application Data\Our Company Folder"

RD  /s /q "%userprofile%\AppData\Local\Our Company Folder"

这样做是在发生损坏时删除我们公司的配置文件夹。

由于我们在VB中创建了一个支持工具,我想将此命令更改为VB。

这就是我现在所拥有的

     Dim fso
        Dim wshshell As Object
        Dim USRPROFILE
        fso = CreateObject("scripting.filesystemobject")
        wshshell = CreateObject("wscript.shell")
        USRPROFILE = wshshell.expandenvironmentstrings("%APPDATA%")
        If fso.FolderExists(USRPROFILE & "\Our Company Folder") Then
            fso.DeleteFolder(USRPROFILE & "\Our Company Folder")
        End If
        USRPROFILE = wshshell.expandenvironmentstrings("%HOMEPATH%")
        If fso.FolderExists(USRPROFILE & "\Local Settings\Application Data\Our Company Folder") Then
            fso.DeleteFolder(USRPROFILE & "\Local Settings\Application Data\Our Company Folder")
      End If
End Sub

但是我收到此错误消息。 Microsoft.VisualBasic.dll中出现未处理的“System.Security.SecurityException”类型异常

附加信息:HRESULT异常:0x800A0046(CTL_E_PERMISSIONDENIED)

2 个答案:

答案 0 :(得分:0)

我将阅读该消息,因为运行VB代码的用户无权删除该文件夹。

答案 1 :(得分:0)

这是因为您没有正确的权限而执行程序的任何人,所以您有几个选项。

  • 更改文件夹权限
  • 以具有权限的人身份登录
  • 或按照以下链接中的建议运行其他人:

VB.Net - execute vbscript using process with 'run as administrator'