how to package a standalone xulrunner application
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.
Here are the steps:
- Compress your application folder tree using WinZip.
- Rename the .zip file to have a .xpi extension. (i.e., myApp.xpi).
- 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.
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
ID=space@akeni.com
[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.
精彩评论