Superdistribution - Sending App from Phone to Phone via Bluetooth
| Fri, 2005-07-15 11:37 | |
|
Hi,
I know you can get solutions to do this from Openbit and others however I would like to come up with my own solution. When you install a SIS file, the original file is changed just to provide uninstall details, but I would like to have a "SEND" option in my application to allow users to send the application to their friends via Bluetooth. I seen in another thread that one chap said he wrote a class to rebuild the original SIS file , but this seems a little messy (and not so easy) and perhaps as mentioned in that thread, there might be issues with DRM once the components are installed to the phone. Does anyone have any solutions or ideas on how to best achieve superdistribution? I do have a solution but again its not ideal, although, less messy than reconstructing the original SIS. Basically I was thinking to send the SIS file twice from the application (but with different names) and when you install on the target (and auto Run) the first copy (from your inbox) it will search your mail directory recursively looking for the other SIS file, then copy it accross to your current install path so that it can then be subsequently sent on twice to the next user and so on, and so on. However the original SIS file (which will be download) will need to contain a copy of itself within the main SIS - the only effect being ,it will be twice the size it needs to be. Does anyone see any issues with this strategy? Would there be any DRM issues with just copying the original SIS file? Regards, Isseyp |
|






Forum posts: 174
http://ptrmobile.blogspot.com/
Forum posts: 183
Thanks for the info, but you can send them if you rename them or leave off the ".SIS" extension I beleive.
Well, I dont have any issues on the 6600 or 7650 which are both Series 60 2nd Eds.
Anyway, I have implemented the above sceme and it seems to work fine, but any other ideas or feedback is most welcome.
Regards,
Isseyp
Forum posts: 693
Forum posts: 183
Regards,
Isseyp
Forum posts: 174
1. There's no guarantee that it'll work the same on other phones (or the same phone, after a firmware upgrade).
2. A Sis file that isn't called x.sis might not be treated as a Sis file by the receiving phone (or the person using the phone).
http://ptrmobile.blogspot.com/
Forum posts: 183
but anyway, would this work on a 3650?
CObexFileObject* iFileObject;
iFileObject->InitFromFileL(_L("E:\\Test"))); //its a SIS file with no extension
iFileObject-> SetNameL(_L("Test.SIS"));
iClient->Put(*iFileObject, iStatus);
SetActive();
Or once you reanme it with the SetNameL does the Put fail?
Regards,
Isseyp
Forum posts: 142
Anyway, you just need to do an exe that is run waited on your sis, note that your exe is copied to the target folder before it is run, so with its name you could figure out, which drive the installation is made to., then you just copy the sis file, rename the ending to sis_ and, you'll be able to send it through BT using CSendAppUi class.
Then of course you should make an another exe that is run during the installation, which would wait untill installation is finalized, that would go and check if the install folder has the file with sis_ ending, and change it to sis, so it could be uninstalled normally. aybe you should also have this checking on your app, just to make sure.
Anyway, you'll have couple of small problems there still, for example, that the sis file is open while you should be copying it. Anyway it is 100 % doable, thou can not give you the excat implementation, which took me around 4 hours to make and get working on 6600 & 6680.
yucca
Forum posts: 183
thats wonderful, however could you please explain it a little more clearly. I cant work out exactly what your method is.
Regards,
Isseyp
Forum posts: 142
yucca
Forum posts: 183
I'm still not following ur method.
Could you please detail the steps involved so I can give it a try.
Step 1. ....
Step 2 .....
Regards,
Isseyp
Forum posts: 142
1. locate the sis file that is currently being installed from the inbox
2. Copy the sis file into the same location that is is being installed to.
3. Use that sis file to send the application to the other phones. (using CSendAppUI for example)
Forum posts: 183
1. locate the sis file that is currently being installed from the inbox
2. Copy the sis file into the same location that is is being installed to.
3. Use that sis file to send the application to the other phones. (using CSendAppUI for example)
How do you locate the SIS file that is currently being installed? What does this locating and when?
Regards,
Isseyp
Forum posts: 142
yucca
Forum posts: 183
Forum posts: 174
http://ptrmobile.blogspot.com/