As promised a few days ago, here’s how you can create your own over-the-air (OTA) install for BlackBerry software.
Please note that these instructions will only work for you if a) you have access to a web server running Apache, and b) your provider allows you to use .htaccess file to modify the way Apache runs on a particular directory. These are absolutely essential, because the second step involves telling Apache about the files you’re going to be using for the over-the-air install … specifically what they are, and what to tell the BlackBerry they are. Without this information from the web server, the BlackBerry will have no idea what kind of files they are, and will not install them.
If you have some sort of free web hosting account, I can already tell you that you most likely cannot use .htaccess files, even if the server is running Apache.
This may or may not work for all software. So far, it’s worked for four out of five things I’ve tried to install, and I’m pretty certain the fifth program just isn’t compatible with my 8130.
That being said, here’s how to do it …
1. Create a folder somewhere in your web hosting account for the BlackBerry software. For the sake of this tutorial, let’s call the folder “bb”.
2. Create a text file on your computer, and call it .htaccess. Open it up in some kind of text editor, and enter the following information:
AddType text/vnd.sun.j2me.app-descriptor .jad
AddType application/vnd.rim.cod .cod
Upload the .htaccess file to your “bb” folder.
3. Create a sub-folder of your “bb” folder and give it a descriptive name for the software you want to install. For the sake of this example, let’s call the folder “keyboard”.
4. Now, look at the archive of the software you want to install. You should have one or more files with a .cod extension. Upload these files into the /bb/keyboard folder.
5. On your computer, create a text file and call it keyboard.jad. Open it in a text editor. The information you put in the file is going to look something like this:
MIDlet-Description: Stowaway Keyboard Driver
MIDlet-Name: Stowaway
MIDlet-Vendor: Think Outside
MIDlet-Version: 2.0.0
RIM-COD-URL-1: Stowaway.cod
RIM-COD-Size-1: 58176
RIM-COD-URL-2: Stowaway420.cod
RIM-COD-Size-2: 1380
RIM-COD-URL-3: Stowaway421.cod
RIM-COD-Size-3: 3660
The first few fields are not as important … they are simply going to be used to tell your BlackBerry what the name of the program is, who wrote it, what it does, and what version it is. For the sake of your sanity, I suggest that you at least make sure you get the MIDlet-Version information correct.
The latter fields are of utmost importance. You should have a RIM-COD-URL and RIM-COD-Size field for each .cod file you have in your application archive. In my example above, I have three. The size is going to be the size of the .cod file in bytes.
If you’re a Windows user, you can probably get this information by right-clicking on the files and choosing something that looks like “Get Properties” or “File Information” or something like that. Sorry, I don’t use Windows on a regular basis, so I’m not completely sure.
If you’re a Mac user, just highlight the file and type Apple-I, and Finder will give you a nice details window that includes the file size in bytes.
If you’re a Linux user, you probably don’t need me to tell you how to figure out the size of the file in bytes.
If you’re still using your Atari 800XL, please let me know how you got it on the internet in the first place, because I just might dig out the one I played with as a kid and give your method a try.
Once you get done with your .jad file, save it and upload it to the same directory as the .cod files. If you’re using Windows, be absolutely sure that it doesn’t helpfully append .txt to the end of the file name, because if it does, this will not work.
Now that you’ve uploaded the files, open up the browser on your BlackBerry. Go to http://www.example.com/bb/keyboard. You should see a list of files in the directory, select the keyboard.jad file, and in theory, it should ask you if you want to install the program. If all goes well, you’ll have your program installed in a few seconds.
If this does not work for you for some reason, I blame the economic policies of Grover Cleveland during his second term of office.
Addendum: @Brett Mark below wrote me with the following information about the SHA1 hashes:
This is added once the app [all cods in the main cod] are certified.
Once certified nothing can change except the name of the JAD file. COD file names must not change.






Do you know if this works with certified cod files also?
a JAD created by the BB JDE includes entry such as:
RIM-COD-SHA1: 8f 67 0f de 22 4e 89 d7 33 79 05 5d 8a c6 3c ba 63 da 82 78
is this important?
Thx.
BM
I’m honestly not sure; I’ve only installed 4-5 things with my method … but I haven’t encountered anything that required line like that. My best guess is that it might be a hash file to verify that the integrity of the associated .cod file, and if that’s the case it wouldn’t be required. If you find out one way or the other, please let me know and I’ll update the post …
Hey Brett, did you figure out about thos hash lines? are they required in the jad file?
Do you know what the difference is between .alx and .cod files, and which one do you need (I’m trying to get AIM installed).
Thanks.
Everything I’ve installed has had .cod files. I’m honestly not sure what the .alx files are … sorry.
For some reason I’m getting invalid cod file unable to import zip file. Any ideas?
@tom,
Seems like I had that problem one time when I didn’t have the RIM-COD-Size fields correct. But … if it’s not that, I’m not sure.