I saw IF NOT exists("z:\sys\bin\oop.dll")
".\OOP\oop.dll"-"!:\sys\bin\oop.dll"
from a package file. Who can explain it for me? I am not clear where is z:\sys\bin?
.\OOP\oop.dll is in my computer how can I copy it to device when I install it?
'Z' is basically the ROM on your device. The particular code in the package will check for the existance of the oop.dll on the specified path on the ROM and if it's not existing then it will install the one you specified in the package file to either C or E according to what drive the user select while installing the SIS(x) file.
Hmm, I think you would need sort of a training about Platform Security. I think a good book or related articles on web would do it, too.
Nevertheless, as to your question it's one thing that you have signed your application with whatever key you had it's the Application Installer that decides whether your application is really granted the desired access or not. There are some capabilities that a user can grant even if your certificate doesn't authorize to do so: LocalServices, NetworkServices, etc. are just a few examples for this. The rest of capabilities (especially AllFiles, which is considered to be one of the strongests) require special certificates: self-signing doesn't work at all with these strong capabilities (e.g. WriteDeviceData, AllFiles, DRM, etc.), but sometimes you need manufacturer approval, too, to use a developer certificate on a given device. Not to mention commercial certificates.
So briefly: you cannot install a self-signed application that acquires for AllFiles capability. You need at least a developer certificate for that, but you'll need to ask for approval from a phone manufacturer in order to use very strong capabilities, such as AllFiles.
It looks to me like you're trying to ensure that different apps can use the same DLL. Doing it this way isn't a good solution: if you uninstall two apps this way, that use the same DLL, when you uninstall one of them, the DLL will be gone, and the still installed app won't work anymore.
The correct way to do it would be to package the DLL in a separate SIS file and embed that one into to both apps' SIS files.
Forum posts: 732
'Z' is basically the ROM on your device. The particular code in the package will check for the existance of the oop.dll on the specified path on the ROM and if it's not existing then it will install the one you specified in the package file to either C or E according to what drive the user select while installing the SIS(x) file.
Forum posts: 72
Do I need the TCB capability to check ROM?
Forum posts: 1886
No. But you don't have access to /sys/bin without it and/or ALLFILES
Eric Bustarret
NewLC Founder & CEO / Professional Symbian OS Consultant
Forum posts: 72
I created a certificate with ALLFILES. But after I signed my application. It always told me the required access was not granted.
Actually I used this:
All -TCB -DRM
I need to check z:\sys\bin\
IF NOT exists("z:\sys\bin\oop.dll")
".\OOP\oop.dll"-"!:\sys\bin\oop.dll"
What is wrong?
Forum posts: 721
Hmm, I think you would need sort of a training about
Platform Security. I think a good book or related articles on web would do it, too.Nevertheless, as to your question it's one thing that you have signed your application with whatever key you had it's the
Application Installerthat decides whether your application is really granted the desired access or not. There are some capabilities that a user can grant even if your certificate doesn't authorize to do so:LocalServices, NetworkServices, etc. are just a few examples for this. The rest of capabilities (especially AllFiles, which is considered to be one of the strongests) require special certificates: self-signing doesn't work at all with these strong capabilities (e.g.WriteDeviceData, AllFiles, DRM, etc.), but sometimes you need manufacturer approval, too, to use a developer certificate on a given device. Not to mention commercial certificates.So briefly: you cannot install a self-signed application that acquires for AllFiles capability. You need at least a developer certificate for that, but you'll need to ask for approval from a phone manufacturer in order to use very strong capabilities, such as AllFiles.
Tote
Gabor Torok
Software architect, Agil Eight (http://www.agileight.com/)
Blog: http://mobile-thoughts.blogspot.com/
Forum posts: 174
It looks to me like you're trying to ensure that different apps can use the same DLL. Doing it this way isn't a good solution: if you uninstall two apps this way, that use the same DLL, when you uninstall one of them, the DLL will be gone, and the still installed app won't work anymore.
The correct way to do it would be to package the DLL in a separate SIS file and embed that one into to both apps' SIS files.
http://ptrmobile.blogspot.com/