09-29-2011 06:26 AM
Hi,
I am developing an application which should not be uninstalled manually from device or through desktop manager.
Want suggestions if this is possible and how? If not then, is there any alternative way to create an application that will not be visible in applications list on device or in desktop manager (kinda hidden application (not a library but an app) ) ?
Thanks,
Alpesh
Solved! Go to Solution.
10-03-2011 05:40 PM - edited 10-03-2011 09:00 PM
Hello Alpesh,
How are you doing? I hope all is well.
In regards to preventing an application from being uninstalled by a user, you can do the following:
1) If you are a BES Admin, you can enable this via Software Configuration
2) You can also augment your .alx file to include the <required>true</required>
Let me know if you have any further questions, and I will more than happy to help to assist
10-04-2011 01:28 AM
10-04-2011 03:09 AM
10-04-2011 04:03 AM
10-04-2011 05:30 AM
10-04-2011 11:19 AM
Hello Alpesh,
How are you doing? I hope all is well.
I'm glad you were able able to implement the features of your application.
In regards to the application being observed in the applications screen, can you send me a snippet of your CodeModuleManager implementation?
Looking forward to your reply.
10-05-2011 12:09 AM
Raihan,
Below is the code I have used to uninstall my application.
ApplicationDescriptor ad = ApplicationDescriptor.currentApplicationDescriptor(); int moduleHandle = ad.getModuleHandle(); int rc = CodeModuleManager.deleteModuleEx(moduleHandle, true); if ( rc == CodeModuleManager.CMM_OK_MODULE_MARKED_FOR_DELETIO N ) { CodeModuleManager.promptForResetIfRequired(); } else if ( rc == CodeModuleManager.CMM_OK ) { Dialog.alert("Deleted"); }
Even after the hard reboot, device simply statred without reconfiguring anything and application was showing in applications list and desktop manager. So, I was not able to re-install the application ![]()
Then I tried uninstallation using javaloader and worked. On reboot, device was reconfiguring which did not happened when I did the hard reboot after uninstalling the application through my code.
Any specific step I need to follow?
Also Sorry that I am going too pessimistic but I am curious to know, Is there any way to prevent uninstall through javaloader as well?
Thanks a lot,
Alpesh
10-06-2011 12:29 PM
Hello Alpesh,
CMM API should throw an exception. Could be a bug.
Are you able to reinstall the application onto your device?
Using Javaloader can you run the following command javaloader.exe -u dir and see if your application modules are available. I'm predict that the modules will still be installed?
In regards to preventing an uninstall using javaloader, you can't prevent an uninstall if the following command is being executed "javaloader.exe -u erase -f <.cod files>
Looking forward to your reply.
Sincerely,
10-07-2011 02:54 AM
Thanks a ton, Raihan
There was a mistake in my code and now I can completely remove the app from my device and no app module is present after deletion and reboot. I can reinstall the app too ![]()
I really appreciate all your help and time in solving my problem.
Quick query, If RIM does not require any screening for such system level app that user can't delete then how RIM ensures the security of the device? tomorrow someone can create virus or app that cannot be deleted to spy data how can one secure the device.. I am just worried.
Regards,
Alpesh