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

目前我司新的客户端开发已经接近尾声,该改的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制作中文安装包在非中文系统上显示乱码的问题的更多相关文章

  1. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题

    转自:http://yedward.net/?id=104 昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用 ...

  2. 使用Inno Setup 制作软件安装包详细教程(与开发语言无关)

    前言:关于如何制作一个软件安装包的教程,与编程语言无关.以下,请看详情~ 1.下载Inno Setup,下载地址:https://jrsoftware.org/isinfo.php 2.下载最新版本即 ...

  3. WIX在VS2012中如何制作中文安装包

    WIX安装图文并茂简易说明一文中介绍了WIX安装包的制作过程,不过生成的是英文版的,如果需要制作中文版的安装包呢? 方法很简单,只需要两步. 1.增加中文UI的文件WixUI_zh-cn.wxl到工程 ...

  4. Inno Setup制作应用程序安装包

    我最近写了一个MFC应用程序,想发给其他的小伙伴玩一玩,直接发了个exe文件过去,结果发现小伙伴那边打不开.原来这个exe文件虽然是MFC静态编译的,但是还依赖了其他几个.dll文件,需要把这几个dl ...

  5. 用Inno setup制作以管理员权限启动的安装包

    inno setup制作的安装包,默认是不需要管理员权限启动的.我们制作安装包,往往需要做一些设置工作,这些设置工作可能用到管理员权限.使用Resource Hacker修改inno setup资源, ...

  6. [Azure DevOps] 使用 Inno Setup 制作桌面软件安装包

    1. 桌面应用程序的 CI/CD 桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的"部署"只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以 ...

  7. 用inno Setup制作web项目安装包

    http://www.cnblogs.com/xionghui/archive/2012/03/22/2411207.html 用inno Setup制作安装包 新建一个文件夹exambody,放ap ...

  8. 用Inno Setup制作WEB程序安装包

    原文 用Inno Setup制作WEB程序安装包 最近做了一个WEB程序的安装包,我把制作的过程做个介绍,贴出源码给大家做个参考 看看inno 的脚本 [Setup] AppCopyright=tes ...

  9. 【原创】python中文编码问题深入分析(二):print打印中文异常及显示乱码问题分析与解决

    在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我 ...

随机推荐

  1. (十二)select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

    select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset ...

  2. 【java基础】成员变量和局部变量02

    成员变量和局部变量(2) 成员变量的初始化和内存中的运行机制         当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值. package object; ...

  3. Table样式

    .tb_org th { background-color: #; color: #ffffff; } .tb_org { border-right: 1px solid silver; border ...

  4. Spring 在多线程中,bean的注入问题

    最近碰到了一个问题,使用SSM框架,在Service层需要另开一个线程,这个线程专门用来做一些操作,并将结果写入数据库中.但是在线程中使用@Resource或者@Autowired注入全部为NULL, ...

  5. 个人学习随笔(psi-blast随笔)

    psi-blast学习 最近自己学习了一些新工具,最近在学习关于蛋白质相互作用位点的预测,在学习中,接触了几个新的工具,下面说说自己正在学习的psi-blast. 首先要说我用psi-blast用来做 ...

  6. Python’s SQLAlchemy vs Other ORMs[转发 2]Storm

    Storm Storm is a Python ORM that maps objects between one or more databases and Python. It allows de ...

  7. 下载历史版本App超详细教程

    有些时候我们需要下载旧版本的 App 进行研究或者其他用途,然而在 iOS 下,苹果的 App Store 里面默认只能下载最新版本的 App,对滴,就是这么任性,不服不行.然而在 Android 里 ...

  8. BADI_MATERIAL_CHECK(物料主数据表的增强检查)

    多次调用的BADI,'业务加载项定义的多重使用意味着可以有多个活动的 业务加载项实施.在进行调用时,将调用所有上述实施,但调用顺序不可预期. 因此,如果使用多重使用 业务加载项定义,那么顺序不得起到任 ...

  9. 如何用php生成1-10之间的不重复随机数

       今天跟大家分享一个PHP中的案列,大家一起学习学习.                                                        使用shuffle函数生成随机 ...

  10. 非对称加密算法-RSA

    注意:本节内容主要参考自<Java加密与解密的艺术(第2版)>第8章“高等加密算法--非对称加密算法” 12.1.RSA(最经典的非对称加密算法) 特点: 使用一套密钥即可完成加解密(与D ...