Aug 05, 2015 - 16 Comments - Virtual Vibes -

PublishingSource with App-V 5

In this brief post I am going to explain the purpose of the PublishingSource registry value in App-V 5.0 and how it works.

PublishingSource can be found in either of the following locations depending on whether the package has been published to the user or published globally:

HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\{PACKAGE GUID}\Versions\{VERSION GUID}\Catalog

or

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\{PACKAGE GUID}\Versions\{VERSION GUID}\Catalog

This value in registry is used primarily by App-V Publishing Servers to register ownership of delivery of a package. If the App-V Server delivers an App-V package you should see something similar to this in registry:

PublishingSource

It is via this PublishingSource value that the App-V Publishing Server comes to know whether it has authority over a package or not. A Publishing Server will never unpublish a package if it is not listed in PublishingSource. A simple way to observe this behaviour is to remove the data from the value and try and unpublish the package, the package will essentially become orphaned and remain on the machine. The publishing server however will retake ownership should you ever re-publish the package.

Both Standalone mode and SCCM leave the PublishingSource value empty upon publish of an App-V Package.

Standalone mode negates ownership of delivery in its nature. This also means packages that are delivered in standalone mode will not be removed by a publishing refresh with App-V full infrastructure.

SCCM 2012 has its own way of tracking ownership of App-V packages and it holds record of this in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Mobile Client\Software Distribution\VirtualAppPackages

Here you find a maintained list of all App-V packages and their relevant properties.

SCCMDetection

One of the key values in here is the App Delivery Type Id which contains unique GUIDs identifying the scope and deployment type, SCCM uses these to understand whether or not a deployment is present and what it’s status is.

AppDeliveryTypeID

You can find reference for this check in the AppDiscovery.log when a deployment is being assessed for delivery:

AppDiscoveryLog

Its for this reason you should not use stand alone mode to remove an App-V package that has been delivered via SCCM 2012 as it will not clean up these references and SCCM will believe the package is still present on the machine.

16 Responses to PublishingSource with App-V 5

  1. vigneshwaran

    Thanks for sharing.

    5 Aug 2015 - Reply
  2. Raj

    I have installed App-V 5.0 package through SCCM 2012 and afterwards due to some modifications required, I had to update the package (version ID got changed) there by I have updated content in DP servers.
    Now If I schedule uninstall for the installed package, which is already exist on the machine, can it be uninstalled?? (Want to know the logic and what checks will happen in the background)

    27 Nov 2015 - Reply
    • Thamim Karim

      Hi Raj, you should be using the supersedence feature of SCCM to achieve the upgrade.

      30 Nov 2015 - Reply
  3. Trentent Tye

    I have not seen the AppVClient unpublish a package automatically. We use the full infrastructure. You imply the client will unpublish a package with this statement:

    “A Publishing Server will never unpublish a package if it is not listed in PublishingSource.”

    Can you confirm this behaviour:
    1) Publish application on AppVManagment server to client
    2) Client refreshes -> receives package
    3) Unpublish on AppVManagment server
    4) Client refreshes -> Package is removed from client
    ?

    1 Dec 2015 - Reply
    • Thamim Karim

      There is a difference between unpublish and remove. Of course the publishing server will automatically unpublish a package if it is unpublished on the server console. A removal however will never occur.

      1 Dec 2015 - Reply
  4. Benjamin

    We have had several problems with Applications failed to start. Error: The application failed to launch. This may be due to a network failure. Error code: 0x86D00706-0000000E
    The error occured because the string value “publishingsource” was not there as expected. To solve the problem we just added the sting value to the registry without any data…

    Solved – but some questions persists:
    1. Why has that sting value been lost?
    2. Why isn’t it recreated during “repair”
    3. If it was only used for the server’s ownership: why should the application not start? I mean the application does not even check if the data is correct. Is this a bug?

    22 Jan 2016 - Reply
    • Thamim Karim

      Hi Benjamin,

      Its hard to say exactly what your issue is from your explanation however I think understanding why the value is being los tis key, could you share how you are currently publishing App-V packages and how your publishing server client setting is populated.

      25 Jan 2016 - Reply
    • Thamim

      Hi Benjamin

      I have just seen this issue, exactly the same as you have described. Just wondering did you find out a root cause for this? I am looking at a Citrix XenApp environment.

      Thanks,

      Thamim

      22 Jul 2016 - Reply
      • Aekash Bhudia

        Did anyone find out the root cause is this a bug?

        24 Apr 2017 - Reply
  5. Benjamin

    Hi Thamin,

    we are publishing using https on publishing server. The client setting is populated using group policies. Can you confirm that your application isn’t working if rename registry value publishingsource to eg. publishingsourceX ? And can you confirm that the value is not recreated using repair function?

    thx
    Benjamin

    28 Jan 2016 - Reply
    • Thamim Karim

      Hi,

      I can confirm that renaming the value breaks the app and a repair of the application does not recreated the value. I would not expect a repair to recreate the value as the catalog is created at Add/Publish

      26 Feb 2016 - Reply
  6. Raj

    Hi Thamim,

    In App-V 4.6 we have load (application & package) and unload (application & package) commands to make the app-v package/application files available in the local machine. Do we have any similar commands in App-V 5.0 do the same kind of job. In App-V 5.0 we need to launch the shortcut to load the package

    18 Apr 2016 - Reply
  7. Thamim Karim

    Hi, yes you can use the mount-appvclientpackage command from PS.

    18 Apr 2016 - Reply
  8. Raj

    Hi Thamim, Yes true. Mount command is equivalent of LOAD command in App-V 4.6. But I could not see any command for UNLOAD. Are there any specific reason why UNLOAD command is not available in App-V 5.0

    19 Apr 2016 - Reply
    • Thamim Karim

      Hi, you are correct there is no direct equivalent for unload but a remove-appvclient package will remove it completely from cache and also unpublish

      19 Apr 2016 - Reply

Leave a Reply

Your email address will not be published. Required fields are marked *