解决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,或许你也会遇到和我 ...
随机推荐
- 数位dp总结
由简单到稍微难点. 从网上搜了10到数位dp的题目,有几道还是很难想到的,前几道基本都是模板题,供入门用. 点开即可看题解. hdu3555 Bomb hdu3652 B-number hdu2089 ...
- springmvc 添加Junit4
junit 单元测试的好处我就不赘述了,本文旨在介绍自己使用的一个方式: 1.添加依赖 <dependency> <groupId>junit</groupId> ...
- SAP 采购订单收货时报错:对于采购订单xxxx无收货可能
因为这个问题查了挺长时间,所以写在博客里记录下. 报错详细: 每个公司的配置不同,我公司遇到的这个问题原因是这里的确认控制是从信息记录带过来的,问题解决方法是,修改下确认控制的选项: 修改确认控制的后 ...
- JavaSript模块化-AMD规范与CMD规范
JavaScript模块化 在了解AMD,CMD规范前,先来简单地了解下什么是模块化,模块化开发. 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处 ...
- javascript进阶系列专题:闭包(Closure)
在javascript中,函数可看作是一种数据,可以赋值给变量,可以嵌套在另一个函数中. var fun = function(){ console.log("平底斜"); } f ...
- NFA引擎匹配原理
1 为什么要了解引擎匹配原理 一个个音符杂乱无章的组合在一起,弹奏出的或许就是噪音,同样的音符经过作曲家的手,就可以谱出非常动听的乐曲,一个演奏者同样可以照着乐谱奏出动听的乐曲,但他/她或 ...
- AutoCAD2006启动慢解决方案
一. 1.打开控制面板.2.选择Internet选项.3.在Internet属性对话框里,点高级标签.4.清除“检查发行商的证书吊销”选项.5.单击应用,然后单击OK.6.重新启动,运行应用程序. 二 ...
- CGI,FastCGI,PHP-CGI与PHP-FPM
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一 ...
- [MISSAJJ原创]cell内 通过SDWebImage自定义创建动态菊花加载指示器
最后更新已经放到了github上了 MISSAJJ自己写的一个基于SDWebImage自定义的管理网络图片加载的工具类(普通图片加载,渐现Alpha图片加载,菊花Indicator动画加载) 经常在项 ...
- Windows Store App Image开发示例
通过上面的介绍,读者已经了解了Image对象及ImageBrush对象的使用方法和常用属性,在实际的开发工作中,比较常用的是Image对象,下面以一个幼儿园识物识字卡应用为例,来帮助读者更好的理解Im ...