App-V: Application packages disappear when installing Standalone MSI packages to a 4.5 App-V Client

Here's an interesting issue our very own John Behneman ran into the other day.  If you're currently investigating a case of missing icons then check this out. 

========

Issue: When distributing App-V 4.5 standalone packages to a 4.5 Application Virtualization Client machine, packages seem to disappear from the App-V Client Management console. The icons disappear from the SoftGrid Menu and Desktop as well. You may also see this error messages after installing a new package:

[03/25/2007 23:50:28.544 INTF WRN] {tid=2080:usr=username}
The data directory for this user is already in use by another user with SID
S-1-5-18-xxxxxxx-. All users must have unique data directories. The
UserDataDirectory setting in the registry may be configured incorrectly.

Cause:   This can occur if you inadvertently create packages with the same package GUID.  If this happens, when a new App-V package with the same GUID is installed it effectively overwrites (removes) any package with the same package GUID installed previously.

Below is a look at the CODEBASE line in two different OSDs where the package GUID is the same:

<CODEBASE HREF="RTSPS://%SFT_SOFTGRIDSERVER%:322/itunes8-Appv45.sft" GUID="A59FEB23-1129-450D-A956-55587D19EF8A"

<CODEBASE HREF="RTSPS://%SFT_SOFTGRIDSERVER%:322/DTSearch-Appv45.sft" GUID="A59FEB23-1129-450D-A956-55587D19EF8A"

If you notice from the example above, each GUID has the same value.  The explanation as to how this might happen is explained here:

https://blogs.technet.com/softgrid/archive/2007/08/21/inside-the-sequencer-part-1.aspx

Snippet from the blog:

One of the most common questions I get at this point is: "Can I install the Sequencer and then create my image of the Sequencing workstation so that I do not have to reinstall it every time I start a new Sequence?". In short, yes. The only time I ever saw an issue with this was with a man from Georgia who installed the Sequencer component, opened it and minimized it, then created his "snap shot" of the Sequencer. Later he would "revert" to a fresh Sequencer and then maximize the Sequencer component to start a Sequence. He did this about 10 times and then tested his SoftGrid Packages; none of them would run. It wasn’t until after extensive trouble shooting that he revealed his process. You see, when the Sequencer starts it creates a new GUID for the package. Because he had snapped his image after having started the Sequencer every package had the same exact GUID as each other.

Resolution: Obviously if you don't take a snapshot of your sequencer while the sequencer component is running then you'll never have this problem.  If it's already too late, the way to fix the package so each one has a unique GUID (other than simply re-sequencing the package that has the duplicate GUID) is described in the "Application Branch/Parallel Execution" of this blog post:

https://blogs.technet.com/softgrid/archive/2007/09/25/methods-for-upgrading-or-updating-virtualized-applications.aspx

Snippet from the blog:

The final application update method can be called Application Branch/Parallel Execution. This configuration is very similar to the New Application method, with one very important distinction. In this configuration, the application is not completely re-sequenced. The existing SFT file is copied down to a sequencer workstation. The SFT file is then Opened for Package Upgrade, a function found in the sequencer. The updates would be performed as in the Active Upgrade, however now the sequencer user performs a Save As of the package, NOT a save. Once this Save As process is started, the sequencer will prompt for a new Package Root, Suite Name, SFT file name, and it will also create a new GUID for the SFT. The result of the Save As is essentially a completely new SFT file, the contents of which are identical to the end state of the existing SFT file, except for the new root install directory (to keep the applications from using the same install path). Thus this new SFT represents the updated application in a new SFT file, which is then added as a new application in the SoftGrid Management Console.

The primary advantage of this method is that the upgrade can be run simultaneously with the existing version. This would allow the users to run both versions and potentially test both versions side-by-side, allowing for much better testing of the updated application. Also, since they are independent applications, application provisioning is separate, allowing for test or staged rollouts. This allows time for users to run both versions of the application until the older version is retired. Also, as an advantage over the New Application method, the entire application does not need to be reinstalled or re-sequenced. The new SFT file represents a branch off the application management line for this application. Both SFT files, both the existing and the new, can be updated using any of the methods described here. This method is very useful for test updates, since the time to create the separate sequencing is not much greater than performing the Active Upgrade. A series of new versions could be made for various purposes. This method is also useful when a second or multiple versions are required from a base app, such as different configurations of the same application.

The primary consideration for this method is the same as the New Application method, such that existing machine and user settings will not be available in the new versions since the two SFT files have different GUIDs. It may be possible to programmatically transfer the settings between the two applications but the management of those settings is not automatically transferred. SoftGrid will see the two versions as completely separate applications. It should be noted that same as with Active Upgrade, this method is not recommended for new or significant versions upgrades.

So to summarize:

1.    Open package for Upgrade when prompted for "Select Directory into which Application Folder will be placed" choose the Q: drive.
2.    Once the package has finished loading select "Save As" from File drop down menu
3.    Make sure to check the "Save As New Package" check box is checked
4.    Save the package and ignore the Message regarding name and version numbers: this is because you are not going to run both packages at the same time.

========

Thanks John!

J.C. Hornbeck | Manageability Knowledge Engineer