◎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/ 如果有關於這個小工具的最新消息,可能也會公佈在上述網頁。