PublishFromAppV: A Tool for Publishing to XenApp from App-V 4 and App-V 5
BETA: Version 2.9.0 March 1, 2013
Installation Information
Requirements
- .Net 4.0
- PowerShell 3.0 (WMF 3.0)
- XenApp SDK for 6.5
Optional
- App-V Client 4.6 with or without Service packs
- App-V Client 5.0
Note: Other versions, including some earlier XenApp releases may also work, but have not been tested.
Where to Install
The tool must be installed on a XenApp Server that is a member of the farm that virtual applications will be published to.
This server may be a non-production server, but must have the Citrix SDK for XenApp 6.5 installed, along with any App-V clients and virtual applications.
Although the Citrix PowerShell SDK is remotable, and although the App-V Client 5.0 PowerShell SDK is remotable, the App-V 4.* Client does not have a remote SDK and the tool must run on a machine that has the virtual applciations.
It also turns out that the App-V 5.0 PowerShell SDK is lacking in some key areas, and while we probably could have worked around that limitation, we didn't due to App-V 4.*.
Some Terminology
Because both App-V and Citrix do "publishing", this document will use the following terms:
- Add - This means using App-V to get the virtual application added to the App-V client, and possibly apply shortcuts (often called publishing in App-V).
- Publish - This means to publish to the XenApp Farm Servers, making the virtual application available via Receiver or the Web based Interfaces.
About Adding the App-V Virtual Applications
It doesn't matter how you get the virutal apps published onto the server.
You can use the App-V Server, SCCM, or the client in stand-alone mode.
Generally, you add every virtual app to the server (and for production servers either ensure that the cache is filled or use the "Shared Content Store" feature of App-V 5).
From an App-V perspective, you will probably either use the global option when you add, or just add to the administrator account that you will use when running this tool.
If no users ever receive a full desktop, it is reasonable to let Citrix handle user availability and publish to everyone.
It is less work performed with fewer mistakes if app availability is configured in only one place.
If using App-V 4.* with the App-V Server, you would then want to disable the "RequireAuthorizationEvenIfCached" feature of the App-v client.
With no-one seeing a full desktop, it doesn't matter whether or not App-V publishes the shortcuts as no user will ever see them.
If some users receive a full desktop, it is advisable to not have App-V add the shortcuts and file associations.
With App-V 4, you can manually edit the OSD files to remove them, or if you add the virtual apps with our AppV_DeployNPublish tools you can ask that tool to do the work for you.
With App-V 5, you would edit the DeploymentConfig file to disable them (a single line edit of each file to change a "true" to "false".
The new AppV_Manage tool for App-V 5 does not have an automatic feature to apply this edit for you.
Users getting the full desktop would have Citrix populate the appropriate shortcuts to the start menu rather than App-V.
Details on how it works
To learn the details of App-V 4.* applications, the tool uses some of the App-V 4.* API, but largely needs to pull information from the file and registry system directly.
The details learned about added packages will be based on the package as applied and not the original package.
To learn the detauls of App-V 5.* applications, the tool uses mostly the App-V 5.* API, but will pull information from the original package definition (the AppXManifst file) rather than as deployed.
To learn details of the XenApp Farm, the tool will completly use the XenApp SDK to learn about the Farm, Farm Servers, and existing Virtual Applications.
The tool modifies all names and paths to meet the requirements of XenApp, and extracts the icons needed automatically.
The tool maintains the set of "Common Parameters" for app publishing under the Current User hive of the Windows Registry.
These "Common Parameters" are applied to all of the virtual apps you selected, and usually these are the non app-specific parameters.
When publishing a large number of apps, if it is necessary to modify some common parameters, you have two choices.
- Run the tool multiple times,
- Just run it once with all of apps and the Enabled set to Apply but set to disabled (the right hand checkbox not set).
After you publish, you use XenCenter to make final adjustments on a per-app basis and enable.
The tool uses the XenApp SDK to perform the publishing.