Kirx' Blog - kirxblog.wordpress.com

What if duplicate GUIDs never appear? A reply to the Saga of Duplicate GUID | April 13, 2011


Different versions of Microsoft’s App-V Sequencer used to have the habit of generating non-unique (but duplicate) package GUIDs under certain circumstances. This seemed to appear if the Sequencer Software was launched before a snapshot was taken of the VM. Tim Mangan and Nicke Källen found out that a similar issue occurs (under certain circumstances) when using the new template feature of App-V SP1. However, I never faced nor heard about duplicate GUIDs in practice… And the reason might be the VM’s state while taking the snapshot.

In his article “App-V 4.6 SP1: Saga of the duplicate GUID (continued)”, Tim Mangan explains that under certain circumstances even the brand new App-V Sequencer 4.6 SP1 fails to create unique Package GUIDs Virtual Application Packages. Instead, the Sequencers uses the same GUID for every new package if it is created using the same method.

Nicke Källen confirmed that on his blog at http://www.viridisit.se/eng/blog/?p=921.

How does App-V create duplicate GUIDs?

I don’t want to repeat Tim’s and Kalle’s articles. You should read them for your own. I am quite short here:

Preparation:

  • Install and Open the Sequencer
  • Create an App-V 4.6SP1 Sequencing Template (.sprt), Save it to the Desktop
  • Close the Sequencer
  • Take a Snapshot

Phase 1: First App (App A in Tim’s post)

  • Revert to the Snapshot
  • Double-Click the .sprt, sequence application A
  • Note the GUID

Phase 2: Second App (App C in Tim’s post)

  • Revert to the Snapshot
  • Double-Click the .sprt, sequence application B
  • Note the GUID

Result

Compare the Package GUIDs (the ones within the CODEBASE element) – they are the same!

Tim’s Recommendation: Do NOT launch the Sequencer before taking your snapshot

So what’s to discuss?

While this was a “know issue” back in the Softricity days, I personally never faced that issue with SoftGrid 4 + newer. Tim wrote about a comparable (but not exactly the same) issue in App-V 4.6 (without SP1) about a year ago (http://www.tmurgent.com/TmBlog/?p=202). Back then, I really tried to reproduce the issue, but never I was able to. And I always run the Sequencer before taking the Snapshot in my production Sequencers as well as in the App-V classes. Also I started to ask customers about their processes and nobody returned with that issue.

Strange, right?

Did I proof Tim wrong? No! Not really…

So, now Tim came up with that issue (slightly different) again. So, time for me to verify that again, as well.

And, well, how to say that:

I could prove Tim’s findings, but I also was able to disprove them.

My findings

Tim accidentally isn’t clear enough about the snapshotting situation – but exactly that snapshotting makes the difference in my tests!

I prepared the machine as described above, shut them down, took the snapshot: Couldn’t reproduce the issue.

So, also I took a snapshot while the VM was running (of course the Sequencer application was closed) – and here we go – I ran into the duplicate GUID issue.

So, I think that is the issue. And because running and configuring the  Sequencer before taking the snapshot has some advantages, my recommendation is:

You may start the Sequencer Software before taking the Snapshot, but:

Never take a Snapshot of a running VM!

This also applies to “older” Sequencer Versions like 4.5 or 4.6 (w/o SP1).

My Request

If you have the ability, I kindly ask you to try to reproduce the duplicate GUID issue. It is really important to avoid duplicate App-V package GUIDs!

Advertisements

5 Comments »

  1. I did the experiment also (partly). I created a Oracle Virtual Box VM with the sequencer already started (and the machine still running, but Sequencer not open). Created 2 sequences with this VM (created 1 sequence, reverted back to VM, and did another sequence) but both had different GUIDs. So no issue with duplicate GUIDs in my VM.

    Comment by Sander Zegveld — April 14, 2011 @ 11:31

    • OK, interesting to read that (although it does not fit to my theory).
      Did you use the 4.6 SP1 Sequencer and created the Sequences by using an App-V Sequencer Template (.sprt) file?

      Comment by kirxblog — April 14, 2011 @ 21:30

  2. Hi, I created a dummy sequence, saved a template from the settings to my desktop. Then I closed the sequencer and took the snapshot (Oracle VirtualBox), reverted the snapshot, clicked on the desktop link (template)and created a new sequence. Then I did revert the snapshot again and created another sequence using the desktop link. Both sequences had a different Package GUID.
    So no duplicate GUIDs in my testenvironment either.

    Comment by Sander Zegveld — April 15, 2011 @ 09:45

  3. […] 2011-05-03:  Currently there is a community discussion going on about duplicate GUIDs appearing (or not?) in App-V 4.6 SP1. I consider updating this article or creating a new one based on the discussion’s result. In between, you my follow  https://kirxblog.wordpress.com/2011/04/13/what-if-duplicate-guids-never-appear-a-reply-to-the-saga-of… […]

    Pingback by Should the App-V Sequencer be installed into the Snapshot Image? « Kirx' Blog — May 4, 2011 @ 15:23

  4. […] 2011-05-03:   Currently there is a community discussion going on about duplicate GUIDs appearing (or not?) in App-V 4.6 SP1. I consider updating this article or creating a new one based on the discussion’s result. In between, you my follow  https://kirxblog.wordpress.com/2011/04/13/what-if-duplicate-guids-never-appear-a-reply-to-the-saga-of… […]

    Pingback by - Cliff Davies — May 4, 2011 @ 16:32


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

%d bloggers like this: