carbide.c++ 如何生成sisx文件

carbide.c++ 如何生成sisx文件 (2009-11-07 20:01:39)

http://wiki.forum.nokia.com/index.php/Getting_started_with_Qt_for_S60

http://hi.baidu.com/yuntingzaixian/blog/item/483af1c3959cf051b319a8a4.html

sis是打包安装文件(需要pkg文件,pkg里有要打包的文件列表和规则)

生成sis的过程是 :编译+链接=目标文件 --> makesis生成sis包 -->证书签名=sisx包

1.项目右键 -> properties -> carbide.c++ -> carbide build configuration -> sis builder -> add 在SIS Properties面板的PKG File添加 pkg文件

2.在Configurations 中选择armv5 release菜单选择编译方式。意思是用 armv5 编译器编译 Realse 版程序。

然后执行菜单“Project / Build Project”编译项目。

对于经常出现的错误   “File I/O fault.”这个错误是指文件目标不明确,将下面的$(EPOCROOT),$(PLATFORM)/$(TARGET)用相应文件夹地址代替即可!

$(EPOCROOT)Epoc32/release/$(PLATFORM)/$(TARGET)/helloworld_0xE60906CC.exe"

重新Build后即可生成sis。

生成sis文件后去 http://www.newsive.com/SOFTWARE/FireCer.rar 下载s60证书签名专家,

生成签名文件sisx

我也是用Carbide.c++(版本:1.2)开发程序的.我制作sisx安装文件的过程是这样的(假设您的程序名称为MyApp):

1.点击工具栏中"小锤"图标的下箭头,选择"Phone Release"进行程序构建.

或者:

1'选择菜单"Project/Active Build Configuration/Phone Release",之后,"Project/Build Project".

2.在IDE中打开文件" <MyApp>/sis/ <MyApp>_S60_3_X_v_1_0_0.pkg"(IDE自动生成,名字大致是这样,后面是版本号).

3.在打开的该文件上右键,选择右键菜单"Build PKG File",创建sisx安装文件完成,它的位置为" <MyApp>/sis/ <MyApp>_S60_3_X_v_1_0_0.sisx"

你会发现第三步生成3个文件,分别为

1._resolved <MyApp>_S60_3_X_v_1_0_0.pkg;

2. <MyApp>_S60_3_X_v_1_0_0.sis;

3. <MyApp>_S60_3_X_v_1_0_0.sisx.

文件1是 <MyApp>_S60_3_X_v_1_0_0.pkg的实例化文件,您会发现 <MyApp>_S60_3_X_v_1_0_0.pkg中的不定因素都根据您的环境落实了,其实IDE是先生成它,然后由它生成安装文件.

文件2和文件3都是安装文件,不同的是文件3已经被IDE自动签名认证了.您可以直接安装文件3,或者拿文件2做特别的签名之后安装.

拿安装的时候经常会出现一下的提示:

1.证书错误,请与应用程序提供商联系.

这很可能是您使用了没有认证的安装文件.

2.证书尚未生效,已过期,或者手机的日期设置不正确.

这是因为证书的生效时间大于手机的当前时间.

3.证书过期.

这是因为证书的失效时间小于手机的当前时间.

4.不支持安装...

这有可能是程序的版本不正确(如将第二版程序安装到第三版的手机上),也有可能根本不是安装文件,只是后缀名恰巧符合.

5.无法安装.

一般是因为安装文件制作不正确.我首次安装就遇到这种情况.自己辛辛苦苦制作的SISX竟然安装到最后失败...无语,抓狂,崩溃.

对于2,3种情况,楼主可以更改手机时间(解密游戏,我喜欢)试一试.

其它情况,就按照我所说的步骤(希望楼主的Carbide.c++和我的版本一样).如果还不行,楼主就要好好找找原因了.

如果楼主的Carbide.c++版本和我的不同,可以参考"如何从Carbide.c++产生SIS安装文件?".

如果实在不行,楼主要手工制作PKG,可以参考"*.pkg文件的阐述及生成sis 文件的方法".

祝楼主好运.

 

 

补充一点,造成"无法安装"的一个很常见的原因是用debug版本生成sisx进行安装.

所以楼主说在模拟器上能够正常运行,我想应该是因为这个.

楼主检查一下是否是以release版本build程序.

你可能感兴趣的:(carbide.c++ 如何生成sisx文件)