Lilyandy 發表於 2007-9-26 13:00:03

關於BinPatch版本問題?

<P>關於BinPatch版本問題?</P>
<P>&nbsp;</P>
<P>說起來慚愧,晚輩雖然具初階中文化經驗,</P>
<P>但是經常卡在 Patch製作出來的 補丁檔太大了,</P>
<P>經過研究多時,總算發現 BinPatch 原來有分版本,</P>
<P>之前都呆呆的用 BinPatch 2.1g R2,</P>
<P>這玩意兒不但停止開發了,</P>
<P>也買不到註冊版本,</P>
<P>以至於無法加入文字說明,</P>
<P>&nbsp;</P>
<P>後來嘗試使用 BinPatch 3.0n,</P>
<P>雖然是使用 MS-DOS 指令,</P>
<P>但卻能夠加入文字說明,</P>
<P>雖然沒有 GUI 介面,</P>
<P>不過 Patch 檔做的很小,</P>
<P>至少比晚輩常用的 WinPatch 1.2.9 產生的 Patch 小一半以上.....</P>
<P>&nbsp;</P>
<P>因此,重點來了?</P>
<P>由於 BinPatch 已經停止開發了,</P>
<P>而晚輩僅找的到以下最新版本:</P>
<P>Windows模式:BinPatch 2.1g R2 →無法購買註冊。</P>
<P>MS-DOS模式:BinPatch 3.0n </P>
<P>&nbsp;</P>
<P>不知以上版本是否為目前最新版呢?</P>
<P>&nbsp;</P>
<P>望前輩指教~^_^~ 謝謝您!</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>另外,由於 BinPatch 的 GenPatch ,</P>
<P>在下達 c:\&gt;genpatch/? 時,</P>
<P>指令參考少的可憐。</P>
<P>不知有沒有完整的指令參數呢?</P>
<P>&nbsp;</P>
<P>以上請前輩們指教,謝謝您!^_^</P>

MarchFun 發表於 2007-9-26 13:51:03

<P>BinPatch 本來就可以產生 Windows 介面,只要加上一個參數就行,底下是網友 Jonson 對 BinPatch 所寫的簡單教學:</P>
<P>&nbsp;</P>
<P>大家好,我是 Jonson</P>
<P>由於上次公佈的說明,有部份遺漏,故此次補上完整的說明</P>
<P>這一次 BinPatch 說明新增加以下部份指令:<BR>=============================================================================<BR>History Patch (又名為 Multiversion Patch) 多重 Patch 說明,以及 -l&nbsp; -m&nbsp; -q&nbsp; -s&nbsp; -v -z <BR>等指令介紹。</P>
<P>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-<BR>BinPatch 3.0g 簡易說明&nbsp;&nbsp; Written by Johnson Wu&nbsp;&nbsp; E-mail:[email protected]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date: 1999/4/2<BR>作者網站: <A href="http://www.kayhayen.com/">http://www.kayhayen.com</A><BR>=============================================================================</P>
<P>BinPatch 是一套由德國人 Kay Hayen 所研發的一套檔案 patch 程式,目的是讓使用者<BR>根據兩個新舊版本檔案之間的差異來產生一個小體積的檔案 (簡稱為 patch 檔), 而其<BR>他人只需要利用這個小檔案即可將舊版的檔案轉換為新的版本!</P>
<P>聽起來蠻不錯的,但是也許有人會說:這有何稀奇! 隨便上網抓就有一卡車的軟體能夠<BR>做 patch 檔…</P>
<P>的確,幾個比較有名的軟體例如:RTPatch, WinPatch, MDIFF...等都有相當數量的支持<BR>者,不過既然是介紹 BinPatch,那得替 BinPatch 提出有力的證明才行啊。</P>
<P>因此我作了一份表格讓您比較一下:</P>
<P>&nbsp; ┌─────┬───────┬───────┬─────┬──────┐<BR>&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; BinPatch&nbsp;&nbsp; │&nbsp;&nbsp; RTPatch&nbsp;&nbsp;&nbsp; │ WinPatch │&nbsp;&nbsp; MDIFF&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │使用簡易性│&nbsp;&nbsp;&nbsp;&nbsp; 容易&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 麻煩&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; 適中&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp; 容易&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │適用的作業│DOS,Win31/95/ │DOS,Win31/95/ │ Win95/98 │DOS,Win95/98│<BR>&nbsp; │平台&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │98/NT,OS/2,&nbsp;&nbsp; │98/NT,OS/2,&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │Linux 及其它..│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │自動搜尋檔│&nbsp;&nbsp;&nbsp;&nbsp; 可以&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 可以&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; 不能&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp; 不能&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │案&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │自動搜尋登│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │錄檔&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 可以&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 可以&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; 不能&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp; 不能&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │命令列或是│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │GUI 介面&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 均有&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 均有&nbsp;&nbsp;&nbsp;&nbsp; │ 僅有 GUI │ 只有命令列 │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │產生的檔案│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │大小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp; 很大&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; 很大&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp; 中等&nbsp;&nbsp;&nbsp; │<BR>&nbsp; ├─────┼───────┼───────┼─────┼──────┤<BR>&nbsp; │具備有多重│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │<BR>&nbsp; │patch 功能│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │&nbsp;&nbsp; 不能&nbsp;&nbsp; │&nbsp;&nbsp;&nbsp; 不能&nbsp;&nbsp;&nbsp; │<BR>&nbsp; └─────┴───────┴───────┴─────┴──────┘</P>
<P>參考上面的表格之後,您是否對 BinPatch 燃起了一點信心呢?</P>
<P>底下我們示範一組基本的用法:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GenPatch&nbsp; c:\old&nbsp; c:\new&nbsp; patch<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---+----&nbsp; --+---&nbsp; --+---&nbsp; --+--<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要產生的 patch 檔名<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 新的檔案<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原始檔案<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BinPatch 主程式</P>
<P>以上命令將會比較 c:\old 以及 c:\new 兩個目錄下所有的檔案 (包括子目錄),並且按<BR>照比較的結果產生一個名稱為 patch.utp 的檔案,請注意:副檔名 .utp 是程式自動加<BR>上去的,所以不需要自行添加。</P>
<P>讀到這裡,您可能會感到奇怪為何產生的檔案並非是執行檔(.exe)呢? 因為上面的例子<BR>只是簡單的用法, .utp 格式的 patch 檔因為不能做自動修改檔案的動作,所以必須要<BR>套用 BinPatch 的另一個附加程式 DoPatch.exe,其使用的方法如下:</P>
<P>DoPatch test.utp</P>
<P>請注意:使用 DoPatch 時,使用者必須要指定一個完整的檔名,因此 .utp 也要自行加<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 入才可以。</P>
<P>那怎麼做才能產生我們要的自動修改檔 (SelF-Applying, 以下簡稱為 SFA) 呢?</P>
<P>介紹您認識第一個參數之前有件非常非常重要的事要告訴您, 在 BinPatch 中所有的參<BR>數都有大小寫的區別,例如: -a 和 -A 是不同的參數,請務必記得喲!</P>
<P>Ok, "-s" 是您一定要記得的參數,它的功能就是產生 SFA 檔。 底下是範例:</P>
<P>GenPatch c:\old c:\new patch -s</P>
<P>由上面的例子我們可以得到 patch.exe 檔。</P>
<P>不過,還有一個問題,原始的檔案被 patch.exe 修改完之後,這些舊檔案會躲到那裡去<BR>呢? 若改檔順利的話,原始檔案一定會存放在該軟體所在的位置中名稱為 "backup" 的<BR>目錄下。例如,在 c:\test 修改檔案,則原始檔案最後將存放在 c:\test\backup 下。<BR>"backup" 這個目錄是 patch 檔案之後 SFA 自己產生的,您可別笨笨的先去給他造一個<BR>喔! :-)</P>
<P>另一個有用的功能稱為 "History Patch" 又稱為 "多重 Patch"。何謂 "多重 Patch"?<BR>我們時常看過許多的軟體在推出新的版本時, 該公司會在網站上提供升級檔讓使用者下<BR>載,例如:升級檔的使用說明會陳述到… "本程式僅供 1.1, 1.2 及 1.5 版的使用者升<BR>級到 2.0 版…",很顯然,這個 patch 檔並不只針對單一的版本升級,而是3個版本的<BR>用戶都適用。</P>
<P>BinPatch 也提供這種強大的功能! 怎麼做呢? 方法很簡單,我們以上面提到的情況來<BR>示範 "多重 Patch" 的用法:</P>
<P>GenPatch c:\v11 c:\v12 c:\v15 c:\v20 upgrade -s<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------ ------ ------ ------<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 4</P>
<P>第 1、2、3 組目錄存放各個不同版本的檔案, 最後一組(4)放新版的檔案,這樣所<BR>產生的 patch 檔 (upgrade.exe) 就能讓擁有三種不同版本的使用者升級到 2.0 版了!</P>
<P>看到這裡的讀者先恭喜您,已經畢業啦! 基本上,只有 -s 這個參數也已經很夠用了,<BR>因此我將這整個說明劃分為兩部份, 從以下開始後半段是其它參數使用介紹,若是有空<BR>您也可以參考一下。<BR>───────────────────────────────────────</P>
<P>BinPatch 3.0g 參數使用說明<BR>==========================</P>
<P>參數名稱&nbsp;&nbsp;&nbsp; 原英文名稱&nbsp;&nbsp;&nbsp; 用途說明<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 讓 BinPatch 處理所有的檔案。 加上 -a 可以一併處理隱<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 藏檔。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Backup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定原始檔案所要存放的目錄。 若不加上此參數則預設的<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目錄為 "Backup"。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -b="Backup Directory"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -b=OldFiles<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 將 patch 檔加上檔頭註解文字。 在 patch 檔執行時會先<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 秀出來讓使用者觀看。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -c="註解的上限為 10 x 76 個字元\n可以換行。"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="mailto:[email protected]">[email protected]</A></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 1: "\n" 是特殊控制符號,可讓註解自動換行。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 2: "@comment.txt" 指定 comment.txt 檔的內容做為<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註解。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 patch 檔案時,刪除指定的檔案。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -d="a secret file.doc"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d=security.sys<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d=file*.hlp<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -j&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 無&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BinPatch 內建有壓縮系統, 所以製造出來的 patch 檔實<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 際上都已經壓縮過了, 如果您為了某些理由不願意壓縮,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 則可以使用 -j 取消壓縮的功能。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 這是 BinPatch 非常重要的功能, 此功能又稱為:登錄檔<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 搜尋(registry searching)。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 當我們將製作好的 patch 檔丟給其他人用時,必須要考慮<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到使用者在使用上的便利性, 如果能讓使用者不必煩惱要<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在那一個目錄下使用, 只要一執行 patch 檔就能為我們完<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 成所有的事情, 那不是很方便嗎?</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通常軟體安裝之後, 都會在登錄檔裡頭留下檔案存放的路<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 徑。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在此我們假設以登錄編輯器找到一個 key 為:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HKEY_CURRENT_USER\Software\My Program"</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假設其 key 的名稱 (key name) 為: "InstDir"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假設其 key 的值 (key value) 為:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "C:\Program Files\My Application"</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 則使用以下命令可讓 patch 檔執行時擷取該 key 的值:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -k="HKEY_CURRENT_USER\Software\My Program\InstDir"</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 則結果會讓 BinPatch 自動切換到:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "C:\Program Files\My Program" 目錄下修改檔案。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 又假設在 HKEY_CURRENT_USER\Software\My Program"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 這個 key 之中含有一個預設值 (default)。則可用下列命<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 令讓 BinPatch 自動擷取此值:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -k="HKEY_CURRENT_USER\Software\My Program\"</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 眼尖的人會發現多了一個 "\" 符號, 而加上 "\" 意思就<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是讀取預設值(default)。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (註:當registry中有空白時, 需加上"")<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log file&nbsp;&nbsp;&nbsp;&nbsp; 將 BinPatch 產生 patch 檔的過程存到記錄檔(log)中。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假設 patch 檔的名稱為 test.exe 則 log 檔將命名為:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test.log。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -l=txt<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -l=htm<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -l</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 1: "txt" 是指建立純文字型態的 log 檔。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 2: "htm" 表示所建立的 log 檔為 html 格式。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 3: 不指定 log 型態則預設為 txt 檔。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 限制 BinPatch 建立 patch 時所需要使用的記憶體。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -m=6<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -m=99</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 1: -m=n,n 的值範圍可由 5-100,值越大則 BinPatch<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用的記憶體越少, 但相對的也會減慢建立 patch<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 檔的速度。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 2: 預設值為 5。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quiet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 建立 patch 檔的過程中僅量不顯示相關的訊息在螢幕上。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self-applying&nbsp;&nbsp; 建立 SFA patch 檔(副檔名為 .exe)。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -s=gui32<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -s=gui16<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -s</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 1: gui32 表示建立 Windows 95/98/NT 具有視窗操作<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 介面的 SFA。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 2: gui16 為建立 Windows 3.1 視窗介面的 SFA。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 3: 只有 -s 表示建立 DOS 或 Windows 95/98 DOS 型<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 態的 SFA。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ※ 目前並不建議您使用 gui32 或 gui16 模式, 因其視<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 窗中所顯示的字型還不能調整或設定 (醜醜的),作者<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 已經承諾將改進這個缺點。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在建立 patch 檔的過程中, BinPatch 會將所有被處理的<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 新檔案的日期記錄在稍後製造的 patch 檔中,而之後當使<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用者執行 patch 時, BinPatch 則使用這些記錄一併把被<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改的檔案日期變更到與當初製造者的檔案日期一致。 -t<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 參數是用來改變 BinPatch 對檔案日期處理的方式。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -t=n&nbsp;&nbsp;&nbsp; (n = now)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -t=l&nbsp;&nbsp;&nbsp; (l = latest)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 1: "n" 表示直接以目前的日期/時間作為修改後的新檔<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 案日期。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註 2: "l" 以最接近現在日期的檔案為準, 其它檔案的日<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 期全部與該檔案一致。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -u&nbsp;&nbsp;&nbsp;&nbsp; Unimportant File 顧名思意,就是指定哪些檔案是不重要的。 也就是說修改<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 檔案時, 若該檔案不存在、版本不符合或者只是一個小小<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 的文字檔時會導致 BinPatch 跳過這些檔案不予處理。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 註:在正常情況下 BinPatch 遇到條件不符的檔案時會停止<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改的動作, 並且中斷程式的執行,所以使用 -u=*.*<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 或 -u 可以避免這種情形發生。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -u="unimportant files.doc"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -u=program.exe<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -u=*.txt<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -u=*.* 與 -u 意思相同<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Version&nbsp;&nbsp;&nbsp;&nbsp; 顯示 BinPatch 的版本相關資訊。<BR>-------- ---------------- ---------------------------------------------------<BR>&nbsp; -z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 無&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 將所建立的 patch 檔以指定的壓縮程式予以壓縮。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -z 參數目前支援下列的壓縮程式:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InfoZip、LHA、RAR、GZip、PKZip、ARJ 和 JAR。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不過使用時請另加上 -j 參數來取消 BinPatch 內建的壓縮<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功能, 否則造成重覆壓縮反而會使得 patch 檔更大,還有<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不管是指定那一種壓縮程式,使用前必須先確定您的電腦中<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有這個壓縮程式的存在,而且要放在系統能抓得到的路徑下<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 才有作用。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 範例: -z=RAR<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -z=ARJ<BR>───────────────────────────────────────</P>
<P>&nbsp;</P>
<P><BR>&nbsp;</P>

MarchFun 發表於 2007-9-26 13:55:47

在早期還使用撥接上網的年代,patch 檔的大小一直被相當斤斤計較。不過現在寬頻一個比一個大,其實已不必去追求小的 patch 檔。實用且具有智能判斷的 patch 應該才是要努力的方向吧!以上是個人意見。

Lilyandy 發表於 2007-9-26 22:52:30

<P>哦?</P>
<P><FONT color=red>請問前輩您是否有好的建議工具呢?</FONT></P>
<P>&nbsp;</P>
<P>因為 WinPatch 製作 Patch檔實在是太慢了~&gt;"&lt;~</P>
<P>&nbsp;</P>
<P>現在只好試著改 BinPatch 3.0n 的中文化了,</P>
<P>不過卻碰上不少ASCII的問題~(好像拼錯單字)</P>
<P>&nbsp;</P>
<P>加上沒學過 VB、C、C++,</P>
<P>臨陣磨槍…</P>
<P>只好硬著頭皮向您購買中文化套書了....</P>
<P>(因為也沒得挑了嘛~~@@,網路上的教學好多都看不懂…,只卡在 ASCII 的頭大問題)</P>

MarchFun 發表於 2007-9-26 23:15:14

<P>使用封裝軟體然後搭配 BinPatch 來製作中文化程式是不錯的方法。更好的是單使用封裝軟體就好。封裝軟體眾多,如 InstallShield、Wise、I<SPAN class=bold>nno setup、Nsis 等</SPAN>。我們用的是較簡單但功能也滿強的 Setup Factory 7。</P>
<P>&nbsp;</P>
<P>像本站的中文化不僅可以自動取得目標程式的安裝位置,並能預先檢查目標程式的版本然後告知使用者版本不符...判斷目標程式是否使用中,然後自動將它關閉,關閉不了的話就通知使用者將它關閉....中文化失敗的話自動帶往本站相關的網頁中取得相關的訊息等等...當然還有更多的功能可以設計。</P>

Lilyandy 發表於 2007-9-27 09:48:49

<P>原文由 <I>MarchFun</I> 於 2007-9-26 11:15 PM 發表 <A href="http://www.suma.tw/forum/redirect.php?goto=findpost&amp;pid=10908&amp;ptid=2853" target=_blank><IMG alt="" src="http://www.suma.tw/forum/images/common/back.gif" border=0></A> 使用封裝軟體然後搭配 BinPatch 來製作中文化程式是不錯的方法。更好的是單使用封裝軟體就好。封裝軟體眾多,如 InstallShield、Wise、Inno setup、Nsis 等。我們用的是較簡單但功能也滿強的 Setup Factory 7。 &nbsp; ... </P>
<P>&nbsp;</P>
<P>哦~~~</P>
<P>Setup Factory 7 這玩意曾經聽過,但是沒有實際使用過,</P>
<P>另外,晚輩已訂購大師您的中文化全套書+cd了,</P>
<P>也許裏面有些需要的技術吧?</P>
<P>&nbsp;</P>
<P>目前是卡在以下幾種大問題。</P>
<P>★ ASCII 補位,字型改變,字型大小改變,按鈕大小改變。</P>
<P>★ 中文化產品以 Install 方式安裝,並且搭配序號安裝。(就像大師您做的 VM 系列)</P>
<P>★ 翻譯資料庫的建立(目前是用 .TXT 方式備份翻譯字庫,免得又得重翻了。)</P>
<P>&nbsp;</P>
<P>想當初得用 exespoce + 一堆有的沒的來中文化,</P>
<P>現在工具比之前好用多了,現在用 Sisulizer 還蠻方便的,</P>
<P>減少不少時間.....</P>
<P>&nbsp;</P>
<P>軟體中文化方面,已經蠻久沒在做了,</P>
<P>目前大多數著重於 vBulletin 插件的中文化(PHP),</P>
<P>只是因為現在剛好要用到某些軟體,</P>
<P>所以又重拾中文化決心(為了自已),</P>
<P>正巧 ASCII 問題困擾了晚輩許久。</P>
<P>&nbsp;</P>
<P>相關文章在這裏:</P>
<P><A href="http://forum.cpatch.org/viewthread.php?tid=8495&amp;extra=page%3D1">http://forum.cpatch.org/viewthread.php?tid=8495&amp;extra=page%3D1</A></P>
頁: [1]
檢視完整版本: 關於BinPatch版本問題?