調(diào)用shell、已安裝的WinRar解壓文件。Shell
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、青浦網(wǎng)站維護(hù)、網(wǎng)站推廣。
"C:\Program
Files\WinRar\Winrar.exe
"
"命令行參數(shù)"命令行語(yǔ)法
從命令行也可以運(yùn)行
WinRAR
命令,常規(guī)的命令行語(yǔ)法描述如下:WinRAR
命令
-開關(guān)1
-開關(guān)N
壓縮文件
文件...
@列表文件...
解壓路徑\命令要
WinRAR
運(yùn)行的字符組合代表功能開關(guān)切換操作指定類型,壓縮強(qiáng)度,壓縮文件類型,等等的定義。
壓縮文件要處理的壓縮文件名。文件要處理的文件名。列表文件列表文件是包含要處理文件名稱的純文本。文件名應(yīng)該在第一卷啟動(dòng)??梢栽诹斜砦募惺褂?/p>
//字符后添加注釋。例如,你可以包含兩列字符串創(chuàng)建
backup.lst:
c:\work\doc\*.txt
//備份文本文檔
c:\work\image\*.bmp
//備份圖片c:\work\misc并接著運(yùn)行:
winrar
a
backup
@backup.lst你可以在命令行中同時(shí)指定普通的文件名和列表文件名。
解壓路徑只與命令
e
和
x
,搭配使用。指出解壓文件添加的位置。如果文件夾不存在時(shí),會(huì)自動(dòng)創(chuàng)建。
注意事項(xiàng)a)
如果未指定
文件
或是
列表文件
時(shí),WinRAR
將會(huì)以缺省的
*.*
運(yùn)行全部的文件;b)
如果未指定壓縮文件擴(kuò)展名時(shí),WinRAR
將會(huì)使用在
壓縮配置
中選定的默認(rèn)壓縮文件格式。但你可以指定
.RAR
或
.ZIP
擴(kuò)展名來(lái)替換它們
;c)
在命令行所輸入的開關(guān)會(huì)替換相同的配置設(shè)置值
;d)
在命令
c
、e、s、t、rr、k
和
x
可在壓縮文件名中使用通配符。如此可以用單個(gè)的命令來(lái)進(jìn)行超過一個(gè)以上的壓縮文件,除此之外,如果你指定
-r
開關(guān)于這些命令時(shí),它們將會(huì)搜索在子文件夾中的壓縮文件
;e)
某些命令和開關(guān)只應(yīng)用在
RAR
壓縮文件,有些則在
RAR
和
ZIP
都可使用,而某些則可應(yīng)用在全部的壓縮文件格式。這一些都得看壓縮文件格式所提供的特性而定
;f)
命令和開關(guān)的大小寫是相同意思的,你可以用大寫或者小寫來(lái)下命令均可。
如果機(jī)器安裝有winRar軟件,就可以通過shell來(lái)借用他的功能達(dá)到壓縮文件的效果;
參考代碼如下:
Dim DeliveryF As String = Server.MapPath("..\Temp\DeliveryFactors.xls") '原始文件 (壓縮前)
Dim TruckInfo As String = Server.MapPath("..\Temp\TruckInformation.xls")
Dim QDetail As String = Server.MapPath("..\Temp\QuotationDetail.xls")
'用shell命令調(diào)用winrar.exe創(chuàng)建壓縮文件()
Dim winRarexe As String = "C:\Program Files\WinRAR\Rar" 'winzip 執(zhí)行文件的位置
Dim wtarget As String = "C:\temp\QuotationVAComparsion.zip" '目地文件 (壓縮后)
Dim command As String = winRarexe " a " wtarget " " DeliveryF " " TruckInfo " " QDetail
'這個(gè)命令你可以查看winrar的命令集
Dim retval As Double 'Shell 指令傳回值
retval = Shell(command, AppWinStyle.MinimizedFocus)
這個(gè)問題可以用注冊(cè)表解決。
Function getOpenCommand(fileExt As String) as String
Dim fileType as String, openCommand as String
fileExt = "." + fileExt
'取得文件擴(kuò)展名在注冊(cè)表里的文件類型名稱
'比如.zip的類型名稱一般是zipfile
fileType = 讀取注冊(cè)表的classes_root下的子鍵(fileExt)的默認(rèn)鍵值
'取得打開這種文件的程序
openCommand = 讀取注冊(cè)表的classes_root下的子鍵(fileType + "\shell\open\command")的默認(rèn)鍵值
Return getOpenCommand
End Function
讀取注冊(cè)表的HKEY_CLASSES_ROOT下的子鍵的默認(rèn)鍵值的方法可以在網(wǎng)上搜索到。
這樣getOpenCommand("doc")就可以得到一個(gè)字符串(包括引號(hào)):
"C:\Program Files\Word\word.exe" "%1"
這里只需要用Spilt函數(shù)把C:\Program Files\Word\word.exe分離出來(lái)就好了
VB.NET安裝部署一).創(chuàng)建部署項(xiàng)目
1. 在“文件”菜單上指向“添加項(xiàng)目”,然后選擇“新建項(xiàng)目”。
2. 在“添加新項(xiàng)目”對(duì)話框中,選擇“項(xiàng)目類型”窗格中的“安裝和部署項(xiàng)目”,然后選擇“模板”窗格中的“安裝項(xiàng)目”。在“名稱”框中鍵入 setup1。
3. 單擊“確定”關(guān)閉對(duì)話框。
4. 項(xiàng)目被添加到解決方案資源管理器中,并且文件系統(tǒng)編輯器打開。
5. 在“屬性”窗口中,選擇 ProductName 屬性,并鍵入 信息管理系統(tǒng) 。
VB.NET安裝部署二).將 主程序 項(xiàng)目的輸出添加到部署項(xiàng)目中
1. 在“文件系統(tǒng)編輯器”中,選擇“應(yīng)用程序文件夾”。在“操作”菜單上,指向“添加”,然后選擇“項(xiàng)目輸出”。
2. 在“添加項(xiàng)目輸出組”對(duì)話框中,選擇“項(xiàng)目”下拉列表中的“你的程序”。
3. 單擊“確定”關(guān)閉對(duì)話框。
4. 從列表中選擇“主輸出”和“內(nèi)容文件”組,然后單擊“確定”。
VB.NET安裝部署三).創(chuàng)建安裝程序類
1. 在“文件”菜單上指向“新建”,然后選擇“項(xiàng)目”。
2. 在“新建項(xiàng)目”對(duì)話框中,選擇“項(xiàng)目類型”窗格中的“Visual Basic 項(xiàng)目”,然后選擇“模板”窗格中的“類庫(kù)”。在“名稱”框中鍵入 installDB。
3. 單擊“打開”關(guān)閉對(duì)話框。
4. 從“項(xiàng)目”菜單中選擇“添加新項(xiàng)”。
5. 在“添加新項(xiàng)”對(duì)話框中選擇“安裝程序類”。在“名稱”框中鍵入 installDB。
6. 單擊“確定”關(guān)閉對(duì)話框。
7. 詳細(xì)代碼附后。
VB.NET安裝部署四).創(chuàng)建自定義安裝對(duì)話框
1. 在解決方案資源管理器中選擇“setup1”項(xiàng)目。在“視圖”菜單上指向“編輯器”,然后選擇“用戶界面”。
2. 在用戶界面編輯器中,選擇“安裝”下的“啟動(dòng)”節(jié)點(diǎn)。在“操作”菜單上,選擇“添加對(duì)話框”。
3. 在“添加對(duì)話框”對(duì)話框中,選擇“許可協(xié)議”對(duì)話框,然后單擊“確定”關(guān)閉對(duì)話框。
4. 在“添加對(duì)話框”對(duì)話框中,選擇“文本框 (A)”對(duì)話框,然后單擊“確定”關(guān)閉對(duì)話框。
5. 在“操作”菜單上,選擇“上移”。重復(fù)此步驟,直到“文本框 (A)”對(duì)話框位于“安裝文件夾”節(jié)點(diǎn)之上。
6. 在“屬性”窗口中,選擇 BannerText 屬性并鍵入:安裝數(shù)據(jù)庫(kù).
7. 選擇 BodyText 屬性并鍵入:安裝程序?qū)⒃谀繕?biāo)機(jī)器上安裝數(shù)據(jù)庫(kù)
8. 選擇 Edit1Label 屬性并鍵入:數(shù)據(jù)庫(kù)名稱:
9. 選擇 Edit1Property 屬性并鍵入 CUSTOMTEXTA1
10. 選擇 Edit1Value 屬性并鍵入:dbservers
11. 選擇 Edit2Label 屬性并鍵入:服務(wù)器名:
12. 選擇 Edit2Property 屬性并鍵入 CUSTOMTEXTA2
13. 選擇 Edit2Value 屬性并鍵入:(local)
14. 選擇 Edit3Label 屬性并鍵入:用戶名:
15. 選擇 Edit3Value 屬性并鍵入:sa
16. 選擇 Edit3Property 屬性并鍵入 CUSTOMTEXTA3
17. 選擇 Edit4Label 屬性并鍵入:密碼:
18. 選擇 Edit4Property 屬性并鍵入 CUSTOMTEXTA4
19. 選擇 Edit2Visible、Edit3Visible 和 Edit4Visible 屬性,并將它們?cè)O(shè)置為 true
VB.NET安裝部署五).創(chuàng)建自定義操作
1. 在解決方案資源管理器中選擇“setup1”項(xiàng)目。在“視圖”菜單上指向“編輯器”,然后選擇“自定義操作”。
2. 在自定義操作編輯器中選擇“安裝”節(jié)點(diǎn)。在“操作”菜單上,選擇“添加自定義操作”。
3. 在“選擇項(xiàng)目中的項(xiàng)”對(duì)話框中,雙擊“應(yīng)用程序文件夾”。
4. 選擇“主輸出來(lái)自 installDB(活動(dòng))”項(xiàng),然后單擊“確定”關(guān)閉對(duì)話框。
5. 在“屬性”窗口中,選擇 CustomActionData 屬性并鍵入“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir="[TARGETDIR]/"”。
附:/targetdir="[TARGETDIR]/"是安裝后的目標(biāo)路徑,為了在installDB類中獲得安裝后的路徑,我們?cè)O(shè)置此參數(shù)。
VB.NET安裝部署六).添加文件
1. 將SQL Server備份成文件DB.dat添加到“setup1”項(xiàng)目(在企業(yè)管理器中右擊數(shù)據(jù)庫(kù)-所有工作-備份數(shù)據(jù)庫(kù),備份成一個(gè)文件,取名為DB.dat)
2. 將安裝文件LisenceFile.rtf添加到“setup1”項(xiàng)目
3. 在用戶界面編輯器中,選擇許可協(xié)議,設(shè)置LisenceFile屬性為L(zhǎng)isenceFile.rtf文件
4.一般會(huì)自動(dòng)將依賴項(xiàng)添加到“檢測(cè)到的依賴項(xiàng)”,如果沒有,那么我們要手動(dòng)將其加入步驟5)
Crystal_Managed2003.msm
(如果有水晶報(bào)表)
dotnetfxredist_x86.msm
(.net一定是必須的)
... (如果有引用其他的dll)
5.如果使用了水晶報(bào)表,手動(dòng)加入要包含的文件:項(xiàng)目--添加--合并模塊(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:/Program Files/Common Files/Merge Modules/ 下,*為必要的
具體功能如下:
(托管組件 MSM 處理所有托管組件的分發(fā),其中包括 Windows 窗體查看器、Web 窗體查看器和所有 Crystal Decisions 命名空間)
* Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
(對(duì)于使報(bào)表運(yùn)行所需的所有其他文件,由數(shù)據(jù)庫(kù)訪問 MSM 處理其分發(fā)。其中包括數(shù)據(jù)庫(kù)、導(dǎo)出和圖表驅(qū)動(dòng)程序。)
* Crystal_Database_access2003.msm
Crystal_Database_access2003_chs.msm
(KeyCode MSM 處理 Crystal Decisions 密鑰號(hào)碼的安裝,注意是添加合并模塊,否則沒有“MergeMouduleProperties”屬性)
* Crystal_regwiz2003.msm
(如果報(bào)表文件使用了 ADO.NET 的 dataset 數(shù)據(jù)集對(duì)象,那么 VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模塊也必須包含在安裝工程中。而且這兩個(gè)模塊的文件安裝屬性的"Module Retargetable Folder"項(xiàng)必須修改成為系統(tǒng)目錄)
VC_User_CRT71_RTL_X86_---.msm VC_User_STL71_RTL_X86_---.msm
(很多人經(jīng)常出現(xiàn)查詢錯(cuò)誤,不妨加上這個(gè))
6.打開解決方案--右鍵點(diǎn)擊Crystal_regwiz2003.msm的屬性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(這個(gè)是你生成Crystal Report是用到的注冊(cè)號(hào)的密碼?。?/p>
VB.NET安裝部署七).打包時(shí)加入卸載功能:
方法一:
1.在打包項(xiàng)目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)
2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為"卸載".
3.更改此快捷方式的Arguments 為"/x {產(chǎn)品id}",產(chǎn)品id的值為打包項(xiàng)目的ProductCode屬性值.
方法二:(推薦)
1.先生成安裝包,記下ProductCode(選擇解決方案資源管理器根目錄如setup1,再查看屬性標(biāo)簽,不是右鍵中的屬性),下面要用到
2.用VS.net建立一個(gè)新的控制臺(tái)程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process =
New Process
If System.Environment.OSVersion.
ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X
{2B65D4A9-C146-4808-AB4B-321F
B0779559}") '改為自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3.將控制臺(tái)程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式
VB.NET安裝部署八).打包時(shí)加入.net環(huán)境和MDAC功能:
把MS的PluginInstaller.msi插件裝上后,用vb.net的自帶的打包工具打包,就會(huì)自動(dòng)把.net framework環(huán)境打進(jìn)去,再下面的步驟進(jìn)行設(shè)置,就可以把MDAC也打包.使用 Setup 項(xiàng)目安裝 MDAC
1.確保 Visual Studio .NET 框架引導(dǎo)程序插件已安裝。
2.在 Solution Explorer 中選擇 Setup 項(xiàng)目。從 View 菜單指向 Editor,并選擇 Launch Conditions(啟動(dòng)條件)。
3.選擇 Requirements on Target Machine(搜索目標(biāo)計(jì)算機(jī)) 節(jié)點(diǎn)。從 Action 菜單,選擇 Add Registry Launch Condition(添加注冊(cè)表搜索)。
4.選擇 Search for RegistryEntry1 節(jié)點(diǎn)。在 Properties 窗口中,選擇 RegKey 屬性,并鍵入 Software/Microsoft/DataAccess。
5.選擇 Root 屬性,并選擇 vsdrrHKLM。
6.選擇 Value 屬性,并鍵入 FullInstallVer。
7.選擇 Property 屬性,并鍵入 MDACSEARCH。
8.在 Launch Conditions Editor(啟動(dòng)條件) 中,添加Condition1 節(jié)點(diǎn)。選擇 Condition1 節(jié)點(diǎn),在 Properties 窗口中,選擇 Condition 屬性,并選擇 MDACSEARCH="2.6"。
9.在 Solution Explorer 中選擇 Setup 項(xiàng)目。在 Project 菜單上,選擇 Properties。
10.將 Bootstrapper 屬性設(shè)置為 Windows Installer Bootstrapper(Windows 安裝引導(dǎo)程序)。