Custom shell extensions with App-V

08 Feb 2011 by Ryan Ververs-Bijkerk



Custom shell extensions with App-V

Microsoft App-V doesn't support custom shell extensions because this would require providing Windows Explorer access to the virtual environment. Some applications requires this shell extension for the functionality of the application. Notepad++ is one of the applications that has a custom shell extension to quickly edit a script or text file. When you sequence Notepad++ the custom shell extension is not captured. This can be added on the machine where the application is deployed.

In the registry you have to create a key under the following hive: LOCAL_MACHINE\Software\Classes\*\Shell\ or CURRENT_USER\Software\Classes\*\Shell\ Create the key with the name of the application. In the default string value add the custom text like "Logit Blog is awesome" or just "Edit with Notepad++". To add an icon create a new string value named "Icon" and add in the value data the location of the icon. To launch the application create a new key named command and add SFTTRAY /Launch "<Appname>" %1 to the default string value.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Notepad] @="Edit with Notepad++" "icon"="D:\\Apps\\VApps\\NOTEPAD.585\\NOTEPAD.585 Icons\\Notepad++.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Notepad\command] @="sfttray /launch \"Notepad++\" "%1""

This way it's possible to create custom shell extensions for  App-V applications. You can launch the application with the correct parameter if nescessary, just add the parameters after %1. The %1 is passed as the path to the file.

It's also possible to import the setting under the CURRENT_USER hive.

It's important to remember that this is not supported by Microsoft. Also the custom shell extension will remain on the machine when the App-V application is not available. This can generate an error message when you use the custom shell extension.

When you have any suggestions please leave a comment.

Ryan Ververs-Bijkerk
Written by Ryan Ververs-Bijkerk

Ryan is currently a Technical Evangelist at RawWorks focused on the End-User Computing area. Ryan is primarily focusing on the user experience in centralized desktop environments.


    Follow me