BasicAddonBuilder - The Extension's packager

Primary tabs

Paolo Mantovani

Average: 4.3 (15 votes)

extension, Wizard, StarBasic, add-on, Basic libraries, packager, deployment
Post date:
Friday, 15 February, 2008 - 21:13
Week: Not tracked - Month: Not tracked - Year: Not tracked - Timeline
Download extension
System Independent version - All releases
Compatible with OpenOffice 4: Yes
User feedback:
Compatible with OpenOffice 4.x?

Important information (date: January 2016):
Notes on the current development of Basic Addon Builder, see the wiki: There you can also find versions for LibreOffice.
For questions about Version 0.5.2, you can contact Jörg Schmidt (

BasicAddonBuilder is an extension that allows you to export a StarBasic library in the Extension format, ready for deployment. BasicAddonBuilder does not require special skills or a deep knowledge of extensions specifications. A wizard-style dialog will guide you through the process, allowing you to define in a graphical way all menu and toolbars that will be added to the user interface in order to launch macros from your StarBasic library.
The exported extension (AKA UNO package) will be ready to install in any PC running 2.0 or above, using the Extension manager.


  • 2.2 or above
  • Java Runtime Environment (JRE)

If you are willing to help me localizing the user interface into your language, download this file
It's a zip archive containig some files that you should edit and send back to me via email, so I can integrate them in the next release of BasicAddonBuilder.
More details...


Many thanks to Ariel Constenla-Haile, Bart Aimar, Bill Hibbert, Cor Nouws, Laurent Godard, Leif Lodahl, Marco Antonioli, Mathias Bauer, Michael Cziebalski, Philippe Allart, Thomas Krumbein, Yves Dutrieux and other, who helped me with suggestions, bug reports, testing and translations.

BasicAddonBuilder - The Extension's packager

Version Operating system Compatibility Release date
0.5.2 System Independent 4.0, 4.1 09/01/2016 - 13:30 More information Download
0.3.5 System Independent 2.2 18/02/2008 - 19:07 More information Download
0.3.4 System Independent 2.2 15/02/2008 - 21:20 More information Download


The version 0.5.2 causes the crashes of AOO 4.1.3 (Mac OSX 10.7.5) .

Hi Paolo,

I would like to use this tool again but I'm getting 404 error when I try to download any release no. I even tried downloading other extensions to see if this happens to all of them but I was able to download them properly.


Oh, never mind. I found the files at
Sorry for the trouble.

The No Content Provider available for given URL!. Error is to do with the temp directory and long and short DOS filenames i.e. 8.3 I haven't fully debuged it but replacing GetTempFile with the following in Common and creating a c:\tmp Folder will get it working!

Function GetTempFile() As String
Dim oFileAccess As Object
Dim sTempDirUrl As String
Dim sTmpPath As String
Dim sFileUrl As String

oFileAccess = CreateUnoService("")

sTempDirUrl = "file:///c:/tmp"

If GetGUIType() = 0 Then ' Windows
'in Windows it may happen that the temp dir is stored in the
'ooo configuration with the old DOS format (8.3)
'example: "c:\DOKUMEN~1\Guest\LOKALE~1\Temp"
'so we need to fix it
sTmpPath = ConvertFromUrl(sTempDirUrl)
sTmpPath = FixDOSFilePath(sTmpPath)
sTempDirUrl = ConvertToUrl(sTmpPath)
End If
sTempDirUrl = FixDirPath(sTempDirUrl)

'generate an unique temp file name
sFileUrl = sTempDirUrl & "~tmp-" & LCase(CStr(Hex(GetSystemTicks())))
Loop While oFileAccess.exists(sFileUrl)

GetTempFile = sFileUrl

End Function

Hi Paolo,

first of all: "Thanks for this great Extension!"
I've been using it for long time to export my own little code-snippets.
Now i graded up to OOo-3.3.0 and its not working anymrore :-(.
OOo crashes while exporting the chosen library.
Is this a general Problem or just depending on my config / installation?
Perhaps anyone has a suggestion to solve this Problem.

Greetings, Alex

I'm using OOo 3.3.0 vanilla (oracle edition) on Ubuntu 10.10 and it seems all ok in my system.
Can you provide more information in order to reproduce the problem please?


Hi Paolo,

thanks for your fast reply.

Here some more infos:
System: WinXP SP3 (unfortunately :-) )
Java: 6.22
OOo: free Download on, German Language

Meantime i tried to solve the problem by deinstalling OpenOffice,
deleting all files and folders manually and cleaning the windows registry.
After that i installed OOo and the extensions again, but still OOo crashes
when exporting an extension with Your tool.
I tried it on other PCs with WinXP - same problem.

On Win2K it crashes also, but there a Error Message occurs:
Error1: An Exception occured
Message: No Content Provider available for given URL!.

In all cases i tried a simple export to Desktop or another Folder.
No Toolbars or Menues, no FTP-upload.

Thanks, Alex


first thx for the great extension. My problem is that when I install the extension on "another PC" this goes under OpenOffice Macros (while is under Personal Macros in the PC wher I built it). This makes sense somehow, but what if I want to port it to another machine where I then wnat to modify the macros? I.e. how to install in Personal Macros?



Hi Stefano,

Not sure if I well understood your question, however, the way in which basic libraries are integrated in the target system is determined at level of the extensions framework, so it hasn't anything to do with BAB

It give me "Error 0: variabile dell'oggetto non impostata" on Ubuntu 9.10


So, I followed the steps as described in the and got a simple toolbar with 3 buttons, one for each macro I have written so far.

BasicAddonBuilder 0.3.5 seems to do what it advertises (and very easy, congrats!), but when I add the .oxt to my OOo, I cannot enable it because 'the status of this extension is unknown'. Any ideas? I had the same problem with 'Sun PDF importer v1.0', but I just installed v1.0.1 and this works perfectly.

Using OOo 3.0.1 on Debian Lenny x86_64

This happens because you are installing an extension containing a basic library that is already present in your OOo.
uninstall the extension, restart openoffice, rename (or remove) the original library and retry to install your extension.


I'm using Ubuntu 9.10 and Openoffice 3.1.1. I tried in Windows XP profecional with OpenOffice 3.0.0 and it worked fine.
Error display:
Error 0: Object variable not set

I'm using XP and Ooo3.1.1. and i've do an extension for having a toolbar who open an other extension. i've this message :
error display
Erro0 : MyMacro =0
With Xp and Ooo 2.42 it's work fine. I've you already have this problem ?

(Excuse my bad english...)

OK, I've found the problem. It affects only some ooo versions
F. e. it does not affect Sun (vanilla) version.
The problem depends from a perhaps wrong event management from ooo.
I'm studyng for a patch. Please be patient.

Running the macro on OpenOffice 3.1.1 I get an "Error 0: Object variable not set".

I need further information in order to investigate the problem
Would you please contact me in pvt?


I just downloaded and installed it on my MacBook, unfortunately it crashes, I'm using OOo 3.0.1, has anyone else tried this?

I tried the extension with OOo 3.1.1 and it is still crashing: when I click the icon to start the extension OOo crashes after a couple of seconds (this on a Mac on 10.5.6).
Is anyone running this successfully on a Mac?

If count of buttons or menu elements is bigger than 9, program associate in XML tag node oor:name="m." double digits numbers. OpenOffice then sort elements according to its numbers like this:
m1, m10, m11, m12, m2, m3 .... and in this way resort order of elements in UI, so regadless author thinking. I think that numbers in object name should be 01,02, .... 12 if count is double digits number (3 digits is improbable).

Hello radonx,
thanks for your support, the fix for this bug will be available with the next BAB release.
I'm still working, so please, be patient :-)
Paolo M.

Ciao Paolo,
... patientia mea sancta ;-) ... more than year ...
I wrote patch in PkgExporter.xba code:


Sub CreateAddonsXcu()
DIM Istr As String
I = 0
For Each aUIElem In mToolbarUIElements()
I = I + 1
' patch R.J. for numbering "m" nodes if count have two digits numbers
If I Istr= "0" & Cstr(I)
Istr= Cstr(I)
End If
sNodeName = "m" & Istr
' end patch
' closed - fixed sNodeName = "m" & I

Because this procedure repeated in code 4x, could be as function, but it is not necessary. I send you complete PkgExporter.xba via e-mail, together with czech language localization.