◎CoCoPatch 說明 =========== 軟體名稱 : CoCoPatch 軟體版本 : 1.01 Reversion 0098 中英文版 軟體環境 : Windows 98+ , Windows 2000 軟體類別 : 工具軟體 軟體性質 : 共享軟體 作者 : 六手修羅 郵件 : siva@cpatch.org 網頁 : http://home.pchome.com.tw/computer/sixhandshura/ ◎版次更新: =========== 1.01 Reversion 0129 目前版次。 BugFix : 1.Picture Size 沒有語系資料 2.New Project 後,Make Button 沒 Disable 3.Script 不會使用 Patch 檔的主 Title 4.登錄值副鍵值設為根鍵值時不會新增 (NT2K) 5.Rename 類型不會檢查錯誤 6.更換語系後
目錄類型不會更換。
7.未檢查字串識別字元 " 。
8.某些時候登錄無法刪除。
9.More.... I forget. :p
FunctionADD:
1.可以變更預設的更新檔圖示
2.新增壓縮選項
3.新增腳本檔關連選項
4.OFF Key 可以保留鍵值
5.可以設定預設樣版檔
1.01 Reversion 0077。
支援壓縮功能,更新檔變小了。
支援 7 種更新動作。
支援將檔案更新後變更檔名。(非預設功能,需二次操作)
實作腳本檔功能。
1.0 將之整合到單一執行檔。實作大部份更新功能。
支援 5 種更新動作。
支援重開機功能。
0.x 使用 INI 檔來設定更新動作。
支援 4 種更新動作。
◎關於 CoCoPatch
================
Yes! CoCo 就是指 CoCo ... 我是 CoCo 的歌迷 :)
如果你有 CoCo 的 CD Extra ,就放進去試試吧!
CoCoPatch 是一個系統更新工具。
為什麼多了個 "系統" 二字?
因為除了移除後 GUI 系統不能運作的檔案,
其它你用別的工具不能更新的檔案,都可能可以用它來更新。
◎CoCoPatch 的安裝
==================
不需要安裝,解開壓縮檔到目錄中即可。
您需要下列的執行期函式庫來執行它。
這些檔案可以在 /patchutil/VBRUN 目錄下取得。
如果您的系統使用舊的函式庫,建議您更換到
下列新版。
vbrun60_sp3.exe - VB 6 Service Pack 3 的 執行期函式庫
comdlg32_v6sp3.cab - VS 6 Service Pack 3 的 ComDlg32 ActiveX 元件
mci32_v6sp3.cab - VS 6 Service Pack 3 的 Mci32 ActiveX 元件
mscomctl_v6sp3.cab - VS 6 Service Pack 3 的 MSComCtl ActiveX 元件
檔案可以在下列目錄找到:
臺灣大學 ftp://ftp.ntu.edu.tw/cpatch/patchutil/vbrun/
或其它 Cpatch 的 Mirror 站。
◎CoCoPatch 的特性
==================
CoCoPatch 是為解除一般更新程式的限制而開發的。故一般更新程
式常遇到的瓶頸,你會發現可以使用 CoCoPatch 來輕易解決。
※視窗介面
個人覺得最強的更新程式該算 RTPatch ,可是它操作太不方便。
CoCoPatch 採用視窗介面,相信操作會順手些。
※目錄無限
一般更新程式,祇允許使用一個主目錄 (含子目錄) ,及 Windows
目錄再加上 System 目錄。遇到部份使用二個以上主目錄的程式
,就沒輒了。
CoCoPatch 允許你設定任意個主目錄。
※多樣化目錄設定
CoCoPatch 支援多達 7 種不同更新目錄取得方式,使得不論您的
檔案位於那一個目錄,都可以更新。
每一個更新的檔案都可以擁有獨立的目錄設定,使得更新檔製作更
彈性。您有 100 個檔案,就最多可以設定 100 個不同的目錄。
您也不用擔心設定太麻煩,多數時候您沒有特殊需求的話,它會自
動幫您設定好。
※帶檔執行
您可以在更新檔中夾帶執行檔,並執行它。
如果有什麼須要別的程式做,而非使用 Patch 的方式,都可以利
用它。
※位元組置換
您可以指定搜尋某些位元組來置換,或是指定位置來置換。方便
您製作程式修正檔。
※ INI 檔更新
CoCoPatch 可以讓您更新任一個 INI 檔。
即使那個 INI 檔是已經超過 64 K 限制的非標準檔案。
※變更檔名
很基本的功能,卻是很多更新程式所缺乏的。
※更新登錄
系統登錄的更新。
※前置重啟動
利用這個功能,可以更新部份拔除後GUI仍能運作的系統級檔案。
例如像 WinZip 或 PicaView 這種會常駐 DLL 的檔案!
◎CoCoPatch 的限制
==================
製作出來的更新檔,要求使用者系統中須有VBRUN函式庫
方可執行,是很常見的函式庫。
Window系統則於中文98及中文2000下測試,其它版本不確定是否正常。
VB 6 Service Pack 3 的執行期函式庫
臺灣大學 ftp://ftp.ntu.edu.tw/cpatch/patchutil/vbrun/vbrun60_sp3.exe
或於其它 Cpatch Mirror 站取得。
◎功能介紹
==========
※更新動作種類:
每一個檔案都可以設定自己所要執行的動作。
§執行檔案: 夾帶執行檔並且在指定的目錄執行它,依更新檔
案安排順序,順位時執行。更新程式會等它執行
完時才繼續下個動作,不必擔心順序亂掉,影響
之後的更新動作。
§新增檔案: 新增一個檔案到指定的目錄。若有同名檔案將會
被覆蓋。
§更新檔案: 更新指定目錄中的檔案到指定的版本。
比起新增檔案,可以縮小更新檔大小,但舊版檔
案必須存在,才能完成更新動作。
§位元置換: 設定更換檔案中的某些位元組,有搜尋及指定位
置兩種置換模式。並允許原始檔案不相同之時的
置換動作,可以製作出適用不同版本的位元置換
更新檔,或是祇用於同一版本的更新檔。
不支援 "--" 之忽略設定,但使用更方便的不等長
置換。
如 S: AA BB CC DD EE
R: 11 22
=> 11 22 CC DD EE
或 S: AA BB CC
R: 11 22 33 44 55 66
=> 11 22 33 44 55 66
§刪除檔案: 刪除指定目錄中的檔案,無論檔案是否具唯讀屬
性,一律刪除。
如果指定的更新目錄中沒有指定的檔案,這個動作仍
會傳回操作成功,因為無論如何,你祇是希望沒有這
個檔案存在。
§更新 INI: 更新指定目錄中的 INI 格式檔案。超過 64K 的
檔案仍能正常運作。
對不存在的 INI 檔,則會自動新增。
§變更檔名: 變更指定目錄的檔案的名稱。
※目錄設定:
每一個檔案都可以設定自己在那個目錄執行動作。
<基礎類型>
§所在目錄: 更新檔在那個目錄,就在那個目錄執行動作。
§登錄鍵值: 從系統登錄中取得所需的目錄。
§詢問目錄: 詢問使用者所需的目錄位置。
§Windows : 在 Windows 所在目錄執行動作。(依系統設定而定)
§System : 在 System 目錄執行動作。(依系統設定而定)
§指定 : 直接輸入目錄名稱。
( 不建議使用,Windows系統中所有目錄都是可以
換位置的。別人的目錄不見得和您一樣 )
<沿用類型>
§之前目錄: 之前檔案最後指定的基礎類型之目錄。
§子目錄 : 之前檔案最後指定的基礎類型之目錄下的子目錄。
<搜尋類型>
不支援。
不要建議我寫搜尋模式,要搜尋不如使用詢問目錄。
能想像更新程式搜尋 8 顆硬碟的慘況嗎?
( 等到睡著了 z_Z )
※其它功能
§系統重啟動: 計有更新前後兩種重啟動。
四種模式。(含不使用及關機)
§介面設定 : 可設定的更新畫面。
圖形 ( 支援 JPEG, GIF, BMP, WMF....)
( 要較小更新檔案建議使用 JPEG )
歡迎視窗 (字形, 級數, 是否顯示, 標題, 內文)
資訊視窗 (字形, 級數, 是否顯示, 標題, 內文)
更新期視窗 (字形, 級數, 是否顯示)
結束視窗 (字形, 級數, 是否顯示, 標題, 內文)
更新訊息字串設定
字形與級數所有視窗共用。
可以全部設定為不顯示,與其它程式搭配。
§更新登錄 : 新增登錄值。
刪除登錄值。
暫停登錄值。
(自動於更新前移除,更新後還原,可設新值,或保留原值)
§錯誤模式 : 全域性。 ( 改寫中 )
錯誤時中止或繼續執行。(檔案條件不符時)
§備份模式 : 半全域性。( 半成品,改寫中,不建議使用 )
§語言介面 : 內建繁體中文及英文,自定新語言介面祇要將語系檔
(純文字)翻譯好,置入就可以了,程式會自動使用。
§檔案儲存 : 支援更新專案檔的儲存,及介面樣版的儲存。
§CD Extra : 祇支援 CoCo 的喔!( 當然是故意的 :) )
編寫更新檔時聽 CoCo 的音樂。
程式建置更新檔時觀賞 CoCo 的 MTV 。
( 有那麼慢嗎? :) )
※腳本檔支援
可以將專案儲存為腳本檔,腳本檔是文字模式,可以有較小的檔案
大小。腳本檔可以在有 CoCoPatch 的電腦上被執行。
您也可以使用文字編輯器,自行編輯腳本檔。
◎簡易使用說明
==============
※一般更新檔: 使用新增按鍵,開啟新增動作對話框。
選擇您的舊版檔案或目錄,然後選擇新版的檔案或目錄。
當選取類型為目錄時,按下確定後,程式會依檔名自動判
斷,該檔案需要的動作是新增、刪除或是更新。
程式預設以更新檔目錄做為主目錄。
接著你祇要設定第一個檔案目錄類型做為主目錄的依據就行了。
每一個增加進來的檔案,無論是動作類型或是目錄,您都
可以重新定義它!您可以視需要調整。
※多重主目錄更新: 重覆一般更新方式操作即可。
※更新檔案並變更檔名: 依一般更新檔方法設定。
完成後再新增該檔一次,動作設為變更檔名即可!
※更新系統級 DLL : 依一般更新檔方法設定。( 限移除後GUI能運作者 )
找出該 DLL 載入的登錄值,並將該登錄值設為暫停鍵值。
開啟重新啟動功能,可依需要選取重開機或重登入。
更新程式將會關閉該鍵值,並重開機或登入後執行更新動
作。更新完成會自動恢復被關閉的鍵值。你也可以同時開
啟更新後重啟動的功能,使該 DLL 恢復運作。
※設定動作 : 當選取不同動作時,該動作若有設定項,則會自動出現。
進入該設定項依畫面設定即可。
※設定目錄 : 當選取不同目錄類型,該目錄類型若有設定項,則會自動出現。
依畫面設定它即可。
※製作更新檔: 設定值有問題的檔案會自動以灰色顯示。
選取該項目,於狀態列會有簡易的錯誤說明。
當所有設定值都沒有問題時,即可製作執行檔。
※製作腳本檔: 同上述。
使用製作鍵,在對話框中類型選取腳本檔即可。
※目錄定位法 : 假設你想更新 Windows 或 System 下的某個子目錄中某個檔案,
(其它找得到的目錄也是)
除了詢問使用者之外,你可在前一個檔案設定值,於該目錄新增
一個標記檔,並將其後要更新的檔案的目錄類型設為前次目錄的
子目錄即可,再於更新此檔之後設定將該標記檔刪除即可!
※INI 更新 : 區段值及鍵值之大小寫視為不同,雖然較麻煩,但可以適用更多狀
況,所以務必輸入正確的大小寫!
CoCoPatch 不使用標準 INI 函式,故能分辨大小寫,以及可以讀寫
超出 64 K 的部份。
※登錄值 : 系統登錄無法分辨大小寫,此為系統限制,無法改變!
於更新檔選項中設定,對於不存在的副鍵值,會自動新增。
設定預設值保留鍵名為空字串 (不是空白字元) 即可。
◎腳本使用說明
==============
※關於腳本檔: 您可以將專案存成純文字的檔案,腳本檔不含程式碼,所以需要
CoCoPatch 的主程式才能執行。但相對的它擁有較小的檔案。
以及可以再編輯的特性。
※腳本檔限制: 並不是所有的動作類型都能使用腳本檔,腳本檔的使用類型原則
,視該動作是否需新檔案中的資料而定。除此之外,腳本檔支援
其它所有功能。
※腳本檔格式: 腳本使用 INI 文字檔格式。
腳本的設定項非常多,建議您使用主程式產生,若有需要再編輯
它。
※腳本檔執行: 腳本檔的副檔名類型,將於第一次啟動 CoCoPatch 後,自動關
連到 CoCoPatch 的主程式,並於檔案總管開啟它時自動執行。
您可以雙擊它執行,也可以拖放到 CoCoPatch 圖示上執行!
※你可以參閱 Exemplar.coc 這個腳本範例。
◎腳本命令說明
==============
※格式說明: 說明文字中變數名稱使用 %變數名% 的方式來表示是變數,於腳本中
除特別提示需要之外,是不需要輸入 % 的。
說明文字中的字串,會使用 "字串" 的格式來表示,於腳本中除了特
別提示需要之外,是不需要輸入 " 的。
※區段名稱: 使用 "[%區段名稱%]"
※鍵值設定: 使用 %鍵名%=%鍵值% 的方式來設定。
除標示可使用換列字元之外,其餘不支援換列字元。
※ Setup 區段:
======================================================================
鍵名: ScriptID
鍵值: CoCoPatchScript_100
說明: 固定字串腳本版本標記,用來辨識是否為有效腳本檔。
鍵名: OffReg
鍵值: %數目%
說明: 設定要關閉的登錄值的數目
鍵名: AddReg
鍵值: %數目%
說明: 設定要新增的登錄值的數目
鍵名: DelReg
鍵值: %數目%
說明: 設定要刪除的登錄值的數目
鍵名: ProcCount
鍵值: %數目%
說明: 設定要處理的檔案動作數目
鍵名: ShowW
鍵值: 0 或 1
說明: 0 不顯示歡迎視窗
1 顯示歡迎視窗
鍵名: ShowE
鍵值: 0 或 1
說明: 0 不顯示結束視窗
1 顯示結束視窗
鍵名: ShowI
鍵值: 0 或 1
說明: 0 不顯示資訊視窗
1 顯示資訊視窗
鍵名: PRI
鍵值: 0, 1, 2, 3
說明: 0 更新前不重新啟動
1 更新前重新登入,關閉的鍵值將會先被關閉。
2 更新前重啟動,關閉的鍵值將會先被關閉。
3 更新前關機。關閉的鍵值將會先被關閉。
鍵名: ERI
鍵值: 0, 1, 2, 3
說明: 0 更新後不重新啟動
1 更新後重新登入,關閉的鍵值將會重新開啟。
2 更新後重啟動,關閉的鍵值將會重新開啟。
3 更新後關機。關閉的鍵值將會先被關閉。
※ Text 區段:
======================================================================
鍵名: WTitle
鍵值: %字串%
說明: 歡迎視窗的標題
鍵名: WText
鍵值: %字串%
說明: 歡迎視窗的內文
換列字元請使用 "\n"
鍵名: ETitle
鍵值: %字串%
說明: 結束視窗的標題
鍵名: EText
鍵值: %字串%
說明: 結束視窗的內文
換列字元請使用 "\n"
鍵名: ITitle
鍵值: %字串%
說明: 資訊視窗的標題
鍵名: IText
鍵值: %字串%
說明: 資訊視窗的內文
換列字元請使用 "\n"
鍵名: Font
鍵值: %字形名稱%
說明: 顯示訊息及視窗所用的字形
鍵名: FontS
鍵值: %字形大小%
說明: 顯示訊息及視窗所用的字形大小
鍵名: PText
鍵值: %字串%
說明: 顯示視窗所用的按鍵繼續提示文字
鍵名: OnPatch
鍵值: %字串%
說明: 更新訊息的標題
鍵名: OK
鍵值: %字串%
說明: 確定鍵的文字,支援 "&" 標示熱鍵。
鍵名: CANCEL
鍵值: %字串%
說明: 取消鍵的文字,支援 "&" 標示熱鍵。
鍵名: About
鍵值: %字串%
說明: 關於鍵的文字,支援 "&" 標示熱鍵。
鍵名: SFD
鍵值: %字串%
說明: 來源檔案不同時的訊息。
鍵名: FNF
鍵值: %字串%
說明: 找不到要處理的檔案時的訊息。
鍵名: ERR
鍵值: %字串%
說明: 顯示錯誤訊息時的標題。
鍵名: PatchFail
鍵值: %字串%
說明: 更新失敗時的訊息。
鍵名: BrokenWarn
鍵值: %字串%
說明: 當允許部份更新,並已發生部份更新狀況時的訊息。
鍵名: MakeBKFile
鍵值: True 或 False
說明: True 建立備份檔
False 不建立備份檔
鍵名: CWhenError
鍵值: True 或 False
說明: True 允許更新失敗時繼續執行,以達到部份檔案更新。
False 任何檔案不能更新即中止執行。
鍵名: ShowRun
鍵值: True 或 False
說明: True 顯示更新時的狀態。
False 不顯示更新時的狀態。
鍵名: strDelFile
鍵值: %字串%
說明: 顯示的刪除檔案訊息
鍵名: strPatchINI
鍵值: %字串%
說明: 顯示的更新INI檔案訊息
鍵名: strRenFile
鍵值: %字串%
說明: 顯示的變更檔名訊息
鍵名: strPatchByte
鍵值: %字串%
說明: 顯示的更新檔案位元組訊息
鍵名: strSuccess
鍵值: %字串%
說明: 顯示的動作執行成功訊息
鍵名: PatchFileTitle
鍵值: %字串%
說明: 執行時的視窗主標題
※ OffReg, AddReg, DelReg 區段
======================================================================
鍵名: %索引值%
鍵值: %主鍵區%, %副鍵區%, %鍵名%, %類型%, %鍵值%
說明:
索引值 : 用來辨識該登錄設定值,最大值於 Setup 區段設定
主鍵區 : "HKCR" = HKEY_CLASSES_ROOT
"HKCC" = HKEY_CURRENT_CONFIG
"HKCU" = HKEY_CURRENT_USER
"HKDD" = HKEY_DYN_DATA
"HKLM" = HKEY_LOCAL_MACHINE
"HKPD" = HKEY_PERFORMANCE_DATA
"HKUS" = HKEY_USERS
副鍵區 : 副鍵名稱字串
鍵名 : 登錄的鍵名
類型 : "1" 字串值
"3" 二進位值
"4" DWORD 值
鍵值 : 字串值 : 自定字串
二進位值 : 位元組分隔字串
%位元組1%,%位元組2%,%位元組3%.....
範例1: 123, 56, 0 (10進制)
範例2: &HAF, &H78, &H1D (16進制)
DWORD值 : 4位元組長整數值
範例1: 786540 (10進制)
範例2: &HF7AAC (16進制)
保留鍵值: 祇使用 OffReg,該鍵重設之時會使用原來的值。
鍵值= %RetainValue% (須含 % )
※ Proc%索引值% 區段
======================================================================
索引值 : 用辨識檔案動作的值,其最大值於 Setup 區段設定
鍵名: File
鍵值: %檔案名稱%
說明: 指定要執行動作的檔案名稱。(不含路徑)
鍵名: Act
鍵值: 3, 4, 5, 6
說明: 指定要執行的動作類型
0 - 2 : 此類動作腳本檔不支援,請使用執行檔
3 : 位元組置換
4 : 刪除檔案
5 : 更新 INI 檔
6 : 變更檔名
鍵名: Dir
鍵值: Me, Reg, Ask, Win, Sys, .\%子目錄%, %實際路徑%
說明: 設定要處理的檔案所在的路徑
<基礎類型>
Me : 腳本檔所在的路徑
Reg : 從登錄中取得路徑
Ask : 開啟視窗詢問使用者路徑
Win : 使用視窗系統主目錄
Sys : 使用視窗系 System 目錄
Win9X 預設 = %Win目錄%\System
Win2K 預設 = %Win目錄%\System32
<沿用類型>
Pre : 使用上個設定有效基礎型目錄。
.\%子目錄% : 以 ".\"為辨識字串,使用上個設定有效基礎型目錄之子目錄。
子目錄之下可以再包含子路徑。
範例環境 : 假設上個基礎目錄為 Win ,而使用者 Windows 目錄
位於 C:\MyWindows98
範例1 : .\HELP
( 目錄將設為 C:\MyWindows98\HELP )
範例2 : .\Start Menu\Programs
( 目錄將設為 C:\MyWindows98\Start Menu\Programs)
%實際路徑% : 設定實際的磁碟路徑。 ( 例如 C:\Windows )
鍵名: Enable
鍵值: False
說明: 設定關閉所在 Proc%索引值% 區段的檔案動作。
鍵名: Count
鍵值: %數值%
條件: 祇用於 ACT=3,5 的位元置換及INI更新模式
說明: 設定位元置換及INI更新的項目數。
<位元置換專用設定>
==================
鍵名: DONTChk
鍵值: 0 或 1
說明: 0 檢查原始檔案是否相同
1 不檢查原始檔案是否相同
鍵名: CheckSum
鍵值: %CheckSum值%
條件: 祇用於 DONTChk = 0
說明: 檔案檢查值,請使用主程式產生。
鍵名: BEnable%項目索引值%
鍵值: False
說明: 關閉該索引值項目的位元置換。
鍵名: BType%項目索引值%
鍵值: 1, 2, 3
說明: 1 : 搜尋模式 (祇置換一次)
2 : 搜尋全檔 (全部置換)
3 : 指定位置
鍵名: BRead%項目索引值%
鍵值: 當Type = 1, 2 時為 %位元組1%, %位元組2%, %位元組3%.....
當Type = 3 為 %位置%
說明: Type=1, 2 時為要搜尋的位元組分隔字串 (使用16進位值)
Type=3 時為檔案中的位置 (從 1 計數,使用10進制或"&H"標示為16進制)
鍵名: BNew%項目索引值%
鍵值: %位元組1%, %位元組2%, %位元組3%.....
說明: 所要寫入的位元組值
==================
鍵名: INIKeyEnable%項目索引值%
鍵值: False
說明: 關閉該索引值項目的INI更新。
鍵名: INIKey%項目索引值%
鍵值: %區段名%, %鍵名%, %鍵值%
說明: 區段名 : 要更新的區段名稱
鍵 名 : 要更新的鍵名
鍵 值 : 要寫入的鍵值
%Kill% 標示為刪除該鍵值(須包含 % 字元)
<變更檔名專用設定>
==================
鍵名: NewName
鍵值: %字串%
說明: 要設定的新檔案名稱。
==================
鍵名: RegKey
鍵值: %主鍵區%, %副鍵區%, %鍵名%
說明: 從登錄取得目錄的設定,祇用於字串類型。
如未設定鍵名,將自動使用副鍵區的預設值
(參閱 XXXReg區段)
==================
鍵名: Title
鍵值: %字串%
說明: 詢問使用者時的視窗標題
鍵名: Prompt
鍵值: %字串%
說明: 詢問使用者時的提示文字
鍵名: Brow
鍵值: %字串%
說明: 詢問使用者時的瀏覽鍵文字
鍵名: OK
鍵值: %字串%
說明: 詢問使用者時的確定鍵文字
鍵名: DNF
鍵值: %字串%
說明: 詢問使用者時,輸入目錄找不到時的錯誤訊息
◎使用授權
==========
在非營利範圍內,您可以自由複製散佈及使用本軟體。
本人並不保證本程式可以正確在您的電腦上正確執行,更不保證它不會
損壞您電腦上的資料!(誰曉得網路上傳檔會發生啥事?)
但如有類似情事發生,絕非作者本意。
如果您不同意上述聲明,請勿使用它。
其餘權利本人予以保留。
◎其它說明
==========
任何建議歡迎 Email 給我
Email : siva@cpatch.org
或是到網頁留言板留下訊息
網頁 : http://home.pchome.com.tw/computer/sixhandshura/
如果有關於這個小工具的最新消息,可能也會公佈在上述網頁。