Installshield 多语言安装包 和 安装序列号验证,及如何解决 Failed to set code page for Language 46 问题

工程类型:installshield script MSI

目的:多语言安装包(英语、简体中文)

下载地址:/Files/zhaobl/Installshield/多语言安装包.rar

预览:

步骤:

1. 安装时要求填入序列号

    参照:海洋女生的文章一个简单的带序列号输入的安装包  ,很容易的就实现了。

2. 多语言支持

    步骤很简单,但遇到几个问题,耗费了不少时间。

    a.Project Assistant->Installation Localization ,勾选上 “英语(美国)” 和“中文(中国)”,这样设置后编译、构建、运行但没出来语言选择框

    b.Installation Designer->Media->Releases->Release 1->Build, 设置如下图:

c.这样设置完后,按说就应该好了,但出现了几个问题。

 

 

问题1:目录或网址中包含中文

          因为这是个学习的安装包,以前只是用简体中文,有个目录是用了汉字。还有在助手里设置完公司名称后,网址自动生成,因此也包含了汉字。这样添加英语后就出现了问题,错误提示很明显很容易就修改了。

 

问题2:Build Error 6041

         这是因为在 Release 1 里 “Keep Unused Directiories”,需要设置成 YES ,默认 NO。

         “Specify whether you want InstallShield to remove unused directories from the Directory table of the .msi file when you build this release. Available options are:。。。”

         通过翻译助手,我怎么也看不出这个和多语言有多大的关系。不过解决方法是通过点击 错误码找到的,还算不错。

       解决方法:     

                   To resolve the error, follow the steps below:

                        1.Browse to the 'Releases' view in the Project.
                        2.Select the Release that you are working on.
                        3.Go to the 'Build' tab.
                        4.Change the 'Keep Unused Directories' value to Yes.
                        5.Rebuild the Release and test it.

   问题3: Failed to set code page for Language 46

         这个问题就特别扯淡了, 字符集 46 ?选择的简体中文和英语编码都不是46啊,通过错误码打开帮助页,说需要安装对应的字符集,然后就给链接到微软的网站上去了。微软网站说一般是windows Nt 4.0 、2000 需要安装民族语言包之类的。有个字符集编码表,也没找到46.总之通过帮助没解决问题。

      换搜索引擎,先用百度,搜出来驴唇不对马嘴啊,没点相关性。换google,不负重托啊找到一个论坛页面  

http://community.flexerasoftware.com/archive/index.php?t-193735.html,全英文啊,慢慢看,经过几个人得多次回复,出现了一个牛人,一句换解决

Open the Direct Editor view and select the ISRelease table.
Find the DefaultLanguage column, which will have a value of 46, and replace that value with 2052.

不知道Installshield 为什么默认是 46,修改后确实好了。这个问题确实找了好久才找到解决方法,所以记录下来,方便有同样问题的人也能找到个中文的页面,O(∩_∩)O~。

 

原文地址:https://www.cnblogs.com/zhaobl/p/Installshield.html