INNO setup 制作補丁圖文教程
『補丁簡介』
漢化補丁,與軟件安裝包一樣,都是漢化軟件發(fā)布的形式,兩者可以實現(xiàn)軟件漢化的目的,但相較于安裝包而言,漢化補丁則不涉及原程序的版權問題,且體積較小,便于傳輸。
在 INNO setup 中,制作真正補丁可以調用 NSIS 中的補丁插件-VPatch 插件,詳見陳維信的 Blog 《INNO 補丁制作技術, 打開 INNO 補丁制作方法的第一頁》,鏈接地址為:http://restools.hanzify.org/article.asp?id=45
這里介紹一種與前文不同的 INNO setup 補丁制作方法。該方法所編譯生成的補丁,不含真正意義上的補丁數(shù)據(jù)(即:漢化文件與未漢化文件比較生成的差異文件),僅僅是執(zhí)行了文件替換或文件復制操作,故而不算嚴格意義上的補丁。但該方法簡單易行,非常適用于非大型軟件(包括多語言文件補丁),其主要思路如下:
1)通過注冊表鍵值判斷是否已經安裝原版程序;
2)通過讀取注冊表鍵值判斷原版的安裝路徑;
3)將已漢化文件替換同名的未漢化文件或復制文件到指定目錄。
『學習任務』
漢化目標:用 INNO setup 制作 Cleanse Uninstaller Pro 6 的漢化補丁(示例文件為簡體中文語言文件)
原版 Cleanse Uninstaller Pro 6
『操作步驟』
1.通過注冊表鍵值判斷是否已經安裝原版程序。
一般軟件安裝后,都會在注冊表中添加相關鍵值,如本實例軟件,安裝原版后會添加如下鍵值:
HKEY_LOCAL_MACHINE\SOFTWARE\Cleanse
只需在[Code]段添加如下代碼即可判斷是否已安裝原版程序,代碼如下:
- function ShouldSkipPage(PageID: Integer): Boolean;
- begin
- result := false;
- if PageID = wpSelectDir then result := true;
- end;
- function InitializeSetup(): Boolean;
- begin
- Result := true;
- if not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Cleanse') then
- begin
- MsgBox('未檢測原英文版程序,請先行安裝!'#13#13'軟件漢化:張傳偉 2009', mbInformation, MB_OK);
- Result := False;
- end;
- end;
存在相關鍵值,可以繼續(xù)安裝補?。?br /> 
不存在相關鍵值,提示用戶安裝原版:

2.搜索注冊表獲取安裝路徑
在“開始”菜單-“運行”中輸入“regedit”,打開注冊表編輯器,搜索“C:\Program Files\Zards software\Cleanse Uninstaller Pro”,由于注冊表中搜索不到安裝路徑(如下圖所示),只能搜索主程序以獲取完整路徑。

獲取 Cleanse Uninstaller.exe 文件所在位置的上級目錄,即安裝路徑可以用下面兩種不同代碼實現(xiàn)。
第一種方式: INNO setup 的 [setup] 段代碼設置為:
程序代碼
DefaultDirName={code:ExtractFilePath|{reg:HKLM\SOFTWARE\Cleanse,Path}}
第二種方式:
(1)INNO setup 的 [setup] 段代碼設置為:
程序代碼
DefaultDirName={code:GetPath}
(2)INNO setup 的 [Code] 段添加如下代碼設置:
程序代碼
function GetPath(Param: String): String;
var
strPath: String;
begin
strPath := ExpandConstant('{pf}Zards software\Cleanse Uninstaller Pro');
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Cleanse', 'Path', strPath) t\then
begin
strPath := ExtractFilePath(strPath);
end;
Result := strPath;
end;
當注冊表能直接找到安裝路徑時,可以用{pf}代替實際的安裝路徑,如:

對應注冊表值如下
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Reallusion\FaceFilter Studio\2.0]
.......
"Install Path"="C:\\Program Files\\Reallusion\\FaceFilter Studio 2"
.......
此時,可以在 INNO setup 的 [setup] 段代碼設置為
程序代碼
DefaultDirName={reg:HKLM\SOFTWARE\Reallusion\FaceFilter Studio\2.0,Install Path|{pf}}
3.將已漢化的 SChinese.lan 復制到軟件安裝路徑的“LangFiles”子目錄中,[File]段代碼如下:
程序代碼
Source: "E:\Hanzify\SChinese.lan"; DestDir: "{app}\LangFiles"; Flags: ignoreversion
作者:Raindy 網站:www.raindy.org
相關文章
FC模擬器如何自定義按鍵布局?FC模擬器又稱紅白機模擬器,讓玩家可以在電腦或其他設備上重溫經典游戲,自定義按鍵布局是使用模擬器時一項重要的功能,下面就為大家?guī)鞦C模2025-10-20
今天給大家介紹一下即夢ai生成圖片的具體操作,生成圖片分2種情形,一種是完全由文字生成圖片,另一種是根據(jù)參考圖生成圖片,今天我們先介紹上傳參考圖生成新圖的教程2025-10-02
復雜數(shù)據(jù)統(tǒng)計和分析不用煩! DeepSeek+豆包自動處理Excel數(shù)據(jù)真方便
AI時代來臨,表格處理變得如此簡單高效,簡直太方便了,尤其是復雜的數(shù)據(jù)統(tǒng)計和分析,幾分鐘就搞定,強烈推薦給大家試試2025-08-07
困擾大家20年難題被破解了! DeepSeek一鍵生成農歷函數(shù)附代碼
之前利用PQ通過獲取API來得到公歷對用的農歷,但是無奈效率太低了,現(xiàn)在利用DeepSeek一鍵生成農歷函數(shù),分分秒解決困擾大家20年難題2025-08-01
Copilot插件怎么用? 解鎖AI助手的擴展功能的使用指南
Copilot是一款集成于操作系統(tǒng)和辦公軟件中的AI助手,該怎么使用Copilot插件呢?下面我們就來看看詳細介紹2025-07-28
之前都是用思維導圖軟件做的員工手冊,現(xiàn)在想要提升工作效率,用DeepSeek制作,該如何操作呢?詳細請看下文介紹2025-07-15
利用AI工具提高B站學習效率! DeepSeek一鍵生成B站視頻筆記詳解
在B站學習視頻課程時,我們常常會遇到視頻節(jié)奏緩慢或內容冗長的問題,導致注意力難以集中,我們可以利用ai解決這個問題,做好內容筆記,詳細如下文所述2025-06-25
Windows系統(tǒng)本地自建螞蟻(leanote)筆記圖文教程
Leanote螞蟻筆記是一款免費開源云筆記軟件,允許用戶在本地設備上建立私人服務器,實現(xiàn)數(shù)據(jù)安全和隱私性,但是還是有不少朋友不知道如何本地自建螞蟻(leanote)筆記,今天小2025-06-24
還能在Excel中直接編輯! DeepSeek配合Mermaid生成圖表的技巧
今天跟大家分享下我們如何使用DeepSeek與Mermaid來實現(xiàn)快速的生成圖表,操作也非常的簡單,只需要準備好自己的數(shù)據(jù)源即可,還可以在excel中修改哦2025-06-24
deepseek各版本有什么區(qū)別? DeepSeek各版本說明與優(yōu)缺點分析
本文將詳細介紹DeepSeek的各版本,從版本的發(fā)布時間、特點、優(yōu)勢以及不足之處,為廣大AI技術愛好者和開發(fā)者提供一份參考指南2025-06-20







