代码如下:
Private Sub extractArchiv(ByVal destDir As String, ByVal verfile As String)
        Try
            Dim strCountFile As Integer = 0
            Dim results As String
            Dim psi As New System.Diagnostics.ProcessStartInfo
            psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
            psi.WorkingDirectory = destDir
            psi.RedirectStandardOutput = True
            psi.UseShellExecute = False
            psi.CreateNoWindow = False            Dim p As System.Diagnostics.Process
            psi.Arguments = "/c cpio -iuv -I " & verfile
            p = System.Diagnostics.Process.Start(psi)
            p.WaitForExit()
            p.Close()
            p.Dispose()            Dim tmpStr As String
            tmpStr = ""
            TxtFileList.Text = ""            For Each tmpStr In Directory.GetFiles(destDir, "*.dgn")
                TxtFileList.Text = TxtFileList.Text & "&" & tmpStr.Remove(0, destDir.Length + 1)
                strCountFile = strCountFile + 1
            Next            For Each tmpStr In Directory.GetFiles(destDir, "*.cit")
                TxtFileList.Text = TxtFileList.Text & "&" & tmpStr.Remove(0, destDir.Length + 1)
                strCountFile = strCountFile + 1
            Next            For Each tmpStr In Directory.GetFiles(destDir, "*.rpt")
                TxtFileList.Text = TxtFileList.Text & "&" & tmpStr.Remove(0, destDir.Length + 1)
            Next
            Response.Write("<script>window.alert('cpio file should have been extracted when you see me" & strCountFile.ToString & "');</script>")
        Catch ex As Exception
            Response.Write("<script>window.alert('" & ex.Message & "');</script>")
        End Try
    End Sub调用cpio命令解压文件,我在自己的机子上(iis5.1 winxp)能够正确运行,可以解压。把编译后的dll放到另外的机子上(iis6,win2005)就不行了,代码可以执行到“
file should have been extracted when you see me”这里,不能正常解压,strCountFile为0,可能是什么原因导致这样的?(.net1.1)。 加急~

解决方案 »

  1.   

    iis5.1中使用aspnet帐号
    iis6使用network service帐号,确定帐号对文件和目录具有相应的权限
      

  2.   

    我都把network service加到administrators组里面去了,还是不行
      

  3.   

    另外的机子(iis6.0,win2003),不是2005,打错了..
      

  4.   

    network service 缺少写入访问权限
      

  5.   

    把文件的属性改为any都可写试下
      

  6.   

    可是我把network service添加到administrators组了