欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

INNO setup 制作補丁圖文教程

  發(fā)布時間:2015-06-09 14:56:05   作者:佚名   我要評論
漢化補丁,與軟件安裝包一樣,都是漢化軟件發(fā)布的形式,兩者可以實現(xiàn)軟件漢化的目的,但相較于安裝包而言,漢化補丁則不涉及原程序的版權(quán)問題,且體積較小,便于傳輸

『補丁簡介』

  漢化補丁,與軟件安裝包一樣,都是漢化軟件發(fā)布的形式,兩者可以實現(xiàn)軟件漢化的目的,但相較于安裝包而言,漢化補丁則不涉及原程序的版權(quán)問題,且體積較小,便于傳輸。
  在 INNO setup 中,制作真正補丁可以調(diào)用 NSIS 中的補丁插件-VPatch 插件,詳見陳維信的 Blog 《INNO 補丁制作技術(shù), 打開 INNO 補丁制作方法的第一頁》,鏈接地址為:http://restools.hanzify.org/article.asp?id=45
  這里介紹一種與前文不同的 INNO setup 補丁制作方法。該方法所編譯生成的補丁,不含真正意義上的補丁數(shù)據(jù)(即:漢化文件與未漢化文件比較生成的差異文件),僅僅是執(zhí)行了文件替換或文件復(fù)制操作,故而不算嚴(yán)格意義上的補丁。但該方法簡單易行,非常適用于非大型軟件(包括多語言文件補丁),其主要思路如下:
  1)通過注冊表鍵值判斷是否已經(jīng)安裝原版程序;
  2)通過讀取注冊表鍵值判斷原版的安裝路徑;
  3)將已漢化文件替換同名的未漢化文件或復(fù)制文件到指定目錄。


『學(xué)習(xí)任務(wù)』

  漢化目標(biāo):用 INNO setup 制作 Cleanse Uninstaller Pro 6 的漢化補丁(示例文件為簡體中文語言文件)
  原版 Cleanse Uninstaller Pro 6

『操作步驟』
  1.通過注冊表鍵值判斷是否已經(jīng)安裝原版程序
  一般軟件安裝后,都會在注冊表中添加相關(guān)鍵值,如本實例軟件,安裝原版后會添加如下鍵值:
  HKEY_LOCAL_MACHINE\SOFTWARE\Cleanse
  只需在[Code]段添加如下代碼即可判斷是否已安裝原版程序,代碼如下:

C/C++ Code復(fù)制內(nèi)容到剪貼板
  1. function ShouldSkipPage(PageID: Integer): Boolean;   
  2. begin   
  3. result := false;   
  4. if PageID = wpSelectDir then result := true;   
  5. end;   
  6. function InitializeSetup(): Boolean;   
  7. begin   
  8.   Result := true;   
  9. if not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Cleanse') then   
  10.   begin   
  11.   MsgBox('未檢測原英文版程序,請先行安裝!'#13#13'軟件漢化:張傳偉 2009', mbInformation, MB_OK);   
  12.   Result := False;   
  13. end;   
  14. end;  


  存在相關(guān)鍵值,可以繼續(xù)安裝補?。?br />  

  不存在相關(guān)鍵值,提示用戶安裝原版:
  

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

  獲取 Cleanse Uninstaller.exe 文件所在位置的上級目錄,即安裝路徑可以用下面兩種不同代碼實現(xiàn)。

  第一種方式: INNO setup 的 [setup] 段代碼設(shè)置為: 

 程序代碼

DefaultDirName={code:ExtractFilePath|{reg:HKLM\SOFTWARE\Cleanse,Path}}  

  第二種方式

  (1)INNO setup 的 [setup] 段代碼設(shè)置為:

 程序代碼

DefaultDirName={code:GetPath}

  (2)INNO setup 的 [Code] 段添加如下代碼設(shè)置:

 程序代碼

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;

  當(dāng)注冊表能直接找到安裝路徑時,可以用{pf}代替實際的安裝路徑,如:
  
  對應(yīng)注冊表值如下
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] 段代碼設(shè)置為 


 程序代碼 

  DefaultDirName={reg:HKLM\SOFTWARE\Reallusion\FaceFilter Studio\2.0,Install Path|{pf}}

  3.將已漢化的 SChinese.lan 復(fù)制到軟件安裝路徑的“LangFiles”子目錄中,[File]段代碼如下:

 程序代碼
 
Source: "E:\Hanzify\SChinese.lan"; DestDir: "{app}\LangFiles"; Flags: ignoreversion

作者:Raindy 網(wǎng)站:www.raindy.org

相關(guān)文章

最新評論