Mark Cresswell | 3 September 2012
I came across an unusual problem last week while demonstrating the Application Virtualization (App-V) sequencer to a class that I thought I’d share with you all. I was a bit short on time and the machines were not quite up to spec so I took a few short cuts. Nothing I’d not done in the past but this time I got some strange results.
On a Virtual Machine I installed the APP-V 4.6SP1 Sequencer and at the end of the install I left the check box ticked to launch the Sequencer application. I then started the Sequencer wizard and clicked through as far as the Prepare Computer page. I wanted to show the students this new feature which displays warnings if best practices are not met. I knew that both the Windows Defender and Windows Search services were running so they would be flagged up as undesirables. A quick switch into services.msc and they were stopped and disabled in a flash. Refreshing the wizard page showed all was now well so I cancelled the Sequencer wizard and took then took a hyper-v Snapshot of the running image with the Sequencer application still open.
Then I sequenced a quick App, Word Viewer and deployed it using the App-V Management Server to a client and all worked fine.
I then reverted the image, Sequenced Excel Viewer and deployed it in the same way. The management server accepted the package but when I tried to run it on the client I got the dreaded failure to launch. Tim Mangan's handy little "A Failure to Launch" tool told me it was a corrupt package. Delving into the SFTLOG.TST on the client however revealed that the client was unable to find the XLVIEW.EXE file in the Packages SFT. But which Packages SFT file was it referring to? Yep you guessed it, the Word Viewer SFT not the Excel Viewer that I'd just sequenced.
Looking back on the management server I could not find the Package object for the newly imported Application and I was beginning to think "Duplicate GUID"
So we all know that a GUID, or Globally Unique IDentifier, is supposed to be unique right. Well in App-V the Package has a GUID but so does each version of the Packages SFT file. Comparing the two Packages OSD files I could see the Package GUID was unique but the SFT version GUID on the CODSBASE HREF lines were the same!!!!! Somehow, when importing the application onto the Management server, the duplicate SFT GUID confused it into thinking the two applications were in the same package.
A little experimenting revealed that the Version GUID at least, is now created when the Sequencing Application is launched and not when the Sequencing wizard is started. This is a change in behaviour over the previous 4.5 Sequencer.
So how to fix it? Don't snapshot your Sequencer image with the Sequencing Application running or if you do, restart it before each new sequence. Simples!