Is there any way to assign a uid for the midlet?



I am able to launch a midlet from a c++ aplication if I know the midlet's uid.
This is done exactly as for native Symbian application e.g. using
RApaLsSession::StartDocument();

Whem a midlet installed on the phone I can find out what the uid is,
if I check folders:

e:\\Private\\102033E6\\MIDlets\\
e:\\Private\\10003a3f\\import\\apps\\NonNative}\Resource\\


Earlier it would be available also from
e:\\System\\Install\\Registry\\
but for newer firmwares it is moved to
e:\\Private\\1020329f\\Registry\\

E.g. in folder
e:\\Private\\102033E6\\MIDlets\\
I can find [1011004e] folder where 0x1011004e is the midlet's suite uid.
It is not the midlet's uid yet. I have to check the binary file
e:\\Private\\102033E6\\MIDlets\\[1011004e]\\uids
and read for last bytes to find the uid.

All these files located under private folder and need the capability AllFiles to be checked.

Also reinstallation will give new values for midlet's uid and midlet's suit uid.
Installing the midlet on the second memory card will prevent it work from the fist one.
It seems that the phone has some registration database on the phone's memory.

My question is:
Is there any way to give the uid for midlet at installation step or it is always generated randomally?


Thank you.