Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to package a standalone xulrunner application

Tags:

xul

xulrunner

I was wondering what I need to do to create an executable (.exe) file that will run my XUL application?

I'm trying to create an application using Mozilla's XUL format.

like image 656
escapebattle Avatar asked Jun 13 '11 01:06

escapebattle


2 Answers

Here are the steps:

  1. Compress your application folder tree using WinZip.
  2. Rename the .zip file to have a .xpi extension. (i.e., myApp.xpi).
  3. Assuming you have xulrunner in your PATH, execute: xulrunner --install-app myApp.xpi.

On Windows, this installs your app to

c:\Program Files\<Vendor>\<Application Name>\<Application Name>.exe

Where and match exactly with what is in your application.ini file.

On Linux, the process is similar. On OS X, though, things are quite a bit different. I haven't completed mastered the OS X process yet.

See also Deploying XULRunner.

like image 53
retrodrone Avatar answered Sep 28 '22 05:09

retrodrone


It is too bad that xulrunner can not run a zipped .xpi or .xulapp directly, but it is possible to package most of your .js, .xul, .css and .png files into a jar and wrap everything up with a private copy of xulrunner, without having to run --install-app

These are the steps I went through to package our XUL application.

The first step is to put all your files (except application.ini, chrome.manifest, and prefs.js) into a .jar file like this (all of this was carried out under Windows, make appropriate adjustments for Linux and OSX)

zip -r d:\download\space\akenispace.jar * -i *.js *.css *.png *.xul *.dtd 

Then in d:\download\space, layout your files as follows:

D:\download\space\akenispace.jar
D:\download\space\application.ini
D:\download\space\chrome.manifest
D:\download\space\defaults
D:\download\space\defaults\preferences
D:\download\space\defaults\preferences\prefs.js

The content of the files are as follows. All three files need to be adjusted to reflect your own application.

application.ini

[App]
Vendor=Akeni.Technologies
Name=Akeni.Space
Version=1.2.3
BuildID=20150125
Copyright=Copyright (c) 2015
[email protected]

[Gecko]
MinVersion=1.8
MaxVersion=35

chrome.manifest

content     akenispace             jar:akenispace.jar!/chrome/content/
skin        akenispace    default  jar:akenispace.jar!/chrome/skin/
locale      akenispace    en-US    jar:akenispace.jar!/chrome/locale/en-US/
resource    akenispace             jar:akenispace.jar!/chrome/resource/

prefs.js

pref("toolkit.defaultChromeURI", "chrome://akenispace/content/space.xul");

Now you can put these files into your .wxs for WiX and produce a MSI file for Wndows. Of course you need to include all the files for XULRunner as well.

like image 25
tst Avatar answered Sep 28 '22 06:09

tst