This is best done on clean install of your target OS, barebones etc, no previous runs of spark.exe
- Host OS was VirtualBoX VM of XP+SP3
- Change paths to suit your OS
- Spark.2.6.3 was used
- AppDeploy
- Download Spark.exe, do not install it
- Run AppDeploy, select “Create a MSI…” and point it at the spark.exe you just downloaded, accept the rest of the defaults
- Launch Spark.exe from within AppDeploy and run through the installer, at the end of the install do not accept the option to run Spark
- Click “Next” to create second snapshot (post-installation), I accept the rest of the defaults, create a shortcut icon, and to cut a long story short, it completes and you have a nice shiny new Spark.msi in C:\Program Files\AppDeploy\Repackager\Packages – at this point all you have done is converted the .exe to a .msi, this is the first stage in customizing your Spark client install.
- Now go to C:\Program Files\Spark\lib and use 7zip to open the spark.jar file, some of the major configuration defaults can be found at C:\Program Files\Spark\lib\spark.jar\org\jivesoftware\resource\ – see this guide by Joe (with input from Church) for more info: http://community.igniterealtime.org/docs/DOC-2126#comment-6855
- Run AppDeploy again, this time select “Build packages based on existing recipe” and point to the spark.xml file in C:\Program Files\AppDeploy\Repackager\Packages, accept the defaults and click through the wizard, this will now create a new .msi file which contains your modifications.
- Test out you new .msi on another machine and check that your changes have stuck.
AppDeploy has other options for modifying your package, I accepted the defaults as a starting point.
- Host OS was VirtualBoX VM of XP+SP3
- Change paths to suit your OS
- Spark.2.6.3_online.exe (without JRE)
- I will be using Spark with JRE 6.23 – this is what we run in our shop
I wanted to disable quite a few things, we only need the basics, and to rule out as many things as possible that the end user could potentially fiddle with, saving support time…hopefully.
Got the msi down to 18.7MB
I disabled the following plugins and removed them from the plugins folder.
I got the correct name for each plugin by viewing (using 7zip) the plugin.xml in C:\Program Files\Spark\plugins\ this also provided the class names.
Fastpath
org.jivesoftware.fastpath.FastpathPlugin
Jingle Client
org.jivesoftware.sparkplugin.JinglePlugin
OTR Plugin
org.jivesoftware.spark.otrplug.OTRPlugin
Roar!!!
org.jivesoftware.spark.roar.Roar
Phone Client
org.jivesoftware.sparkplugin.SoftPhonePlugin
I then made the following changes to spark.jar
HOST_NAME = hostname
ACCOUNT_DISABLED = true
ADVANCED_DISABLED = true
SSO_DISABLED = true
PKI_DISABLED = true
PROXY_DISABLED = true
DISABLE_UPDATES = true
FILE_TRANSFER_WARNING_SIZE = 10485760
FILE_TRANSFER_MAXIMUM_SIZE = 10485760
HELP_FORUM_DISABLED = true
PLUGIN_REPOSITORY_USE_PROXY = false
INSTALL_PLUGINS_DISABLED = true
DEINSTALL_PLUGINS_DISABLED = true
PLUGIN_BLACKLIST = Fastpath,Jingle Client,OTR Plugin,Roar!!!,Phone Client
PLUGIN_BLACKLIST_CLASS =org.jivesoftware.fastpath.FastpathPlugin,org.jivesoftware.sparkplugin.JinglePl ugin,org.jivesoftware.spark.otrplug.OTRPlugin,org.jivesoftware.spark.roar.Roar,o rg.jivesoftware.sparkplugin.SoftPhonePlugin
It works fine, might not suit everybody, but offer it up.