CQ5.X: OSGi bundles contained in content package under /apps/appname/install do not always get reinstalled


Our application's OSGi bundles are included in our CQ5 content package under /apps/<appname>/install do not always get installed when we install the package?


This issue is due to the criteria that is used by the Apache Sling jcrinstall module when deciding whether or not upgrade a bundle.

  • For more info on jcrinstall see here


To resolve this issue so that every time you install the package the jsp will be reinstalled (via the Sling jcrinstall module):

  1. Add the following filter rule at the beginning of your filter.xml in META-INF/vault/filter.xml:
    <workspaceFilter version="1.0">
    <filter root="/apps/<appname>">
    <include pattern="/apps/<appname>(/.*)?" />
    <exclude pattern="/apps/<appname>/install(/.*)?" />

This filter will cause the old bundles to be deleted and the replacements to be installed.

Note: <appname> in the code above should be substituted with the name of your application.

Applies to



1 http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html


Do not apply this workaround to CQ5.4 installations as it will actually cause more problems.  If you are experiencing this problem in CQ5.4 then please submit a daycare ticket.