解决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都是不支持的。
好了,完了。感觉废话好多...哈哈...
解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题的更多相关文章
- 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
转自:http://yedward.net/?id=104 昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用 ...
- 使用Inno Setup 制作软件安装包详细教程(与开发语言无关)
前言:关于如何制作一个软件安装包的教程,与编程语言无关.以下,请看详情~ 1.下载Inno Setup,下载地址:https://jrsoftware.org/isinfo.php 2.下载最新版本即 ...
- WIX在VS2012中如何制作中文安装包
WIX安装图文并茂简易说明一文中介绍了WIX安装包的制作过程,不过生成的是英文版的,如果需要制作中文版的安装包呢? 方法很简单,只需要两步. 1.增加中文UI的文件WixUI_zh-cn.wxl到工程 ...
- Inno Setup制作应用程序安装包
我最近写了一个MFC应用程序,想发给其他的小伙伴玩一玩,直接发了个exe文件过去,结果发现小伙伴那边打不开.原来这个exe文件虽然是MFC静态编译的,但是还依赖了其他几个.dll文件,需要把这几个dl ...
- 用Inno setup制作以管理员权限启动的安装包
inno setup制作的安装包,默认是不需要管理员权限启动的.我们制作安装包,往往需要做一些设置工作,这些设置工作可能用到管理员权限.使用Resource Hacker修改inno setup资源, ...
- [Azure DevOps] 使用 Inno Setup 制作桌面软件安装包
1. 桌面应用程序的 CI/CD 桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的"部署"只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以 ...
- 用inno Setup制作web项目安装包
http://www.cnblogs.com/xionghui/archive/2012/03/22/2411207.html 用inno Setup制作安装包 新建一个文件夹exambody,放ap ...
- 用Inno Setup制作WEB程序安装包
原文 用Inno Setup制作WEB程序安装包 最近做了一个WEB程序的安装包,我把制作的过程做个介绍,贴出源码给大家做个参考 看看inno 的脚本 [Setup] AppCopyright=tes ...
- 【原创】python中文编码问题深入分析(二):print打印中文异常及显示乱码问题分析与解决
在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我 ...
随机推荐
- Hook机制里登场的角色
稍有接触过 WordPress 主题或插件制作修改的朋友,对 WordPress 的Hook机制应该不陌生,但通常刚接触WordPress Hook 的新手,对其运作原理可能会有点混乱或模糊.本文针对 ...
- jQuery.is() 函数
is() 函数 判断当前对象是否符合指定表达式 语法 $selector.is(表达式)//指定表达式 返回值 返回值为布尔型(true/false) 当当前对象包含多个元素时,只要任意元素满足指定表 ...
- 從 Internet 安裝 Cygwin
從 Internet 安裝 Cygwin 如果您有高速的 Internet 連線, 可以考慮用這個方法, 否則不建議使用 執行 setup.exe Cygwin Setup 畫面, 按 Next. C ...
- Evolutionary Computing: 5. Evolutionary Strategies(2)
Resource: Introduction to Evolutionary Computing, A.E.Eliben Outline recombination parent selection ...
- HashMap多线程并发问题分析
转载: HashMap多线程并发问题分析 并发问题的症状 多线程put后可能导致get死循环 从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题. ...
- this
JavaScript 中的 this ! 2016-12-28 vvv阿城 JavaScript 转自 https://qiutc.me/post/this-this-this-in-javascr ...
- SPSS数据分析—最优尺度回归
在之前介绍的线性回归模型中,有一个隐含的假设是自变量均为连续变量,但实际上自变量有时候是分类变量,类似于方差分析中的因素,这种分类自变量在回归分析中,也默认作为连续变量使用,这就会产生一个问题,如果是 ...
- 本周psp(11月17-23)
本周psp进度 11月19号 内容 开始时间 结束时间 打断时间 净时间 发布读书笔记 11:05 11:25 0 20m 看构建之法书 9:50 10:48 5m 53m 11月20号 内容 开始时 ...
- JAVA字符串05之课程问题解决
(一)古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 1.设计思想:首先选择是加密字符串还是解密字符串,两种算法相似.如果要加密字符串 ...
- MVC5 Entity Framework学习之Entity Framework高级功能(转)
在之前的文章中,你已经学习了如何实现每个层次结构一个表继承.本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时可以利用的高级功能. 在本节中 ...