Signing (Nokia Publish) problem with embedded 3rd party dll-s
This is a continuation of [url]http://www.developer.nokia.com/Community/Discussion/showthread.php?238424-Express-Signed-error-quot-Your-file-could-not-be-processed-for-unknown-reason-quot[/url]
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=wizard_hu_;909966]It is a matter of text search: get a good file manager and search for your old UID in all of your files. And also do that with filenames.
And note that you can test the result yourself, using the devcert you received from Nokia Publish. Testing with the real files and UID-s is one of its purposes.
Then you do not need to send the application for release as long as it does not work locally.[/QUOTE]
I have a good file manager and there is no old UID hidden somewhere.
How can I self sign my game with the nokia assigned 0x2006**** UID and run it on my own phone?
Re: Express Signed error: "Your file could not be processed for unknown reason."
Nokia 603,7007,701 all this is phone come with belle fp1 or fp2 while e7,c7,e6 and n8 are updated with belle refresh only so could it be a software issue?.I have n8 with belle refresh.I can be your beta tester if you want to.
Re: Express Signed error: "Your file could not be processed for unknown reason."
Also do the search for [B] 2006**** [/B] instead for [B] 0x2006**** [/B], and also do see if you have used the UID as part of any filename, and whether those should be also changed.
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=symbianyucca;909985]Also do the search for [B] 2006**** [/B] instead for [B] 0x2006**** [/B], and also do see if you have used the UID as part of any filename, and whether those should be also changed.[/QUOTE]
I have already did that. Nothing...
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=babylongreece;909983]You can use developer certificate to sign the app with UID 0x2006 which can be installed in your phone.Request one from nokia support if you don"t have one and remember to give your phone imei in your email request.Judging from the years you join nokia developer,you should already know symbian phone very well[/QUOTE]
I will send you the game to test it with the 0xA001**** which works for me. I will send a private message. Thanks.
Re: Express Signed error: "Your file could not be processed for unknown reason."
I got a developer certificate with my phones IMEI. Changed to nokia assigned 0x2006**** and signed with this certificate.
Then when I installed into the phone (with the correct IMEI):
1) It installed corrected with no complains. It finished ok.
2) I could not find the icon of the game as the Nokia App Store guys tell me.
Why doesn't it like the 0x2006**** range?
The only thing I can think of this because my app uses a lot of other libraries inside.
Eg, it has inside:
stlport_s.mmp
libpng.mmp
tremor.mmp
freetype.mmp
sdl.mmp
sdlmain.mmo
sdl_image.mmp
sdl_mixer.mmp
sdl_ttf.mmp
All of those are se in the MMP's as Target types: LIB without any UID 2 or UID 3, except 'SDL' which uses Target types: DLL without any UID 2 or UID 3.
But I think that SDL might need some UID 2. If this is the case, it should be already signed in order the main app to be signed correct?
The initial example I found SDL library had:
TARGETTYPE dll
UID 0x1000008d 0xE5A8B053
CAPABILITY WriteUserData ReadUserData NetworkServices LocalServices
But I dont need these capabilities and I cannot sign it with this UID range.
If this is the case do static DLLs have to be express signed before used in a signed app?
Re: Express Signed error: "Your file could not be processed for unknown reason."
0xE5A8B053 is something what must not occur as .dll UID in a release package. 0xE is the development range. Even if you release untrusted code (outside the Store), that would have to be in the 0xA range. However for the Store everything has to be in the 0x2 range anyway.
You can pack several .exe and .dll files into a single top-level installation package, just in that case no one else will be able to install files with the same name.
If you build the SDL packages for yourself
- it is mandatory to modify their UID to some UID which is assigned to you
- and it would be advisable to modify their name too to include the UID, so the above mentioned clash can be avoided
Alternatively you can try squeezing out a signed SDL installer from SDL guys, just it is unlikely that it would exist. Signing SDL separately for yourself is both expensive and pointless, unless you release the signed package for others.
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=wizard_hu_;909996]0xE5A8B053 is something what must not occur as .dll UID in a release package. 0xE is the development range. Even if you release untrusted code (outside the Store), that would have to be in the 0xA range. However for the Store everything has to be in the 0x2 range anyway.
You can pack several .exe and .dll files into a single top-level installation package, just in that case no one else will be able to install files with the same name.
If you build the SDL packages for yourself
- it is mandatory to modify their UID to some UID which is assigned to you
- and it would be advisable to modify their name too to include the UID, so the above mentioned clash can be avoided
Alternatively you can try squeezing out a signed SDL installer from SDL guys, just it is unlikely that it would exist. Signing SDL separately for yourself is both expensive and pointless, unless you release the signed package for others.[/QUOTE]
So the only solution is:
To take out SDL DLL from my program and make it a sis of its own with nokias assigned UID in the 2*** range. Then express signed it and then add the signed sis on my own game and ask for nokia signing?
1) Can I take out SDL DLL from my program make it a sis of its own with nokias assigned UID in the 2*** range and ask for free nokia signing somehow?
2) Can I keep the SDL DLL in my program somehow and then nokia sign both when I submit them in the Nokia App store?
Re: Express Signed error: "Your file could not be processed for unknown reason."
I tried to sign the SDL DLL with my developer certificate to install it on my testing phone and I did it:
The sis file with the SDL DLL now installs on my test phone with no problem.
So I took out SDL from my main app and still when I sign it with the developer certificate it installs ok but there is no icon to run the applications...
If I install it to internal memory the icon shows but it does not run.
Re: Express Signed error: "Your file could not be processed for unknown reason."
I am not a native English speaker, so my explanations can end up confusing sometimes, sorry.
[QUOTE=crazysoft;910000]To take out SDL DLL from my program and make it a sis of its own with nokias assigned UID in the 2*** range. Then express signed it and then add the signed sis on my own game and ask for nokia signing?
1) Can I take out SDL DLL from my program make it a sis of its own with nokias assigned UID in the 2*** range and ask for free nokia signing somehow?[/QUOTE]No, that would be nice, just Nokia Publish does not sign stuff for embedding. And a practical detail: when Nokia Publish signs something for you, that goes directly to the Store, you do not get back the signed package.[QUOTE]2) Can I keep the SDL DLL in my program somehow and then nokia sign both when I submit them in the Nokia App store?[/QUOTE]Yes, you can. That is what I was trying to suggest as the most viable workaround.
The nasty approach would involve replacing the UID-s only, so you would end up with a single .pkg file containing things like[CODE]"...\yourapp.exe"-"!:\sys\bin\yourapp.exe"
"...\sdl.dll"-"!:\sys\bin\sdl.dll"[/CODE]however there can be other people who want to pack sdl with their applications, and in the Symbian world only one package can deliver a given file to a given device. Other packages can not overwrite it, and will fail to install. See "upgrading rules" in the SDK Help, somewhere in the installer guide.
So the ideal solution would be modifying the UID and also renaming the files to something unique. In fact it may already apply to your application, yourapp.exe is often called yourapp_youruid.exe in practice.[CODE]"...\yourapp_2xxxxxxx.exe"-"!:\sys\bin\yourapp_2xxxxxxx.exe"
"...\sdl_2xxxxxxy.dll"-"!:\sys\bin\sdl_2xxxxxxy.dll"[/CODE]would be really unique.
The expensive alternative is to have sdl signed externally, then it could be added as an embedded package to your application and to any other application too[CODE]"...\yourapp_2xxxxxxx.exe"-"!:\sys\bin\yourapp_2xxxxxxx.exe"
@"...\sdl.sis",0x2xxxxxxy[/CODE](because in this case sdl.sis delivers the actual .dll file, and it can deliver it multiple times if it is embedded in multipe installation packages)
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=crazysoft;910001]I tried to sign the SDL DLL with my developer certificate to install it on my testing phone and I did it:
The sis file with the SDL DLL now installs on my test phone with no problem.[/QUOTE]A developer certificate can sign any untrusted file/package, and your own trusted packages. But it certainly does not mean that the given untrusted file/package would be accepted to the Store.[QUOTE]So I took out SDL from my main app and still when I sign it with the developer certificate it installs ok but there is no icon to run the applications...
If I install it to internal memory the icon shows but it does not run.[/QUOTE]It misses the .dll I assume.
Re: Express Signed error: "Your file could not be processed for unknown reason."
Tested the game.Seem what qa say is right.Your game cannot be start.After game open it seems to stuck.I will give you explanation.Game open with black screen with just a small wheel spinning(i think is loading)>Language dialog came.I choose english and press tick(ok button)>The game go to black screen with little arrow on the corner and just stuck there.I even leave it for 5 minutes and it still stuck,unable to start with music playing only
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=babylongreece;910018]Tested the game.Seem what qa say is right.Your game cannot be start.After game open it seems to stuck.I will give you explanation.Game open with black screen with just a small wheel spinning(i think is loading)>Language dialog came.I choose english and press tick(ok button)>The game go to black screen with little arrow on the corner and just stuck there.I even leave it for 5 minutes and it still stuck,unable to start with music playing only[/QUOTE]
This is a new error. The QA says that it does not load anything at all. You loaded graphics and music and then crashed. Can you send me a screenshot?
Where did you install it? Internal or external memory?
Re: Express Signed error: "Your file could not be processed for unknown reason."
[QUOTE=wizard_hu_;910006]I am not a native English speaker, so my explanations can end up confusing sometimes, sorry.
No, that would be nice, just Nokia Publish does not sign stuff for embedding. And a practical detail: when Nokia Publish signs something for you, that goes directly to the Store, you do not get back the signed package.Yes, you can. That is what I was trying to suggest as the most viable workaround.
The nasty approach would involve replacing the UID-s only, so you would end up with a single .pkg file containing things like[CODE]"...\yourapp.exe"-"!:\sys\bin\yourapp.exe"
"...\sdl.dll"-"!:\sys\bin\sdl.dll"[/CODE]however there can be other people who want to pack sdl with their applications, and in the Symbian world only one package can deliver a given file to a given device. Other packages can not overwrite it, and will fail to install. See "upgrading rules" in the SDK Help, somewhere in the installer guide.
So the ideal solution would be modifying the UID and also renaming the files to something unique. In fact it may already apply to your application, yourapp.exe is often called yourapp_youruid.exe in practice.[CODE]"...\yourapp_2xxxxxxx.exe"-"!:\sys\bin\yourapp_2xxxxxxx.exe"
"...\sdl_2xxxxxxy.dll"-"!:\sys\bin\sdl_2xxxxxxy.dll"[/CODE]would be really unique.
The expensive alternative is to have sdl signed externally, then it could be added as an embedded package to your application and to any other application too[CODE]"...\yourapp_2xxxxxxx.exe"-"!:\sys\bin\yourapp_2xxxxxxx.exe"
@"...\sdl.sis",0x2xxxxxxy[/CODE](because in this case sdl.sis delivers the actual .dll file, and it can deliver it multiple times if it is embedded in multipe installation packages)[/QUOTE]
Please explain the ' single .pkg' a little more:
What UID3 do I put to SDL DLL? The same with my game or another one?
Do I put UID2: 0x1000008d ?
If I put a different UID3 than the actual game what happens in the Nokia Signing?
Did they sign both of them or an error occurs because in each game I declare a UID3 in the Ovi Store details.
If I declare the games UID3 how do they find the DLLs UID3?
Thanks