If there is an application that you'd like all the handhelds on your BES to install, you can push it out silently over the air.
Whether you have developed a custom application [Hack #90] in-house or you'd like to make a killer application available to all your users, you can do a silent install for users over the air. This is a great way to install applications on behalf of your users, saving them what could be a confusing task for some inexperienced users. The handhelds you're pushing to will need to already be running 4.0 and your BlackBerry Enterprise Server needs to be as well.
8.9.1. Prepare the Application
You'll need to create a Windows share on a computer that has Desktop Manager installed. You could use your BES server, but you don't have to. Once you install Desktop Manager on your selected machine, you'll need to share the following directory (the actual share name is not important the default works fine): C:\Program Files\Common Files\Research In Motion.
Next, create a folder called Applications in the directory C:\Program Files\Common Files\Research In Motion\Shared. Inside the Applications folder, create a directory for each application that you'd like to install, Berry 411 [Hack #51], for example. Put the .alx and .cod files for your application inside this directory. You might need to modify the .alx file and delete any <directory> elements in the file. Once you have your application files in the appropriate directory, open a command prompt, and change directory to C:\Program Files\Common Files\Research In Motion\AppLoader, and run the command loader /reindex.
8.9.2. Prepare the BES
On your BlackBerry Enterprise Server, bring up the BlackBerry Handheld Configuration Tool by going to your Start menu, and then Program Files Research In Motion BlackBerry Handheld Configuration Tool. Select Software Configurations on the left side. Click on the "Add New Configuration task in the bottom-right pane. Select a name for your configuration and type a description. In the Handheld Software Location field, click Browse and type the share name that you created in the previous section. If you've properly configured the share and your .alx and .cod files, your applications will show up as you expand Applications, as shown in Figure 8-12.
Figure 8-12. Creating a new Handheld Software Configuration
Check the box next to each software application that you'd like to push to your users. Under the Delivery column, select "Wireless" to deliver the program over the air or "Wireline Only" to have the application installed the next time the user runs Application Loader on her computer.
Click the Policies…button on the bottom to configure a new policy for this program. Click the New…button to create a new policy. Choose a descriptive name for the policy in the Name field. In the Disposition field, be sure to select Required to make the installation of this program mandatory (see Figure 8-13).
Figure 8-13. Adding a new policy
Click OK twice to return to your new software configuration and select your new policy from the list in the Policy column, and click OK, as shown in Figure 8-14.
Figure 8-14. A completed software configuration
8.9.3. Assign the Policy to a Handheld
Once you've created a software configuration, you can assign it to any handheld with 4.0 on your BES. Click on Handhelds on the left pane, and then select a handheld in the right pane to send the software to. Select the Assign Software Configuration task and then select your newly created software configuration from the list and click OK, as shown in Figure 8-15.
Figure 8-15. Assigning the software configuration
On the next push interval, the software will appear on the handheld you've selected. The push interval is about four hours, so be prepared to wait a while to see your results. You can monitor the BlackBerry Policy Service logfiles (with the "POLC" identifier by default) on your BES to see exactly what it's doing with your new policy. You can use the following command to filter your logs for the entries associated with pushing applications.
C:\Your Log File Directory\20050620\>findstr SendApp *