symbian 的内嵌sis错误,SISfile error, expected data missing

在主程序的sis中嵌入一个sis包,打包的时候提示SISfile error, expected data missing。

用carbide直接签名提示的错误时 sginsis error return valut=1,但是这么提示出来的错误,信息太少了,根本没有办法去查找解决办法。

后来经高人给指点了一下,用命令行签名,提示出SISfile error, expected data missing。这个错误才从网上查到解决办法。

问题的原因是pkg的平台标识那一行,是这么写的

;Supports Series 60 v 3.0
[0x101F7961], *, *, *, {"Series60ProductID"}

这样签完名的sis包里面解开sis包的时候再查看这一行会变成这样

;Supports Series 60 v 3.0
[0x101F7961], -1, -1, -1, {"Series60ProductID"}

这就是错误中所提到的,需要的数据丢失。。

解决办法是把那三个*改成0就ok了

;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}

还有平台id没有包括的话,在安装的时候会提示程序和手机不兼容。

写pkg的时候最好把能够兼容的手机平台都加上

比如让pkg兼容3版和5版

需要写成

;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}

;Supports Series 60 v 5.0
[0x1028315F], 0, 0, 0, {"Series60ProductID"}

你可能感兴趣的:(Symbian)