inno setup拷貝資料夾

2021-08-14 18:40:26 字數 2601 閱讀 7759

指令碼範例分析:先來看看一段用inno setup指令碼嚮導建立的基本指令碼的[setup]段:

[setup]

defaultdirname=/adobe/premiere 6.5-----(預設安裝路徑,就是「program files」資料夾)

defaultgroupname=premiere 6.5 漢化補丁----(預設新增在開始選單中的專案名稱)

allownoicons=yes--------------------------------------(建立快捷方式圖示)

licensefile=d:/漢化/許可檔案.txt------------------(顯示許可協議)

infobeforefile=d:/漢化/漢化說明.txt-------------(顯示軟體說明)

outputdir=成品-----------------------------------------(安裝程式存放位置)

outputbasefilename=premiere 6.5 漢化補丁--(安裝程式名稱)

setupiconfile=漢.ico----------------------------------(安裝程式圖示)

compression=lzma-------------------------------------(壓縮器:lzma)

solidcompression=yes--------------------------------(壓縮方式:一次性壓縮)

括號裡內容是筆者新增的注釋,我想大家應該能夠理解。不過,作為漢化補丁,一般不需要建立開始選單專案,不需要建立快捷方式圖示,不需要解除安裝功能,而要求具有自動尋找原程式安裝位置的功能,這樣可使補丁安裝更方便快捷, 因此作了如下修改:

(1)去掉以下專案:

defaultgroupname=premiere 6.5 漢化補丁----(預設新增在開始選單中的專案名稱)

allownoicons=yes--------------------------------(建立快捷方式圖示)

(2)增加以下專案:

disabledirpage=yes-------------------------------(不用指定安裝路徑)

disableprogramgrouppage=yes---------------(不要新增開始選單專案)

direxistswarning=no-----------------------------(不提示資料夾已存在)

uninstallable=no-----------------------------------(不要解除安裝程式)

(3)修改以下專案:原來的:

defaultdirname=/adobe/premiere 6.5----(預設安裝路徑,就是「program files」資料夾)

關鍵問題是,這個路徑是死的,一旦你在安裝premiere 6.5時更改了安裝路徑,比如有些人喜歡把大程式安裝到d盤,這麼一來,原路徑就無效了,結果您還得手動指定正確的路徑。這樣的安裝程式就顯得太「笨」了。那麼,如何讓補丁程式自動獲得原程式的實際安裝路徑呢?回答是:利用登錄檔。大多數應用程式安裝後都會向登錄檔的特定位置寫入安裝和解除安裝資訊,因此,只要讓安裝程式提取這些資訊並轉位自己的安裝路徑,就可實現自動定位功能。inno setup早就支援這個功能了,現在,我們把premiere 6.5的登錄檔資訊告訴它就行了,請看修改後的:defaultdirname=-------------(從登錄檔讀取premiere 6.5的實際安裝路徑) 接著來看看基本指令碼的[files]段, 前面講過,這一段是用來定義要打包到安裝程式裡的檔案的, 因此, 要搞清楚這幾個名詞:source:-------------檔案的存放位置(**)

destdir:-------------檔案要安裝到什麼地方(目標)

flags:----------------對檔案的附加處理引數(標示)下面來看看具體內容:

[files]

在安裝的時候執行某個可執行檔案...

[files]

source: "你要執行的檔名";

[run]

附:inno setup的安裝指令碼包含的主要段落:

[setup] 段:安裝和解除安裝程式的全域性設定,如作者資訊、安裝目錄、壓縮方式、是否解除安裝等。

[types] 段:定義安裝元件的型別,如「完全安裝」、「最小安裝」、「選擇安裝」。

[components] 段:定義可供選擇安裝的所有元件

[tasks] 段:定義安裝期間所有由使用者定製的任務。

[dirs] 段:定義使用者想額外建立的目錄。

[files] 段:定義要打包到安裝程式裡的檔案。

[icons] 段:定義要建立在開始選單、桌面或工作列等位置的快捷方式和圖示。

[ini] 段:定義向使用者系統中 .ini 檔案中新增的新條目。

[installdelete] 段:定義要在安裝之前刪除的檔案或資料夾。

[languages] 段:定義安裝程式中可使用的語言(適用於多國語言版)。

[registry] 段:定義安裝過程中要讀取、新建或刪除的登錄檔項。

[run] 段:定義要在安裝結束時執行的程式。

[uninstalldelete] 段:定義要在解除安裝時刪除的其他檔案或資料夾。

[uninstallrun] 段:定義要在開始解除安裝前執行的程式

拷貝資料夾

需要引用命名空間 using system.io 拷貝資料夾 包括子資料夾 到指定資料夾下,源資料夾和目標資料夾均需絕對路徑.格式 copyfolder 源資料夾,目標資料夾 public static void copyfolder string strfrompath,string strtop...

拷貝資料夾

需要引用命名空間 using system.io 拷貝資料夾 包括子資料夾 到指定資料夾下,源資料夾和目標資料夾均需絕對路徑.格式 copyfolder 源資料夾,目標資料夾 public static void copyfolder string strfrompath,string strtop...

VB拷貝檔案,拷貝資料夾

vb拷貝檔案,拷貝資料夾 1 新增引用microsoft scripting runtime 方法 選擇選單 工程 引用 選擇 microsoft scripting runtime 2 使用方法 option explicit private sub form load dim filesys a...