解决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,或许你也会遇到和我 ...
随机推荐
- venus
The Venus system was a small timesharing system serving five or six users at a time:分时系统 The design ...
- jsonp的使用
假设我们已经了解什么是同源策略,以及什么是浏览器的同源策略的限制. 现在我们需要在a.demo.com下的某个页面one.html 里加载不同域b.demo.com下的json数据. 我们都知道用&l ...
- Greenplum第三方工具链接
在master节点的$MASTER_DATA_DIRECTORY/pg_hba.conf中添加新客户端服务器信息 #add host all gpadmin 0 ...
- 参考__Linux
教程 billie66.github.iocentos下配置vsftpd虚拟用户教程Linux命令大全ubuntu14.04 配置vsftp 实用技能 移动 Ubuntu16.04 桌面左侧的启动器到 ...
- 如何编写高质量的Javascript代码
1.避免全局变量,因为全局变量容易发生名称上的冲突,可维护性不好. a,使用命名空间 b,使用闭包 c,在函数内部使用var声明 2.编写可维护的代码 a.可读性 b.连续性 c.预见性 d.看起来是 ...
- maven引入本地jar
mvn install:install-file -Dfile=***.jar -DgroupId=**.***.** -DartifactId=* -Dversion=0.8.11 -Dpackag ...
- malloc error:初始值设定元素不是常量
#include <stdio.h> #include <stdlib.h> char *buf = (char *)malloc(BUFSIZ); setbuf(stdout ...
- python——线程与多线程基础
我们之前已经初步了解了进程.线程与协程的概念,现在就来看看python的线程.下面说的都是一个进程里的故事了,暂时忘记进程和协程,先来看一个进程中的线程和多线程.这篇博客将要讲一些单线程与多线程的基础 ...
- js数据类型
JavaScript数据类型是非常简洁的,它只定义了6中基本数据类型 null:空.无.表示不存在,当为对象的属性赋值为null,表示删除该属性 undefined:未定义.当声明变量却没有赋值时会显 ...
- 基本类型和引用类型调用是的区别(Object.create)
var person = { name : 'jim', address:{ province:'浙', city:'A' } } var newPerson = Object.create(pers ...