我实际上是在尝试启动winzip和zip文件夹的过程。我正在使用vb。
中的以下代码Dim startInfo As New System.Diagnostics.ProcessStartInfo
Dim pStart As New System.Diagnostics.Process
Dim tempFileName As String
Try
startInfo = New System.Diagnostics.ProcessStartInfo( _
"c:\Program Files\WinZip\WINZIP32.EXE")
startInfo.Arguments = " -a -r ""c:\test.zip"" c:\test"
startInfo.UseShellExecute = False
startInfo.WindowStyle = Diagnostics.ProcessWindowStyle.Normal
pStart.StartInfo = startInfo
'startInfo.WorkingDirectory = "c:\Program Files\WinZip"
'startInfo.FileName = "WINZIP32.EXE"
pStart.Start()
pStart.WaitForExit()
Catch ex As Exception
Throw
End Try
当它放入Windows应用程序的按钮单击事件时,这可以正常工作。但是当在Web应用程序的按钮单击事件中完成相同操作时,我可以看到该过程在机器的任务管理器中启动。但它不是拉链也不关闭应用程序也不会弹出它的winzip ui ....但是在很少的机器中这确实很好用。在大多数机器中,我遇到了问题,并且能够始终如一地重现问题......
但是类似的事情,如果我尝试使用7z zip,它确实可以很好地形成一个Web应用程序本身......
如果有任何解决方案或解决方法,请告诉我......
由于 Vinod T。
答案 0 :(得分:1)
我相信.Net框架内置了zip功能。我会尝试先使用它们。由于Web服务器上的权限,您的zip程序可能未运行。
修改
我刚检查过,System.IO.Compression中的zip支持似乎有限。但根据this discussion,它可能不是你需要的。然而,该讨论提到了一篇名为“Decompress Zip files with Windows Shell API and C#”的文章。
答案 1 :(得分:0)
可能与IIS运行的用户有关;尝试更改应用程序池以在您的身份中运行以查看它是否有效。当然,winzip是一个UI工具 - 使用命令行zip实用程序可能会做得更好... pkzip; -p
就个人而言,我会考虑使用#ZipLib - 这将允许您在托管代码中操作zip文件。