- You would like to deploy Microsoft Virtualized applications (AppV) via Ivanti Endpoint Manager and have full control over them.
- You would like to test the concept of using virtualized applications with LDMS and the use of them in my environment.
If you do not know anything about AppV or how it is used; it is highly recommended that you read and explore the following Microsoft TechNet webpages on this product
Microsoft App-V - Virtual Applications | TechNet
Here is also a good article from Microsoft on setting up a test environment to test the product (Trial Guide) This will also give you some background information on how the product works
In this article, I am going to provide two ways in which you can use the Microsoft Application virtualization software with LDMS. The AppV product I will using is version 5 Ivanti Endpoint Manager version is 2017.3.
I will describe two methods in which you can publish an application via the Software Distribution component of the LDMS suite.
Here is a simplified diagram of each method and how they can be used:
The first method will be to deploy the AppV client using command switches to point it towards the AppV publishing server so that clients can receive Applications from the server which they have the rights to access.
N.B. This method(1) requires the AppV infrastructure in place to work correctly, i.e the AppV publishing server
Here is an article on the command switches for the executable for AppV Client.
This scenario works best for computers that always are connected to the company WAN/LAN and can access the publishing server on a constant basis.
The second method is to deploy a standalone AppV client. No command switches are required as this client is not connected to any publishing server. This method needs Virtual Apps deployed to it via Ivanti EPM to receive the applications themselves and any updates that you make to the virtualized application.
The Virtualized application will come in the form of an Offline deployment MSI, which is created by the AppV Sequencer, which negates the need to configure the client and have a constant connection to the Publishing server.
This automatically caches the shortcuts and application into the client ready for use. This scenario would be ideal for users (Laptops) who need this Virtualized application at home or away from the main WAN/company network in which they cannot connect to the publishing server for authentication for the use of the product.
Each scenario has its advantages and disadvantages e.g the advantage for the first method is that any application you publish on the AppV server will be available to your chosen clients almost immediately, but they will need to be connected to the company network to do this. With this method, all AppV deployments and updates will be handled by the publishing server The second method will allow you deploy the virtualized applications offline. Users, such as laptop users or home users will able to use these applications without having to be connected to the company network. With this method, all AppV deployments will be handled by the LDMS software distribution component.
The AppV client requires some pre-requisites before it can be installed.
The pre-requisites are Microsoft .Net 4.0 Extended and PowerShell 3.0.
Microsoft .Net 4.0 Extended
Download Microsoft .NET Framework 4 (Standalone Installer) from Official Microsoft Download Center
Download Windows Management Framework 3.0 from Official Microsoft Download Center
The best way with the files above is to use the software distribution component of LDMS, using this method you can also set dependencies for the AppV client packages which I will show you how to create later in the document
Using the software distribution component deploy the above Microsoft .Net 4.0 Extended download as an executable with the following switches for a silent and no restart install: /q /norestart
The executable contains both installers for 32 and 64-bit computers.
To deploy the PowerShell MSU package via software distribution a batch file is the best method, here is an example script which you can use:
@ECHO OFF REM Set the commands to run from the current directory cd %0\..\ REM Processor type so the right update is installed IF EXIST PROCESSOR_ARCHITECTURE=AMD64 GOTO AMD64 IF EXIST PROCESSOR_ARCHITECTURE=x86 GOTO x86 :x86 START /WAIT WUSA Windows6.1-KB2506143-x86.msu /QUIET /NORESTART EXIT :AMD64 START /WAIT WUSA Windows6.1-KB2506143-x64.msu /QUIET /NORESTART EXIT
Along with this script add the above PowerShell Microsoft update files as well to the distribution package as additional files
Deployment of AppV Client and Virtualized Applications
For both scenarios, you will have to set up an AppV sequencer to create the virtualized application ready for deployment. Here is a TechNet article on how to do it
How to Install the Sequencer
From here you can create a virtualized application of your choice. Here is a TechNet article describing the process: How to Sequence a New Application with App-V 5.0
Once you have created the virtualized application that you want to use, this is where the two different methods come into play, for the first method, create a virtualized application as normal and publish it onto the AppV server via the publishing server console. Assign the appropriate rights , publish and your application will be available for you on the client once the client has been refreshed.
In this example, I used Firefox as my Virtualized Application.
Now, this application is published you are now ready to deploy the AppV client ready for the published Virtual App. First, copy the AppV client packages from the installation ISO into your packages folder,
In the software distribution component of LDMS, create a new executable package, selecting the AppV client package.
Now add the additional files that are required for the installation of the product
Now enter the command switches that will point the AppV client to the publishing server
Here is the example of the command line switches that I used to point this towards my publishing server
/NORESTART /ACCEPTEULA /q /S1PUBLISHINGSERVERNAME=APPV2008R264 /S1PUBLISHINGSERVERURL=http://APPV2008R264:889 /S1GLOBALREFRESHENABLED=1 /S1GLOBALREFRESHONLOGON=1 /Log C:\LOGS\LOG.LOG
More information on the switches can be found here:
How to Deploy the App-V Client
From here you can set up some dependencies for the installation of the AppV client package either in the form of a Prerequisites query or Dependent Package.
More information for using dependent packages can be found here :
How to use Dependent Packages
Now deploy the package to client and it is now ready to use with the AppV Publishing server
For the second method, instead of publishing the virtualized application on the publishing server you will deploy the virtualized application's .msi file which is created as part of the sequencing process outline above., along with all over of the files created for the virtualized application
Create the AppV client as outlined above , with the added difference of setting the command line to only this :
/NORESTART /ACCEPTEULA /q
Once this package has been deployed it will be empty of any Applications.
To fill it with Virtualized Applications we will deploy the .msi file created earlier as part of the Sequencing process along with the other files that were created.
Open up the software distribution window and create a new MSI deployment.
Point them to the main Virtualized Msi package in your packages store
Now add the additional files that are needed for this Virtual Application
As this is an MSI distribution the silent and norestart switches will already be in place by default
As with the package before you can set up a dependency for this installation to only install if the AppV client is installed:
Once you have finished, deploy the standalone AppV package and the Virtualized Application.
Once this has finished deploying you now have the virtual app installed and available offline
Adding the standalone AppV client to the publishing server
At some point you might want to connect to the AppV standalone client to the publishing server so that you can push updates and applications to it via the publishing server as opposed to the LDMS core.
You can either redeploy the executable with the switches as described above or send a PowerShell script to redirect the client towards the publishing server.
Here is an example one I used to redirect my standalone AppV client to my publishing server:
Import-Module AAppVClient Add-AppvPublishingServer -Name APPV2008R264 -URL http:\\APPV2208R264:889 Set-AppVPublishingServer -ServerID 1 -GlobalRefreshEnabled 1 -GlobalRefreshOnLogon 1
After you have successfully deployed this, restart the client machine for the changes to take effect.
Here is a TechNet article on the different PowerShell Commands that you can send to the AppV client to configure it remotely:
Administering App-V by Using PowerShell
And here is an article on sending the settings to AppV clients via the GPO:
How to Modify App-V 5.0 Client Configuration Using the ADMX Template and Group Policy