Thursday, July 12, 2012

Techsmith Jing %LOCALAPPDATA% exclusion


Techsmith Jing v2.6.12032

Jing is free screen shot and windows video capture software.

The problem with the Jing sequence was that it did not repair as expected.  An App-V repair should delete the user settings and usually cause the application to launch as it does after it is first delivered. 

The Jing app is arguably not written quite correctly.  It stores it’s user settings in files under %LOCALAPPDATA%\Techsmith\Jing   This location should be used for large application user orientated files that are not suited to roaming in the profile.  In order that the App-V application user cache does not get too large App-V apps are allowed to write to this REAL location and do not redirect it to a location “inside the bubble”.   Attempts to write to %APPDATA% and user registry are redirected to the App-V user cache.  When the app is repaired the user cache is deleted and the settings are removed.  The problem with Jing was that the user settings are being written outside the bubble to %LOCALAPPDATA%\Techsmith\Jing   This meant that the repair of the Jing sequence did not work !  The user setting were retained L

It can be fixed though.  Before you sequence an application where you want the %LOCALAPPDATA% kept inside the bubble, remove these locations from the excluded folders list.  Also when you get to the “Configure Software” stage launch the application so that it (hopefully) writes some launch config files to %LOCALAPPDATA% which will go inside the bubble. Watch for unwanted user specific stuff though.

Specifically, in this case the software asks for online account information to be entered.  Once the settings are properly redirected inside the bubble, repairing the application correctly causes the account information to be lost when a repair is done.


Although this application could be successfully sequenced and launched it turned out to be very fragile on the client.  It could be consistently broken by launching immediately after a shutdown.  This seemed to cause some sort of corruption which could not be rectified by deleting caches (any of them!).  There was insufficient time to analyse further, ultimately it was delivered as an MSI.