第二次寫**關係到呼叫rar實現解壓縮了。還是記錄下來一下問題。
第一次是寫demo,試驗通過rar解壓縮實現**公升級覆蓋。
第一次寫時遇到的問題記錄:
1。在xp下,在web中解壓覆蓋正在執行的asp.net程式目錄(自身覆蓋自身)。出錯-》異常是程序內自己無法覆蓋自己
解決過程是:以為通過建立應用程式域來解決這問題,失敗!
接著把專案放到win 2003 桌面上,呼叫解壓,能解壓,但亂七八糟的不知道解壓了什麼東西出來了。
原因是:桌面涉及到多個使用者問題,放到cdef盤就正常了。
然後把專案放到win 2003 其它乙個盤中,解壓正常。
原因應該是:xp的iis和win 2003的iis原理的不同。xp是單程序,2003是多程序。
第二次就是在做winform安裝包時。
通過呼叫rar解壓安裝專案,出現問題:
1。解壓路徑中帶有空格,所以出錯,弄了很久才發現。
解決就是如果路徑有空格,加雙引號包起來。
2。網上的命令列沒有後台執行引數
解決就是單獨搜尋,最後找到一條「-ibck"
發一下**:
public
bool
wartofoler(
string
rarfrompath,
string
rartopath)\"
\"\"
-o+ -r -ibck
", rarfrompath, rartopath);
rarpro.startinfo.useshellexecute
=false
;rarpro.startinfo.redirectstandardinput
=true
;rarpro.startinfo.redirectstandardoutput
=true
;rarpro.startinfo.redirectstandarderror
=true
;rarpro.startinfo.createnowindow
=true
;rarpro.startinfo.windowstyle
=processwindowstyle.hidden;
rarpro.outputdatareceived
+=new
system.diagnostics.datareceivedeventhandler(p_outputdatareceived);
rarpro.errordatareceived
+=new
datareceivedeventhandler(rarpro_errordatareceived);
rarpro.start();
//解壓開始
rarpro.beginoutputreadline();
rarpro.beginerrorreadline();
rarpro.waitforexit();
rarpro.dispose();
return
isok;
}void
rarpro_errordatareceived(
object
sender, datareceivedeventargs e)
}void
p_outputdatareceived(
object
sender, system.diagnostics.datareceivedeventargs e)}
rar引數命令我就不弄上來了,聽說rar安裝目錄的幫助文件下就有:我裝的破解版打不開。
Linux 壓縮 解壓縮RAR檔案
安裝 sudo apt get install unrar 解除安裝 sudo apt get remove unrar e將檔案解壓到當前目錄 例 rar e test.rar 注 用e解壓的話,不僅原來的file1.txt和file2.txt被解壓到當前目錄,就連dir1裡面的所有檔案也被解壓到...
Ubuntu 壓縮 解壓縮RAR檔案
在ubuntu 16.04下經常要用到壓縮 解壓縮rar檔案,每次都是網上搜尋教程,而且都沒有詳細解析每個命令的具體用法,現在詳細記下方法,以備再次用的時候方便的找到。因為 引數 e 和 x 經常用錯,特意記錄在此。ubuntu剛安裝的時候是不能解壓rar檔案的,只有在安裝了解壓工具之後,才可以解壓...
關於壓縮和解壓縮
從http www.icsharpcode.net 首先需要在專案裡引用sharpziplib.dll。然後修改其中的關於壓縮和解壓縮的類。實現原始碼如下 壓縮檔案 using system using system.io using icsharpcode.sharpziplib.checksum...