WinRAR的自解壓模式 - imsoft.cnblogs


一個 SFX ( SelF-eXtracting)自解壓文件是壓縮文件的一種,它結合了可執行文件模塊,一種用以運行從壓縮文件解壓文件的模塊。這樣的壓縮文件不需要外部程序來解壓自解壓文件的內容,它自己便可以運行該項操作。然而 WinRAR 仍然可將自解壓文件當成是任何其它的壓縮文件處理。所以如果你不願意運行所收到的自解壓文件 (比如說,它可能含有病毒時),你可以使用 WinRAR 來查看或是解壓它的內容。

自解壓文件通常與其它的可執行文件一樣都有 .exe 的擴展名。

  自解壓文件是很方便的,如果你想要將壓縮文件給某一個人時,但卻不知道他們是否有該壓縮程序可以解壓文件的時候。你也可以使用自解壓來發布你自己的軟件,例如 WinRAR 的安裝程序便是使用圖形 GUI RAR 自解壓模塊 Default.sfx 所制作的。

  要從命令行創建自解壓文件,你可以使用 -sfx 開關來制作新的壓縮文件,或是 S 來將已存在的壓縮文件轉換成自解壓文件。 在 WinRAR 圖形界面則有兩種方式,一個是當要創建新的壓縮文件時,從壓縮文件名和參數對話框選擇“創建自解壓文件”選項,另一個是輸入已存在的壓縮文件並單擊 “自解壓”按鈕。

  WinRAR 中包含了數個自解壓模塊,全部的自解壓模塊都有 .sfx 擴展名並且必須放在 WinRAR 所在的文件夾中。默認的 WinRAR 始終使用 Default.sfx 模塊,但是你也可以直接以“-sfx”開關或是“S”命令來直接指定其它的模塊名。例如,轉換 myarchive.rar 成為自解壓格式,使用 WinCon.SFX 模塊運行:

WinRAR SWinCon.SFX myarchive.rar

  在 WinRAR 圖形界面下,你可在菜單中選擇你想要用的自解壓模塊,在當你運行“轉換到自解壓文件”命令時,它就會出現讓你選擇。

 

㈠、圖形界面 RAR 和 ZIP 自解壓模塊(Default.SFX 和 Zip.SFX)

 

  使用這兩種模塊你可以創建 GUI (圖形模式) 自解壓文件 的 32 位 Windows 版本(Windows 95,98,NT 等等 ),這些模塊無法在 Windows 3.1 或 DOS 下運行。使用 Default.SFX 模塊於 RAR 壓縮文件 以及 Zip.SFX 給 ZIP 壓縮文件。

 

  在自解壓模塊包含的 Windows 資源是允許修改成你所需要的樣子的。例如,你可以在起始對話框中顯示你希望的位圖。WinRAR 並不提供修改資源的工具或文檔。這是個很復雜的過程,如果你要如此做,你必須有資源編輯器,並知道要怎樣使用它們。但如果標准的自解壓對話框即可滿足你的話,你就不需要再修改資源了。

  在自解壓模塊包含的 Windows 資源是允許修改成你所需要的樣子的。例如,你可以在起始對話框中顯示你希望的位圖。WinRAR 並不提供修改資源的工具或文檔。這是個很復雜的過程,如果你要如此做,你必須有資源編輯器,並知道要怎樣使用它們。但如果標准的自解壓對話框即可滿足你的話,你就不需要再修改資源了。如果你僅僅要改變自解壓的位圖或圖標,你可以使用高級自解壓選項對話框中的“文本和圖標”。

 

說明:WinRAR 默認創建的是 RAR 自解壓文件,所以在“模塊”中只能看到 RAR 自解壓模塊。如果要創建 ZIP 自解壓文件,則需要在“壓縮文件格式”中選擇為 ZIP 。然后,在“模塊”中就可以看到 ZIP 自解壓模塊了。

 

1,圖形界面自解壓模塊: 命令行選項

 

選項 描述 -d<路徑> 設置解壓文件的目標路徑。 -p<密碼> 指定加密的自解壓壓縮文件的密碼。

-s, -s1, -s2

緘默模式。開關 -s 是 -s1 的簡明形式。-s 和 -s1 都隱藏 SFX 對話框和解壓進程。-s2 隱藏啟動對話框,但是顯示解壓進程。 -sp<par> 定義傳遞給在 Setup 命令中指定的應用程序的參數。

 

2,圖形界面自解壓模塊: 安裝命令(自解壓腳本命令)

 

Setup

命令命令

語法

敘述

Delete Delete=<文件名> 解壓前先刪除文件 License License=<許可協議對話框標題 > 顯示程序的許可協議 Overwrite Overwrite=[n] 選擇文件的覆蓋模式 Path Path 設置默認目標路徑 Presetup Presetup=<程序> 指定解壓前運行的程序 SavePath SavePath 存儲目標路徑 Setup Setup=<程序> 指定解壓后運行的程序 Shortcut shortcut=<目標類型 >,<源名>,<目標文件夾 >,<描述>,<快捷方式名 > 創建解壓文件的快捷方式 Silent Silent[=參數] 跳過開始時的對話框 TempMode TempMode=[問題敘述 ][@窗口標題文本 ] 解壓壓縮文件到臨時文件夾 Text Text=<字符串> 添加文本到自解壓對話框文本窗口 Title Title=<標題> 設置自解壓對話框標題

 

3,“高級自解壓選項”對話框

  對話框可通過從把壓縮文件轉換成自解壓格式命令,然后單擊“高級自解壓選項”按鈕啟動。它允許指定一些自解壓壓縮文件的參數,如默認目標路徑,窗口標題和文本。它會使用在 Windows 自解壓模塊專門主題所描述的自解壓腳本命令,自動生成腳本。因此你不需要學習腳本語言和自己輸入命令,只需要設置想要的選項即可。

  請注意這些自解壓參數僅能夠應用在 Windows 圖形界面模塊,而不支持控制台或非 Windows 自解壓程序。

  此對話框的自解壓參數被結合成一個子對話框,描述如下 :  

 

⑴,自解壓選項: 常規

 

解壓路徑

設置要解壓文件的默認目標路徑。你可以選擇要將它創建在用戶的“Program Files”文件夾,或當前文件夾,或在此指定一個絕對路徑。前兩種情況不需要包含驅動器號或前綴的“\”反斜線字符,而第三個則必須要有。

相應的 自解壓腳本 命令 - Path

 

Path=<路徑>

設置默認的目標路徑。路徑的絕對使用起始點在不更改的情況下為 <驅動器號>:,如果 <路徑> 只包含了名稱,它將會被附加到“Program Files”文件夾下,如果你希望關閉如此的作用,請從“.\”字符開始定義起始 <路徑 >

例子:

a) 設置“Calc 3.05 beta”為文件夾名,位置在“Program Files”下,當成默認路徑:

Path=Calc 3.05 beta

b) 設置“C:\Calc”當作默認路徑:

Path=C:\Calc

c) 設置“Calc”在根目錄下當作默認路徑:

Path=.\Calc

 

解壓路徑/保存並恢復路徑

這個選項允許自解壓程序在注冊表中存儲用戶輸入的目標路徑,並在自解壓文件下一次運行時恢復相同的解壓路徑。原來的路徑值被放在輸入目標路徑區域的列表下拉菜單中,所以用戶可以在以前輸入的和原始路徑中選擇。

當安裝新版本或更新一些軟件到同樣的目錄時,這個功能可能很便利。它允許只改變一次目標路徑,而不需要每次都輸入。

這只可以用在非空的解壓路徑區域的組合框中。

相應的 SFX 腳本 命令 - SavePath

 

SavePath

這個命令允許自解壓程序在注冊表中存儲用戶輸入的目標路徑,並在自解壓文件下一次運行時恢復相同的 Path。原來的 Path 命令內容被放在輸入目標路徑區域的列表下拉菜單中,所以用戶可以在以前輸入的和原始路徑中選擇。

當安裝新版本或更新一些軟件到同樣的目錄時,這個功能可能很便利。它允許只改變一次目標路徑,而不需要每次都輸入。

SavePath 命令只能和 Path 命令一起使用一次。

例子:

Path=Calc 3.05

SavePath

 

安裝程序/解壓后運行

自解壓程序在成功解壓之后,將試着運行指定的程序。含有解壓文件的文件夾,在運行程序之前會被設為當前文件夾。如果程序名包含空格,則它必須使用引號。

相應的 自解壓腳本 命令 - Setup

 

Setup=<程序>

在成功解壓之后自解壓將會試着運行 <程序>。在運行 <程序> 之前,包含已解壓文件的文件夾將會設為當前文件夾

例子:

Setup=setup.exe

注意

1) 如果你在使用自解壓運行 InstallShield setup.exe 有問題的話,請試着運行 “Setup.exe /SMS”來代替簡潔的“Setup.exe”。此開關允許自解壓檢測安裝程序的退出。

2) 你可以使用 -sp<參數> 自解壓命令行開關 傳遞可選的參數到 Setup=<程序> 命令指定的程序。

3) 自解壓模塊在啟動安裝程序前設置 sfxnamesfxcmd 環境變量。sfxname 變量包含自解壓模塊的名字,sfxcmd 變量包含自解壓模塊接收的完整命令行。所以安裝程序可以在需要這樣的信息時讀取它。安裝程序如果需要這些信息可以讀取它們。

 

安裝程序/解壓前運行

在開始解壓之前,自解壓程序會試着運行指定的程序,在運行程序前,目標目錄會被設為當前文件夾。如果程序名包含空格,則它必須使用引號。例如,當安裝新版要覆蓋舊版時,要刪除舊版程序的時候,你便可以指定該命令。

相應的 自解壓腳本 命令 - Presetup

 

Presetup=<程序>

自解壓在解壓之前將試着運行 <程序>,在運行 <程序> 之前必須先指定目標文件夾。你可以使用此命令,比如說,當安裝新版本於舊版本上面時,用以刪除先前的程序版本。如果程序名包含空格,它必須包含在引號之內。

例子:

Presetup=uninstall.exe /clean

 

保存當前設置當成默認值

保存所有在 “高級自解壓選項”對話框 內所做的和當前的設置,並在以后每次創建 自解壓 壓縮文件時,以它們當作默認值。

 

⑵,自解壓選項: 高級

 

-目標文件夾中要刪除的文件

解壓前,自解壓程序會試着刪除所指定的文件或在目標文件夾內的文件。你可以在此輸入超過一個以上的文件,要如此做時,文件名之間必須以空格分隔。

如果在此指定的文件被鎖定而無法刪除,自解壓模塊在解壓前會試着將它臨時重命名,並在 Windows 重新啟動時刪除它,這能不能成功則取決於 Windows 版本的差異。

相應的 自解壓腳本 命令 - Delete

 

Delete=<文件名>

在解壓到目標文件夾之前刪除指定的文件,允許數個 Delete 命令。

如果在此指定的文件被鎖定而無法刪除,自解壓模塊在解壓前會試着將它臨時重命名,並在 Windows 重新啟動時刪除它,這能不能成功則取決於 Windows 版本的差異。

例子:

Delete=winrar95.exe

Delete=rarlng.dll

 

- 快捷方式

允許解壓后為被壓縮文件創建快捷方式。按下“添加快捷方式”按鈕來描述一個新的快捷方式。已經輸入的快捷方式參數被存儲在和快捷方式腳本命令格式相同的列表下。如果你願意的話,你可以手動編輯它。

相應的 自解壓腳本 命令 - Shortcut

 

shortcut=<目標類型 >,<源名>,<目標文件夾 >,<描述>,<快捷方式名 >

為解壓的文件常見一個快捷方式。

目標類型 是一個一個字符寬的區域,可以有下列值:

D 在桌面創建快捷方式 S 在開始菜單創建快捷方式 P 在開始菜單/ 程序中創建快捷方式 T 在啟動菜單中創建快捷方式

源名 是壓縮文件名。

目標文件夾是創建快捷方式的文件夾,如果它不存在,它將被自解壓文件創建。

描述 是描述快捷方式的字符串。

快捷方式名 是由自解壓創建的 .lnk (快捷方式 )文件的文件名。

所有參數用逗號分隔。如果你需要添加逗號字符在參數內,鑲入整個參數引用。如果你需要在字符串中插入一個引用標記,要輸入兩次引號。只有 目標類型源名是必需的,其它參數可選。

例子

在桌面創建在 WinRAR 文件夾中連接到 winrar.exe 的快捷方式,帶有“WinRAR 可執行文件”的描述和“WinRAR 壓縮文件管理器”的名稱:

Shortcut=D,winrar.exe,WinRAR,“WinRAR 可執行文件”,“WinRAR 壓縮文件管理器”

 

⑶,自解壓選項: 模式

 

-臨時模式/解壓文件到臨時文件夾

此選項強制自解壓程序創建一個臨時文件夾,然后將所有文件解壓縮到這個文件夾中,開始運行在 安裝程序/解壓后運行 區域所指定的程序,並在 安裝 程序完成后刪除臨時文件夾中的所有內容。當運行這些操作時,自解壓程序會自動設置為緘默模式 (下面說明)。如果設置“解壓壓縮文件到臨時文件夾”,你也可同時指定 安裝 程序且不使用 解壓路徑 區域。你還可以設置兩種可選的字符串參數,即定義問題和解壓縮前顯示問題的標題。此類型的例子下僅在用戶選擇“是”按鈕時才會開始解壓縮。

相應的 自解壓腳本 命令 - TempMode

 

TempMode=[問題敘述 ][@窗口標題文本 ]

此命令強制自解壓創建一個臨時目錄,將全部文件解壓至此,然后開始運行 Setup 命令所指定的程序,並在完成 Setup 程序之后將臨時目錄中的內容全部清除。當運行這些操作時,自解壓會自動設置為 緘默模式。如果 TempMode 命令存在的話,敘述中將有 Setup 命令且不得使用 path 命令。

TempMode 命令可以有字符串參數的選項,在解壓之前可用以定義問題和問題的標題。這樣的例子,僅在當用戶選擇了“是” 按鈕時才會開始解壓。

例子:

a) TempMode

b) TempMode=你希望繼續安裝 Calculator 3.05 嗎? Calculator 安裝程序

 

-緘默模式

默認自解壓在開始解壓縮前會先詢問確認,並允許用戶更改目標文件夾。如果你設置“緘默模式”的“隱藏啟動時的對話框”,這時會跳過確認畫面。如果你也希望隱藏解壓縮過程的話,請選擇“全部隱藏”。

相應的 自解壓腳本 命令 - Silent

 

Silent[=參數]

開始解壓時不顯示開始對話框。

參數 可以是 1 或 2。如果 參數 是 1,開始解壓對話框會完全隱藏,包含進程指示和文件名。如果 參數 被忽略或是 2,則跳過開始解壓的確認,但用戶仍然可以看到壓縮文件的解壓進程。

例子:

Silent=2

 

-覆蓋模式

在此你可以選擇讓自解壓程序如何操作你已存在的文件 : 覆蓋之前詢問 (默認值 )、永遠覆蓋或永遠跳過。

相應的 自解壓腳本 命令 - Overwrite

 

Overwrite=[n]

如果[n]為 0,在覆蓋文件之前用戶將會被先詢問。這是 覆蓋命令的默認動作,可以不需要指定。如果 [n]不存在或是等於[1],文件將在沒有確認的狀況下全部覆蓋。如果 [n]等於[2],所有已存在的文件將不會被覆蓋。

例子:

Overwrite=1

 

⑷,自解壓選項: 文本和圖標

 

-自解壓窗口標題

設置指定的文本作為自解壓窗口的標題。

相應的 自解壓腳本 命令 - Title

 

Title=<標題>

設置自解壓的窗口標題。

例子:

Title==Calculator,版本 3.05

 

-自解壓窗口顯示的文本

添加在自解壓模塊的文本輸出窗口中指定的純文本或 HTML 字符串。

對於純文本,為了使字符串和對話框匹配,自解壓模塊將合並和重新格式化指定的字符串。所以如果你希望重新生成一個新的段落,你需要在它前面放一個空的字符串。

你可以使用 HTML 來控制顏色,字體和顯示的格式。 HTML 語法的描述可以在 The World Wide Web Consortium 站點找到。也可以使用網頁編輯程序來產生 HTML 文本。

相應的 自解壓腳本 命令 - Text

 

此命令支持兩種語法版本:

a)

Text=<字符串>

b)

Text

{

字符串 1

字符串 2

...

}

它在自解壓模塊的輸出窗口添加指定純文本或 HTML字符串。當自解壓模塊第一次遇到 Text 命令,在添加<字符串 >前,它重設這個窗口默認內容。其后的命令追加 <字符串>到已經存在的文本后。

依賴於使用的語法,這個命令可以一次添加一個或者數個字符串。

對於純文本的過程中,為了使字符串和對話框匹配,自解壓模塊將合並和重新格式化指定的字符串。所以如果你希望重新產生一個新的段落,你需要在它前面放一個空的字符串。

你可以使用 HTML 來控制顏色,字體和顯示的格式。 HTML 語法的描述可以在 The World Wide Web Consortium 站點找到。也可以使用網頁編輯程序來產生 HTML 文本。

如果文本由數個字符串組成,自解壓模塊把‘ }’字符作為文本的結束標記,所以你在你的文本的字符串的首個位置不應該使用此字符。如果你需要在字符串的開頭使用‘ }’字符,在它前面插入空格。

例子:

a) 添加單個字符串到對話框窗口

Text=這是我的新程序

b) 添加指定文本到對話框窗口“Text

{

此程序最有趣的特性是:

- 支持 Windows 剪貼板;

- 每一個處理的文件大小最大為 10KB;

}

 

從文件加載文本

加載選擇文件的內容作為子解壓窗口文本。

 

從文件加載自解壓圖片

指定位圖圖像 (*.bmp) 文件用於創建或更新自解壓壓縮文件。

 

- 從文件加載自解壓文件圖標

使用目標 .ico 文件替換默認的自解壓文件包含的圖標。這個文件必須至少包含一個 32x32 圖標,16 或 256 色(或全有)圖標。推薦不需要包含16x16圖標。大小超過 32x32 和顏色數超過 256 色的圖標僅被基於 NT 的 Windows (NT, 2000, XP, 2003 等)支持,Windows 95, 98 和 Me 不支持。如果你要使用大的圖標大小和壓縮深度,則你不能使用任何第三方可執行文件壓縮程序壓縮自解壓模塊。

 

⑸,自解壓選項: 許可

 

- 許可窗口標題

設置指定的文本作為許可窗口標題。

 

-許可文本

當運行自解壓文件時顯示指定的作為軟件許可協議的文本。用戶可以接受它並繼續解壓或者拒絕它並退出。

許可文本可以包含 HTML 或純文本格式。在以后的處理過程中,為了使字符串和對話框匹配,自解壓模塊將合並和重新格式化指定的字符串。所以如果你希望重新生成一個新的段落,你需要在它前面放一個空的字符串。

你可以使用 HTML 標簽來控制顏色,字體和顯示的格式。 HTML 語法的描述可以在 The World Wide Web Consortium 站點找到。也可以使用網頁編輯程序來產生 HTML 文本。

相應的 自解壓腳本 命令 - License

 

License=<許可協議對話框標題 >

{

許可協議文本 1

許可協議文本 2

...

}

當運行自解壓文件時顯示指定的作為軟件許可協議文本。用戶既可以接受它並繼續解壓或者拒絕它並退出。

許可可以包含HTML 或者純文本格式。在以后的處理過程中,為了使字符串和對話框匹配,自解壓模塊將合並和重新格式化指定的字符串。所以如果你希望重新產生一個新的段落,你需要在它前面放一個空的字符串。

你可以使用 HTML 來控制顏色,字體和顯示的格式。 HTML 語法的描述可以在 The World Wide Web Consortium 站點找到。也可以使用網頁編輯程序來產生 HTML 文本。

如果文本由數個字符串組成,自解壓模塊把‘ }’字符作為文本的結束標記,所以你在你的文本的字符串的首個位置不應該使用此字符。如果你需要在字符串的開頭使用‘ }’字符,在它前面插入空格。

例子:

License=最終用戶許可協議書

{

所有版權於 RAR 均屬於作者所專有。

此程序是共享軟件,任何人在測試期限內均可以使用此軟件。

在測試期限過后,你“必須”注冊。

 

從文件加載文本

加載選擇文件的內容作為許可文本。

 

⑹,自解壓選項: 模塊

 

允許選擇 自解壓 模塊。 注意並不是所有的模塊都支持高級自解壓選項。它只被 圖形界面 RAR 和 ZIP 模塊( Default.SFX 和 Zip.SFX ) 支持,而不被 控制台 RAR 模塊 ( WinCon.SFX )DOS RAR 自解壓模塊 ( Dos.SFX ) 支持。

 

4,把壓縮文件轉換成自解壓格式

 

  此命令使用於當 WinRAR 是用在文件管理和壓縮文件管理模式時。它將會轉換壓縮文件成為自解壓。如果你在壓縮文件內部,你不需要選擇任何要運行該命令的文件,只要使用工具菜單、工具欄上的“自解壓文件”按鈕或鍵盤快捷鍵 Alt+X 運行“把壓縮文件轉換成自解壓格式”命令,並從列表中選擇需要的自解壓模塊。如果你在文件管理模式瀏覽未被壓縮的文件,首先選擇要搜索來轉換的文件和文件夾。

如果壓縮已經是自解壓文件,使用該命令可讓你從壓縮文件刪除已存在的自解壓壓縮模塊。這類例子時, WinRAR 不會改變原有的壓縮文件,只創建內容相同,但沒有自解壓模塊的新壓縮文件。

  如果你選定了 Windows 圖形界面自解壓模塊,會有些推薦的默認值,你也可以單擊“高級自解壓選項”按鈕設置例如默認目標路徑、標題和窗口文本等的自解壓參數設置。讀取高級自解壓選項主題可獲得更多關於它們的信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM