Customizing the Spark chat client using AppDeploy

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:
      • 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.



        Jingle Client


        OTR Plugin




        Phone Client


        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



        HELP_FORUM_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.


        About hedscratchers

        A UK ex-pat now living in the USA.
        This entry was posted in XMPP (Openfire & Spark). Bookmark the permalink.

        Leave a Reply

        Fill in your details below or click an icon to log in: Logo

        You are commenting using your account. Log Out /  Change )

        Twitter picture

        You are commenting using your Twitter account. Log Out /  Change )

        Facebook photo

        You are commenting using your Facebook account. Log Out /  Change )

        Connecting to %s