There was a time, in a previous ZENworks Agent, that you could access the “F2 Easter Egg” of the Application Explorer System Tray icon / More button, that would let you selectively remove (they referred to it as Uninstall) Application Objects that have been distributed to the workstation. That was a great support/troubleshooting feature that was later removed (for some reason).
In pursuit to re-enable that ability to effectively force a re-distribution of an application object, I have written this tool, UNNalAppObjects.
This tool will provide you with a list of NAL Application Objects that have been *Distributed* to user/workstation and allowing you to multi-select from the list those application objects references you want removed from the registry.
This will in effect cause the associated NAL application object to re-process it’s Distribution Options. This is a good troubleshooting measure when right-clicking on a NAL shortcut and selecting VERIFY does not remedy the application issue you may be addressing (particularly if it has chained application dependencies), and you’re wanting to force a re-install of the application:
(Alternatively, you can hold down the CTRL key while selecting OK to toggle between *ALL* NALs or just *Distributed* NALs)
Because of the way we chain certain application objects, some NAL icons don’t VERIFY like you might expect. When you choose to verify a particular application from the “red-arrow NAL icon”, it only re-processes the Distribution Options items for that particular object (right-click the NAL icon, select Properties to see the application object name being referenced):
Any distribution rules for the dependent objects to the selected object are *NOT* reprocessed. The only way to have the dependent objects re-distribute is to change or remove the “Version” registry value to those dependent objects that tells NAL whether they have been installed:
[HKEY_CURRENT_USER\Software\NetWare\NAL\1.0\Distribute\VOP_TREE\0DEA7D20-5E1A-11D7-992B-C48728549C40] "Version"="HVER3" "LastRun"=dword:4263eb42 "DN"="D_PermitsPlus32_SQL_5.NALs.VOP"
Let me use one of my application objects as a good example: The application appears to the user via the D_PermitsPlus32_Client object, as shown in the PermitsPlus SQL Properties dialog image shown previously. However, as you see here, it has an application dependency chain of several other objects:
When I right click and VERIFY the Permits Plus icon that I present to the user(s), it is only processing the Distribution Options for *that object only* – not any of the application dependency objects below it – which (may be) what’s required to, in effect, re-install/re-distribute the application from scratch.
When applications objects get distributed, they get recorded in any of the following registry keys (and below), depending on how they’ve been associated to the user or workstation:
HKEY_CURRENT_USER\Software\NetWare\NAL\1.0\Distribute\(TREE_NAME) HKEY_CURRENT_USER\Software\NetWare\NAL\2.X\Session\(TREE_NAME) HKEY_LOCAL_MACHINE\SOFTWARE\NetWare\NAL\1.0\Distribute\(TREE_NAME) HKEY_LOCAL_MACHINE\SOFTWARE\NetWare\NAL\2.X\Distribute\(TREE_NAME)
To get a chained application object to be redistributed, you would need to manually search through the registry under each of these keys, and delete their references. This was a tedious and irritating process. UNNALAppObjects gives you a simple, GUI interface for removing these registry references.
This tool has not been tested on ZCM / ZENworks 10 clients – not sure it it’ll work in that environment. It’s primarily intended for Zenworks 7 and earlier.
Also, the person running UNNalAppObjects must have the ability to run regedit.exe and have necessary rights to the registry keys referenced above.