BlackBerry Forums Support Community               

Closed Thread
 
LinkBack Thread Tools
Old 10-19-2005, 02:49 PM   #1 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default Wireless Application Push

Please Login to Remove!

So just to test out this functionality i have been messing around with a few dummy files to try and push software to a Nextel 7520 from a BES 4.0.2 server and I am having some difficulties. I was wondering if there is a comprehensive document or howto about pushing apps wirelessly (game, custom application, whatever)?
Offline  
Old 10-19-2005, 08:56 PM   #2 (permalink)
CrackBerry Addict
 
T-Roy's Avatar
 
Join Date: Jan 2005
Model: 8800
Carrier: Darth Vader
Posts: 704
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Handheld Management guide that comes with the server?

Basically share research in motion directory under programfiles/common files
install 3rd part apps in program files/common files/research in motion/shared/application/<you app folder here>/
run program files/common files/research in motion/apploader/loader.exe /index
create new software configuration
access shared research in motion directory via unc path
create a new policy with disposition required (meaning software is required)
check application from the software configuration list
assign policy to the application with required disposition
assign software configuration to handheld.
wait up to 4 hours....enjoy

i beleive this is it...
Offline  
Old 10-20-2005, 07:23 AM   #3 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

As far as the files to install the application what is required? Just the .alx and the .cod? Someone said you may need a .jad file or .jed file or something.

I can see that the policy gets successfully pushed out. That should mean that the configuration got pushed out properly right?

Last edited by Khue : 10-20-2005 at 08:47 AM.
Offline  
Old 10-20-2005, 11:03 AM   #4 (permalink)
BBF Veteran User
 
Join Date: Aug 2004
Location: Hotwiring another Cessna
Model: OU812
Carrier: Nintendo
Posts: 3,492
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

It should. I wrote up a howto on it a long time ago. You should be able to search for it. But T-Roy's plan is basically it.
Offline  
Old 10-20-2005, 04:13 PM   #5 (permalink)
CrackBerry Addict
 
T-Roy's Avatar
 
Join Date: Jan 2005
Model: 8800
Carrier: Darth Vader
Posts: 704
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

alx and cod files work.
Offline  
Old 10-24-2005, 08:35 AM   #6 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Well, it ended up taking me damn near the whole weekend to figure it out however, I've managed to do it. The majority of the problem centered around adding Authenticated Users to 3 seperate folders. On my BES there were 3 seperate places i had to touch. The folders include:

Code:
C:\program files\common files\research in motion
C:\research in motion\BlackBerry Enterprise Server\Package Cache\FILESHARE_<servername>\RIM
C:\program files\research in motion\BlackBerry Enterprise Server\Logs
For some reason on our install only local admins had rights to do this. This was particularly odd considering a domain account that had "local admin" rights to the bes setup the account.

The database consistancy service had to be turned on and in order to get a faster response on the log file while troubleshooting i changed the polling for the policies from the standard 4 hours to 10 minutes (never ever do this unless absolutely necessary, this is such a bad idea i lack the verbage to illustrate how utterly bad this is to do on a production box).

The entire process took about two days to do and i can now wirelessly deploy/install applications. Whooo hoooo!
Offline  
Old 10-24-2005, 09:10 AM   #7 (permalink)
Talking BlackBerry Encyclopedia
 
Join Date: Mar 2005
Location: Washington DC
Model: all
Carrier: All carrier's
Posts: 315
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

I definately need this. Is this only for ver 4.0.2?
Offline  
Old 10-24-2005, 12:08 PM   #8 (permalink)
BBF Veteran User
 
Join Date: Aug 2004
Location: Hotwiring another Cessna
Model: OU812
Carrier: Nintendo
Posts: 3,492
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

No, was introduced with the release of 4.0
Offline  
Old 10-24-2005, 02:51 PM   #9 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

It's very convoluted if you read the RIM documentation and a lot of the information I found out was through some high level tech support and some guess and test work. I believe you can use the same methodologies to remove applications too.

In case you are wondering we are currently developing some custom logistics software that deals with gps readings and accounting type information.

Last edited by Khue : 10-24-2005 at 02:54 PM.
Offline  
Old 10-24-2005, 03:16 PM   #10 (permalink)
Thumbs Must Hurt
 
Join Date: Aug 2004
Model: 8300
Carrier: AT&T
Posts: 180
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Forgive me if it is dumb question, but can you actually push certain applications (Ramble IM, for example) that uses alx and cod push to your blackberry over the air from BES?
Offline  
Old 10-25-2005, 07:23 AM   #11 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Yes, I believe you can remove it as well (if installed OTA).
Offline  
Old 10-28-2005, 08:31 AM   #12 (permalink)
Knows Where the Search Button Is
 
Join Date: Oct 2005
Location: NJ
Model: 8100
Carrier: Cingular
Posts: 16
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

[quote=Khue]Well, it ended up taking me damn near the whole weekend to figure it out however, I've managed to do it. The majority of the problem centered around adding Authenticated Users to 3 seperate folders. On my BES there were 3 seperate places i had to touch. The folders include:

Code:
C:\program files\common files\research in motion
C:\research in motion\BlackBerry Enterprise Server\Package Cache\FILESHARE_<servername>\RIM
C:\program files\research in motion\BlackBerry Enterprise Server\Logs
For some reason on our install only local admins had rights to do this. This was particularly odd considering a domain account that had "local admin" rights to the bes setup the account.

The database consistancy service had to be turned on and in order to get a faster response on the log file while troubleshooting i changed the polling for the policies from the standard 4 hours to 10 minutes (never ever do this unless absolutely necessary, this is such a bad idea i lack the verbage to illustrate how utterly bad this is to do on a production box).
QUOTE]
I'm currently trying to setup a wireless push for a 3rd party application that my company distributes to it's employees. I've read through the Handheld guide about 10 times now, and believe I have configured everything correctly. Still no pushes though. the handheld configuration tool is picking up that an installation or update is required on an application, but It never does it.
I have two questions from the quote above. What did you have to do in the logs directory? we have ours moved to a seperate drive so I am wondering if thats causing anything... and the other is which polling did you change? the polling of the IT policies?
BES 4.1 sp3/ exchange / win 2003 server... the 3rd party app is packaged with an ALX and the two files that indexing creates. Any suggestions you guys may have would be much apprecaited.
Offline  
Old 11-02-2005, 01:28 PM   #13 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Sorry, for the long delay in answers. Sometimes I forget about the forum. The entire process as catalogued by RIM is somewhat convoluted. To explain it is a little more involved then I care to spend in on a forum post until I actually have sat down and written out the exact process. If you would like you may contact me via email at (email removed! leave me a private message on the forums!) and I will be happy to help.

Last edited by Khue : 06-22-2006 at 03:04 PM.
Offline  
Old 11-07-2005, 12:24 PM   #14 (permalink)
Thumbs Must Hurt
 
Khue's Avatar
 
Join Date: Sep 2005
Location: In a van down by the river.
Model: 8320
Carrier: T-Mobile
Posts: 101
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

I had to do a write up of this for SOX because this has some security implications but there were some questions about this and this was a painful experience having to work this out. And i know a lot of you might not have nice dev environments. Admins feel free to do whatever with this post. And sorry to keep bringing this back to the top of the list for the forum. Feel free to correct me where I am wrong as I just started doing BES work less then a month ago.

I have been messing around with the PUSH technology for some time now and because I havenxxx8217;t really seen any xxx8220;n00bies, this is how you do itxxx8221; posts I have decided to make the first. A lot of the BES manual information is rather convoluted and difficult to understand for new administrators or administrators who have simply not been exposed to this side of the BES software. Most consider this as a xxx8220;nicexxx8221; addition to what the BES can do but donxxx8217;t seriously consider this a feature that they have to have.

For the duration of this post I will refer to a test application that hypothetically exists. It is composed of an .alx file and a single .cod file. A .cod file is usually a compiled java application file and an .alx file is usually an index or record keeping file that appears to be XML. If you view the .alx file you will see it has information like what version number the software is, what files compose the complete software package, and company information. If an application is composed of several .cod files they will be recorded here as well. A good example of a multiple .cod supported .alx file is ShapeServices IM+ application. Typically there should be only one .alx file per software application (no matter how many .cod files there are) however on rare occasion because of different development environments it is not unusual to see a single .alx file per .cod file. There can sometimes be issues with this instance as well but usually it just requires cleaning up some of the XML in the individual .alx files. If requested I can amend this post with details about that.

From what I could tell there is no file structure system that applications on the BlackBerry rely on. For example in windows most programs are buried several directories deep and require references to different folders that exist somewhere else in the file tree. On a BlackBerry from my observation all you need to do is simply make sure the files are present on the device.

Now that Test application is ready to go, meaning we have the files we need, it is necessary to place the application in the appropriate directory for delivery. Copy the software, in our case test.cod and test.alx, to <whatever letter:\>program files\common files\research in motion\shared\applications\Test. You will need to create a xxx8216;testxxx8217; folder there for the 2 files.

The files are now in the appropriate directory to be sent out to wireless devices. Even though they are in this directory they will not be present to the BES Handheld Configuration Tool (the app used to actually do the push). In order to make the files available for the Handheld Configuration Tool to properly send you must index the files with the loader application. The loader application can be found <whatever letter:\>program files\common files\research in motion\apploader\loader.exe. You will need to run loader.exe from a command prompt. You may want to consider adding this to the environment path to make things easy on yourself but as a BES Admin this is completely up to you. At the command prompt, navigate to that directory on the BES and type the following: loader /index. The flag /index will create 2 files within the previously established xxx8216;testxxx8217; folder. It will create a PkgDBCache.xml and a specification.pkg file. Once these files have been created, you can then move on to creating the configuration.

The configuration is the actually information that packages the files up and prepares them to send. Open up the xxx8220;Handheld Configuration Toolxxx8221; and navigate to the xxx8220;Configurationxxx8221; tab. Once you are here you will want to click on the link that says xxx8220;Add New Configuration.xxx8221; This will open up a new window titled xxx8220;Handheld Software Configuration.xxx8221;

Because we are starting from scratch, I will go through an entire process example install to reinstall. The first configuration we will create will be Test App Install. Title the configuration xxx8220;Test App Install.xxx8221; You may optionally choose to add a description to this title. Next, add the xxx8220;Handheld Software Locationxxx8221; to the configuration. This wants the share name of that directory. To begin with make sure the share is setup. Refer back to the <whatever letter:\>program files\common files\research in motion folder is shared out and has xxx8220;Read & Executexxx8221;, xxx8220;List Folder Contentsxxx8221;, and xxx8220;Readxxx8221; permissions delegated to xxx8220;Authenticated Users.xxx8221; Once this has been setup successfully, in the xxx8220;Handheld Software Locationxxx8221; line you will need to type the share name of that directory in. For example, if our test BES is BESTest the directory should be listed as \\BESTest\Research In Motion.

Once you have selected the proper UNC path for the application directory, you should then see the application listed in the grid below. If you expand the xxx8220;Application Softwarexxx8221; tree you should see our test application listed. Check the checkbox mark next to the application and choose the delivery method as xxx8220;wireless.xxx8221;

To complete the configuration you will need to assign the configuration a policy. This policy governs the properties of the application. If disposition is marked xxx8220;Requiredxxx8221; the BES will push the application to the units with the configuration. If a user attempts to delete a file that is listed as required, they will have access denied to deleting it. If an application is listed as xxx8220;Disallowedxxx8221; it will uninstall any application that the policy is designated to govern. An odd thing about this is when wirelessly removed, the application will still remain listed in the xxx8220;Applicationsxxx8221; options menu however the modules will be removed as well as the application icon (I have not yet found an explanation for this). If a user attempts to install something that is explicitly marked as xxx8220;Disallowedxxx8221; through the desktop manager application they will not be allowed to.

Click on the xxx8220;Policiesxxx8230;xxx8221; button and then click xxx8220;Newxxx8230;xxx8221; This will take you to the xxx8220;Application Control Policyxxx8221; screen. Once you are here name this policy xxx8220;Push Appxxx8221; and change the disposition to required. For details on what the other options do see Appendix B: Software application control out of the BES admin guide. Once you have set the proper settings for the application simply hit the xxx8220;OKxxx8221; button to both of the open dialogs which should take you back to the xxx8220;Handheld Software Configurationxxx8221; box. From the Policy column next to the application you wish to push select xxx8220;Push App.xxx8221; Sometime during this process you should create another policy called xxx8220;Remove Appxxx8221; and make the disposition xxx8220;Disallowedxxx8221; for the uninstall process.

Now that the xxx8220;Test App Installxxx8221; configuration has been made with the required disposition policy called xxx8220;Push Appxxx8221; we now must assign the configuration to a hand held device. Click on the xxx8220;Handheldsxxx8221; tab in the BlackBerry Handheld Configuration Tool and highlight the handheld device you wish to assign the configuration to. Once you have done this click the link in the bottom pane that says xxx8220;Assign Software Configuration.xxx8221; Select the xxx8220;Test App Installxxx8221; policy. If you have this column added to your view you should see the xxx8220;Configuration Namexxx8221; column in the top pane say xxx8220;Test App Install.xxx8221; After applying the configuration make sure you hit the xxx8220;Update Configuration Check Statusxxx8221; link to complete the process (to uninstall you can either create an alternate configuration or you can reapply the xxx8220;Remove Appxxx8221; policy described to the current configuration; remember to xxx8220;Update Configuration Check Statusxxx8221; when done).

After you have done this allow up to 4 hours to deploy the software configuration. In a 400 BlackBerry BES environment to wirelessly push an application to 10 test units using the same configuration applied at the same time it has taken me anywhere from 15 minutes to one full hour and has rarely take the full 4 hours to push out. During the actual PUSH action the BlackBerries will be inoperable for approximately 15 minutes (with a 224kb application). At the completion of the push a BlackBerry unit will restart itself and you should see the application available on the BlackBerry unit.

*edit: updated the package location to actually read c:\program files\common files\research in motion\shared\applicationS\test. Changed from application (plural is required).*

Last edited by Khue : 08-28-2006 at 08:47 AM.
Offline  
Old 12-05-2005, 01:24 PM   #15 (permalink)
iPhone Convert
 
juwaack68's Avatar
 
Join Date: Oct 2005
Location: Tulip City - MI
Model: iP5
OS: 6.0.2
PIN: to beans
Carrier: I'm not
Posts: 13,875
Post Thanks: 3
Thanked 72 Times in 55 Posts
Default

Thanks so much for writing this all up in simple terms! I had an application (TeleNav) set up some time ago (with help) and couldn't figure out how to get another one set up. That loader /index command was the piece I was missing.

I love this forum!
Offline  
Old 12-06-2005, 10:26 AM   #16 (permalink)
Thumbs Must Hurt
 
Join Date: Feb 2005
Location: Atlanta, GA
Model: 8300
Carrier: tmo
Posts: 102
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Outstanding post Khue! Thanks for contributing!
Offline  
Old 12-13-2005, 01:57 PM   #17 (permalink)
New Member
 
Join Date: Dec 2005
Location: London, England
Model: 8120
Carrier: O2
Posts: 4
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

I'd like to add my thanks to Khue. After having performed a successful app push for the first time today I'd like to add a couple of observations:

1. A reset of the target device (remove battery & SIM) "appeared" to kick-start the app install. This is unconfirmed at the time of writing and needs some more testing.

2. I was unclear as to whether the Handheld Configuration tool needed to be run on the BES - it doesn't. Setting up the software configuration and policy worked from an administrative workstation.
Offline  
Old 12-14-2005, 03:16 PM   #18 (permalink)
New Member
 
Join Date: Dec 2005
Model: 7250
Posts: 3
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Could use some help. I am stuck unfortunately in the step where the loader.exe /index writes 2 files to the application folder I am trying to push. The files are not there and I am not sure where to go from here. Any help would be appreciated.
Offline  
Old 12-14-2005, 03:19 PM   #19 (permalink)
Thumbs Must Hurt
 
Join Date: Feb 2005
Location: Atlanta, GA
Model: 8300
Carrier: tmo
Posts: 102
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

So you run loader /index and the xml and pkg files are not created?

Did you put the alx and code files in <whatever letter:\>program files\common files\research in motion\shared\applications\Test ?
Offline  
Old 12-14-2005, 05:03 PM   #20 (permalink)
Thumbs Must Hurt
 
Join Date: Oct 2005
Model: 8700
Carrier: Rogers
Posts: 56
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Some additional Comments...

1 - You can increase the 4 hour Application Polling schedule via an update to the Registry. This is very convenient with you don't want to wait up to four hours.

2 - An Application control policy is not required, but recomended if you want to make the application required or if you don't want constant security prompts to the user (when invoking the phone, etc.)

3 - If you receive a never version of an application already deployed to the device, the new version should be listed in the software configuration. It becomes listed after you re-index the applications on your BES (the new *.alx file should have the new version). This is how the BES knows to push out an update (it compares the version on the device with the version in the software configuration). IF you have changed or added an application control Policy, the upgrade may not push out. This is a bug in the BES software, an SDR an workaround are available (involves editing the SQL tables).

4 - If you're deploying an application to an 8700 device (4.1 O/S), you will need to install the 8700 O/S on the BES. This will be the case until you upgrade your BES to 4.1

That's all, hope this information helps. Some of it has taken many, many hours to resolve, hopefully it will save someone else some time.
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





Copyright 2004-2014 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.