解决Inno Setup制做中文安装包在非中文系统上显示乱码的问题

尼玛,好几个月没更新了。囧...php

目前我司新的客户端开发已经接近尾声,该改的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系统,安装包在启动后界面上的中文字符不该该显示成乱码吧?code

很不幸,不少时候我发现应用程序安装包在我这里总能出现各类问题。由于我向来使用英文系统。blog

为了解决一些安装程序乱码的问题,我必须得设置下区域中关于Language for non-Unicode programs,以下所示:图片

将Current language for non-Unicode programs设置成Chinese Simplified(这里为了测试Inno Setup,我已经将其设置为English了)。unicode

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都是不支持的。

好了,完了。感受废话好多...哈哈...

相关文章
相关标签/搜索