App-V 5 integration in AppSense DesktopNow

UEM tools, like AppSense DesktopNow, can be used to present and modify App-V 5 applications. Some of the benefits of integrating App-V packages within AppSense are:

  • Package modification;
  • Reduced packaging times;
  • Granular access control;
  • License control;
  • Extensive reporting;
  • Etc.

AppSense created a document about these benefits, which can be downloaded here.

But they lack the technical details how to modify App-V packages using AppSense Environment Manager. In this post I am going to describe three ways to modify App-V packages using AppSense Environment Manager.

AppSense DesktopNow components

AppSense DesktopNow consists of the following components:

  • Environment Manager
  • Application Manager
  • Performance Manager

Using Environment Manager it is possible to create shortcuts to App-V packages and modify AppSense packages. With Application Manager it is for example possible to block executables  and using Performance Manager system resource usage can be guarded.

Modify the native environment

To modify the native (non virtual) registry and file system, Environment Manager offers many options from the ribbon. This makes it easy to modify the registry of the file system:

 

SNAGHTML42a5ff

 

image

 

But unfortunately the file and folder method cannot be used for App-V applications and the registry is not the best way to do it (see later in this post).

Processing of (personal) settings

AppSense processes modifications (modified by the user or by the administrator) in the following manner:

image

Settings in the local file system or registry is overwritten by the App-V package and the App-V package settings are overwritten by scripting, scripting is overwritten by Personalization.

So if we want to modify an App-V package we can:

  • Modify the Personalization layer;
  • Use scripting;
  • Modify the local file system;

 

1) Modify App-V packages using the Personalization layer

Personalization is the profiling solution of DesktopNow and manages the profile of the user. Here are the changes that users make to their applications en workspace saved. If you do not use this feature (because you use a roaming profile or another profiling solution) you need to enable it to modify App-V packages.

The benefit of Personalization, in contrast to other profiling solutions, is that it uses the process name to save modifications. This makes it easy to migrate personal settings between different versions with the same executable name.

 

Enable Personalization

If Personalization isn’t already active in the Configuration, it needs to be enabled.

Open Environment Manager  
Click on Manage, Personalization Servers image
Click on Add Server and enter the server name of the personalization server.

Click on Add

Click on Ok

Now the Personalization server is enabled within the AppSense configuration. The configuration needs to be deployed to the clients, then personalization is active.

image
Deploy the configuration using the Management Server  

 

The next step is to add a App-V application to the Personalization list.

 

Open Environment Manager  
Click on User Personalization  
Click on Connect image
Click on Add Server and enter the server name of the personalization server.

Click on Add
Click on Connect

Click on Ok

 
Click on Add Application image
Fill in the Name and the executable of the virtual application, in my case XMLSpy.exe

Click on Ok

image

The next step is to add the package to an Application Group.

A group is not mandatory but it is a best practice. It allows other applications to access the Personalization information. If you add an application to a group later, when users have already personalized their applications, their settings will be lost.

    

Click on Application Groups image
Click on Add Application Group image
Enter a Name
Click on Ok
image
Click on Add application image
Select the application and click on Ok image

 

When the group is created and the application is added, the next step is to add the registry keys and/or the files which need to be saved (personalized).

 

Click on Registry image
Add the registry path that you want to Personalize

Click on Ok

image
  image
Add HKCU\Software to the excludes list.

This is a best practice and will prevent pollution of the personalization database.

image

 

Now that the Application Group is configured, it needs to be assigned to a group of users or computers.

 

Click on Personalization Groups image
Click on Add Personalization Group image
Enter a name image
Add a membership role image
Modify the membership role
Click on Ok
SNAGHTML75fce6
Click on Application Personalization image
Select the Application Group

Click on Ok

image

 

Now the Personalization settings of the application are assigned to the members of the group.

 

Inject settings into the Personalization layer

 

 

Open the Environment Manager  
Click on User, Process Started image
Add a new Node image
Enter the name of the executable image
Add an Execute action image
Enter the following code:

This will add the registry key and the value in the Personalization layer of XMLSpy

Filename: %SystemRoot%\System32\cmd.exe

Working directory: %SystemRoot%\System32

Parameters:

/APPSENSESPECIAL:XMLSpy.exe:.* /C "REG ADD "HKCU\Software\Altova" /v License /t REG_BINARY /d 12345"

image

Make sure that REG.exe is removed from the Application Exclusion list otherwise REG.exe has no rights to write to the Personalization layer. image

image

So this method takes a lot of steps to get the custom settings (a license key) into the virtual environment. But the benefits are that end user can modify the changes and they will be written to the Personalization layer and processed last.

 

2) Modify App-V packages using the local registry

If you do not want to use Personalization within AppSense, there are alternatives.

It is possible to modify the local registry. App-V reads these these keys and the modification is applied.

image

In the local registry, under HKCU \Software\Microsoft\AppV\Client\ Packages\*GUID*\Registry\User\*SID*\ the virtual registry of the App-V packages resides.

These registry keys can be modified directly.

 

 

 

 

 

 

 

 

 

 

 

It is a bit difficult to create a script to modify these registry keys because the SID of the user needs to be queried and placed into the script. See this post how to resolve the SID.

Two remarks when using this method:

1) Make sure that the package is published to the user before the script is ran, otherwise the package GUID and version cannot be found.

1) In combination with Personalization, this feature can not be used to overwrite settings because Personalization is injected later and will overwrite the modified keys.

 

3) Modify App-V packages using the scripting possibilities of App-V

 

Another option to inject settings into AppSense is using the scripting possibilities of App-V.

In App-V 5 there is a new argument called “/appvve”. This stands for App-V Virtual Environment and using this argument it is possible to inject settings into the virtual environment.

 

Open the Environment Manager  
Click on User, Process Started image
Add a new Node image
Enter the name of the executable

Click on Ok

image
Add a an Execute image
Enter the following code:

Change the GUID of the App-V package. The part before the _ is the package GUID and the part after the _ is the version.

Filename: %SystemRoot%\System32\cmd.exe

Working directory: %SystemRoot%\System32

Parameters:

/APPVVE:33c04038-f77e-4d86-937f-4a4ea747b3e2_9e10883f-1c3a-436f-a355-25dddd1296c1 /C REG ADD HKCU\Software\Altova /v License /t REG_BINARY /d 12345

image

Two remarks when using this method:

1) Make sure that the package is published to the user before the script is ran, otherwise the package GUID and version cannot be found.

1) In combination with Personalization, this feature can not be used to overwrite settings because Personalization is injected later and will overwrite the modified keys.

 

Conclusion

 

Although it is not easy to modify App-V 5 virtual applications using AppSense, it is possible.  The best way to do it is to inject settings into the Personalization layer using Personalization groups.

Using this method the personal settings from the user are applied as last, saved when there is a new versions of the application en interchangeable with other applications in the group.

Advertisements
This entry was posted in AppSense and tagged . Bookmark the permalink.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s