解決Inno Setup制作中文安裝包在非中文系統上顯示亂碼的問題


尼瑪,好幾個月沒更新了。囧...

目前我司新的客戶端開發已經接近尾聲,該改的bug已經改完,該重構的地方也都差不多了。視覺效果也已經根據美工的樣式改完了。所以,就差制作安裝包了。正所謂萬事俱備,只欠東風。

首先,當然是選用了InstallShield Limited Edition來制作安裝包了。這個工具說簡單,是真的簡單。全部都是圖形化的,並且可以和VS很好結合。如何使用的細節,這里就不表了。網上一搜一大堆。InstallShield LE版最大的問題是開放的功能實在太少了,我想在安裝包中打一個字體,發現必須得升級到Pro版才行。升級的問題倒是不大,但是也太貴了吧,2500+美刀。。。最主要的是腳本控制沒有開放出來,想想還是算了。所謂有錢任性,沒錢認命。拜拜~~

那接下來能選的就是Inno Setup了吧。怎么制作Inno Setup安裝包,我覺得我也沒必要在這里表了。一搜一大堆啊,大家都是碼農,各個智商高,沒必要了哦。看看Help文檔,分分鍾鍾搞定啊。

這里主要說一說如何設置Inno Setup的中文安裝向導界面。

首先,你要下載支持Unicode版本的Inno Setup(比方說isetup-5.5.5-unicode)。這里給個鏈接,方便下大伙:http://www.jrsoftware.org/download.php/is-unicode.exe。之所以要提到Inno的中文安裝向導問題,主要是因為中文語言包,Inno沒有提供官方版本,所以你得自己搞。自己搞呢,其實也蠻簡單的,把安裝目錄下的Default.isl中各個項的英文翻譯成中文,然后保存的Languages目錄下即可。有一個細節除外,那就是[LangOptions]段。當你要支持多語言安裝顯示的時候會用到。其中LanguageName要使用Unicode字符來表示。比方說你希望語言選擇那一步顯示簡體中文,那么需要這么做LanguageName=<7b80><4f53><4e2d><6587>。

接下來,我假定你自己已經把所有相關的英語都翻譯成中文了,那么你自己就可以制作一個中文向導的安裝包了。通常情況下,我們希望安裝包起碼國際化做的好一點。不管是神馬語言的Windows系統,安裝包在啟動后界面上的中文字符不應該顯示成亂碼吧?

很不幸,很多時候我發現應用程序安裝包在我這里總能出現各種問題。因為我向來使用英文系統。

為了解決一些安裝程序亂碼的問題,我必須得設置下區域中關於Language for non-Unicode programs,如下所示:

將Current language for non-Unicode programs設置成Chinese Simplified(這里為了測試Inno Setup,我已經將其設置為English了)。

OK,說到這里,你自己試試看在英文系統上(或者其他非中文系統里)設置成上面圖片的顯示的樣子,將Current language for non-Unicode programs設成English,你的Inno Setup安裝包啟動后,是否是亂碼呢?

如果是亂碼,那么恭喜你,因為,還好,這個問題是口以很好解決滴。

其實解決的辦法很簡單,你只需要將isl文件改成UTF-8編碼即可。如果這還不行,請將編碼格式改為UTF-8 with BOM。

目前,支持Unicode的Inno Setup只支持UTF-8編碼,其他的UTF-16 LE/BE with or without BOM都是不支持的。

好了,完了。感覺廢話好多...哈哈...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM