Can I include a scripting addition in my application?

Since the release of Panther and AppleScript 1.9.2, Apple’s Script Editor can save a script application (applet or droplet) in a special new bundle format. You must create a folder called “Scripting Additions” within your application’s “Contents/Resources/” folder, then copy the osaxen there. This also applies to AppleScript Studio applications.
A little example bundling XML Tools within your app:

yourScript.app/Contents/Resources/Scripting Additions/XML Tools.osax

The main goal of embedding scripting additions within your project is that the end-user doesn’t have to install such osax in his system to make it work.

However, note that embeding a scripting addition in your application doesn’t make it available to all the system. If you bundle XML Tools within your applet and you open it within the Script Editor, XML Tools must be present in your system before you can use its terminology. It won’t be loaded from the applet. When the applet is run, it loads the osax on-the-fly, and it is available only to such applet.

Before distributing a scripting addition with your script, read carefully its license to make sure you are not distributing shareware, or perhaps you need include its documentation in the same distribution, or…

In OS X versions previous to Panther you could not embed scripting additions with your project. However, under OS 9 and back there was some tools able to do it, such as Applet Binder or FaceSpan.