代码如下:
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)。 加急~
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)。 加急~
iis6使用network service帐号,确定帐号对文件和目录具有相应的权限