App-V 5.0 SP2 Hotfix Package 2

Back in Februrary, I reported that Hotfix Package 1 was out for App-V 5.0 SP2 which fixed an issue we saw with QuickBooks. A little over a week ago Microsoft released Hotfix Pakcage 2 for App-V 5.0 SP2 and has the following fixes:

Issue 1

Certain App-V 5.0 Service Pack 1 (SP1) packages do not work with the App-V 5.0 Service Pack 2 (SP2) clients.

This is an issue in AppV 5.0 SP2 that may appear to prevent some applications from starting. This includes packages that were sequenced on earlier versions of App-V 5.0. A valid App-V 5.0 package starts correctly and displays a GUI under App-V 5.0 SP1. Under App-V 5.0 SP2, the same package does not display a GUI, or it appears not to start.

Issue 2

A sharing violation occurs during profile synchronization when you use App-V 5.0.

When an App-V user on a Remote Desktop Services (RDS) server logs on after a period of inactivity, a sharing violation may occur when the profile is synchronized to the local cache. Therefore, some required files are not copied over, or they are renamed. In this situation, the profile becomes corrupted.

Issue 3

App-V client handlers leak in Remote Desktop Services (RDS).

When an RDS user logs off, App-V does not release some handles that it held specifically for this session, and therefore the resource cannot be reused. In this situation, the Session ID monotonically increases without reusing IDs from previously finished sessions.

Issue 4

A virtualized Excel Visual Basic for Applications (VBA) application fails if the path for the application contains Chinese or Japanese characters.

Issue 5

Certain applications don’t start after Hotfix Package 1 for APP-V 5.0 Service Pack 2 is applied.

Selected registry key values were removed after the deployment of Hotfix 1 for APP-V 5.0 Service Pack 2. This prevents some applications from starting. By reverting Hotfix Package 1 for APP-V 5.0 SP2, you restore these registry values to their default state. However, any existing customizations will be lost and will have to be redone.

You can request the download from Microsoft here.

App-V 5 sequencer reboot error

Have you ever rebooted your App-V 5 sequencer and expect to continue sequencing, but was greeted with the following error?

App-V5_FailResume

Well, I certainly have and I had a feeling it had to do with joining the VM to the domain. Searching the web doesn’t bring up a lot of information on this specific error and the event log isn’t helpful either. What I did find was that Nicke has great a article about issues one may encounter when rebooting an App-V 5 sequencer.

Everything on the VM checked out until I got to the Scratch directory. I setup a test sequence and performed a reboot, but before I logged back into the machine I browsed to the Scratch directory via UNC and noticed it was empty. Well, if the Scratch directory is empty, how can you expect the sequencer to resume after a reboot? I made sure the directory was accessible and was being written to during a sequence. After some digging, I noticed the entire temp directory was cleared out upon reboot. This was confusing to me because there was no GPO applied to delete temp folders, redirect folders or set mandatory profiles. So I went ahead rolled my VM back to clean and set the following GPO:

GPO-TempFolder


 

Now I can reboot during the sequence and resume sequencing without any issues! 

QuickBooks unattended installation

If you’ve ever tried to push out a silent QuickBooks installation to a computer, you probably know its not supported by Intuit. Nor can you just extract the MSI and add parameters for licensing and install directory. It’s darn near impossible to do without some sort of automation script such as AutoIT Script. I’ve tried using an MSI editor in the past and didn’t get very far because there were some missing properties.

Today I found a post on a fairly new blog called VirtualAppPack. The article has good step-by-step instructions how to create a transform file and adding the missing licensing properties. The only thing I would add to his post is not to expect an installation to complete if you add  the ‘/qb’ parameter to your MSIEXEC command. For some reason or another, it doesn’t do a full install of QuickBooks with that command. But if you use ‘/qn’, it will perform a full install.

Source: QuickBooks 2014 silent-unattended install

App-V 5.0 SP2 and Google Chrome

Sequencing Google Chrome has been possible with App-V 5.0 pre SP2, but the application wouldn’t launch until you mounted the package onto your computers/servers. This appears to be a thing of the past with App-V 5.0 SP2. I updated our Chrome sequence and noticed we no longer had to mount the package to the server before users could launch it.

It’s the small things that make your job easier 🙂

App-V: To publish globally or not

For several reasons, the current deployment of App-V 5 in which I work does not utilize the App-V management server or SCCM. Instead we use some in-house scripting and a desktop composer to deliver our applications to end-users. We’ve been using App-V 5 for a little over a year now and one of first questions we had was- Do we publish applications globally on the server? At the time it didn’t seem like a bad idea, but on a shared server… it can be.

When you globally publish an application to a shared server, say an RDS server shared between 20 other users, the application shows up in ways you may not want. For example, if you sequence an application that has context menus, it will show up for all users. The applications show up in the ‘Open with’ dialog as well. If you sequence Notepad++ or another application, this may not be such a bad thing. To add an App-V package to a server and publish it all users, run the following command:

Add-AppvClientPackage -path \\path_to_your\app-v\package.appv | Publish-AppvClientPackage -Global

In my case, you usually don’t want to expose all applications to users on a server. You can add an App-V package to a server without actually publishing it globally to all users. To do this, run the following command to add your package:

add-appvclientpackage -path \\path_to_your\app-v\package.appv

This command essentially makes that application available to users logging into that server without giving them access to it. To give a user access, publish that application to the appropriate user(s) by running this command as each user:

publish-appvclientpackage -name “App-V Package Name”

You can also use the -PackageID & -VersionID parameters, but I prefer using the name because it’s a lot more descriptive than a randomly generated GUID. This command can be run at logon via logon script or any other preferred method as long as it is run in the user context. Running this command still gives the user all the appropriate FTAs, shell extensions, open-with options, etc. While the other users are none the wiser.

When publishing applications to your users, remember the following:

  • Global Publishing will apply to all users.
  • Adding the package without the global tag will not apply to any users until you run the publish command as the user.

 

Whether you decide to global or not, remember the ramifications of both. You may wish to apply a package only to certain users while all users may get another.