During (part 1) we did walkthrough the APP-V requirements and the installation of our server , in this part we will play with APP-V Sequencer,Client,sequence a sample application and see some troubleshooting steps.
Deploying the App-V 5.0 Sequencer
The Sequencer is a tool that is used to convert standard applications into virtual packages for deployment to computers that run the App-V 5.0 client. The Sequencer helps provide a simple and predictable conversion process with minimal changes to prior sequencing workflows. In addition, the Sequencer allows users to more easily configure applications to enable connections of virtualized applications.
Specific change to the sequencer
The following table displays information about what has changed with the App-V 5.0 sequencer
Sequencer Feature |
App-V 5.0 Sequencer Functionality |
Reboot processing |
When an application prompts for a restart, you should allow the application to restart the computer running the sequencer. The computer running the sequencer will restart and the sequencer will resume in monitoring mode. |
Specifying the virtual application directory |
Virtual Application Directory is a mandatory parameter. For best results, it should match the installation directory of the application installer. This results in more optimal performance and application compatibility. |
Editing shortcuts/FTAs |
The Shortcuts/FTA page is on the Advanced editing page after the sequencing wizard has completed. |
Change History Tab |
The Change History tab has been removed for App-V 5.0. |
OSD Tab |
The OSD tab has been removed for App-V 5.0. |
Virtual Services Tab |
The virtual services tab has been removed for App-V 5.0. |
Files/Virtual File System Tab |
These tabs are combined and allow you to modify package files. |
Deployment Tab |
There are no longer options to configure the server URL in the packages. You should configure this now using deployment configuration, or the management server. |
Package Converter Tool |
You can now use PowerShell to convert packages created in previous versions. |
Add-on/Middleware |
You can expand parent packages when you are sequencing an Add-On or Middleware application. Add-ons and Middleware packages must be connected using connection groups in App-V 5.0. |
Files output |
The following files are created with App-V 5.0, Windows Installer (.msi), .appv, deployment configuration, user configuration, and the Report.XML. |
Compression/Security descriptors/MSI packages |
Compression and the creation of a Windows Installer (.msi) file are automatic for all packages and you can no longer override security descriptors. |
Tools / Options |
The Diagnostics window has been removed as well as several other settings. |
Installation Drive |
An installation drive is no longer required when you install an application. |
OOS Streaming |
If no stream optimization is performed, packages are stream faulted when they are requested by computers running the App-V 5.0 client until they can launch. |
Q:\ |
App-V 5.0 uses the native file system and no longer requires a Q:\. |
Sequencing error detection
The App-V 5.0 sequencer can detect common sequencing issues during sequencing. The Installation Report page at the end of the sequencing wizard displays diagnostic messages categorized into Errors , Warnings , and Info depending on the severity of the issue.
To display more detailed information about an event, double-click the item you want to review in the report. The sequencing issues, as well as suggestions about how to resolve the issues are displayed. Information from the system preparation report and the installation report are summarized when you have finished creating a package. The following list displays the types of issues available in the report:
Information about unsupported services.
Prerequisites for the App-V 5.0 Sequencer
The following prerequisites are already installed for computers that run Windows 8 and Windows Server 2012.
Prerequisite |
Details |
Software requirements |
Installing the Sequencer
The computer that will run the sequencer must not be running any version of the App-V 5.0 client.
Upgrading a previous installation of the App-V sequencer is not supported.
The following list displays information about options for installing the sequencer using the command line and appv_sequencer_setup.exe:
Command |
Description |
/INSTALLDIR |
Specifies the installation directory. |
/CEIPOPTIN |
Enables participation in the Microsoft Customer Experience Improvement Program. |
/Log |
Specifies where the installation log will be saved, the default location is %Temp%. For example, C:\ Logs \ log.log. |
/q |
Specifies a quiet or silent installation. |
/Uninstall |
Specifies the removal of the sequencer. |
/? Or /h or /help |
Displays associated help. |
Click Install.
On the Software License Terms page, you should review the license terms. To accept the license terms select I accept the license terms. Click Next.
On the Use Microsoft Update to help keep your computer secure and up-to-date page, Click Next.
To open the sequencer, click Start and then click Microsoft Application Virtualization Sequencer.
Deploying the APP-V Client
The computer on which you plan to install the App-V 5.0 client must be running Microsoft .NET 4 Framework (Full) and Microsoft KB 2533623, and PowerShell 3.0. Otherwise, the installation will fail.
Installing the App-V 5.0 client using a script
1. To use a script to install the App-V 5.0 client, use the following parameters with appv_server_setup.exe.
/INSTALLDIR |
Specifies the installation directory. Example usage: /INSTALLDIR=C:\Program Files\AppV Client |
/CEIPOPTIN |
Enables participation in the Customer Experience Improvement Program. Example usage: /CEIPOPTIN=[0|1] |
/MUOPTIN |
Enables Microsoft Update. Example usage: /MUOPTIN=[0|1] |
/PACKAGEINSTALLATIONROOT |
Specifies the directory in which to install all new applications and updates. Example usage: /PACKAGEINSTALLATIONROOT=’C:\App-V Packages’ |
/PACKAGESOURCEROOT |
Overrides the source location for downloading package content. Example usage: /PACKAGESOURCEROOT=’http://packageStore’ |
/AUTOLOAD |
Specifies how new packages will be loaded by App-V 5.0 on a specific computer. The following options are enabled: [1]; automatically load all packages [2]; or automatically load no packages [0].Example usage: /AUTOLOAD=[0|1|2] |
/SHAREDCONTENTSTOREMODE |
Specifies that streamed package contents will be not be saved to the local hard disk. Example usage: /SHAREDCONTENTSTOREMODE=[0|1] |
/MIGRATIONMODE |
Allows the App-V 5.0 client to modify the shortcuts and FTAs that are associated with the packages that are created with a previous version. Example usage: /MIGRATIONMODE=[0|1] |
/ENABLEPACKAGESCRIPTS |
Enables the scripts that are defined in the package manifest file or configuration files that should run. Example usage: /ENABLEPACKAGESCRIPTS=[0|1] |
/ROAMINGREGISTRYEXCLUSIONS |
Specifies the registry paths that will not roam with a user profile. Example usage: /ROAMINGREGISTRYEXCLUSIONS=software\classes;software\clients |
/ROAMINGFILEEXCLUSIONS |
Specifies the file paths relative to %userprofile% that do not roam with a user’s profile. Example usage: /ROAMINGFILEEXCLUSIONS ‘desktop;my pictures’ |
/S[1-5]PUBLISHINGSERVERNAME |
Displays the name of the publishing server. Example usage: /S2PUBLISHINGSERVERNAME=MyPublishingServer |
/S[1-5]PUBLISHINGSERVERURL |
Displays the URL of the publishing server. Example usage: /S2PUBLISHINGSERVERURL=\\pubserver |
/S[1-5]GLOBALREFRESHENABLED – |
Enables a global publishing refresh. Example usage: /S2GLOBALREFRESHENABLED=[0|1] |
/S[1-5]GLOBALREFRESHONLOGON |
Initiates a global publishing refresh when a user logs on. Example usage: /S2LOGONREFRESH=[0|1] |
/S[1-5]GLOBALREFRESHINTERVAL – |
Specifies the publishing refresh interval, where 0 indicates do not periodically refresh. Example usage: /S2PERIODICREFRESHINTERVAL=[0-744] |
/S[1-5]GLOBALREFRESHINTERVALUNIT |
Specifies the interval unit (Hours[0], Days[1]). Example usage: /S2GLOBALREFRESHINTERVALUNIT=[0|1] |
/S[1-5]USERREFRESHENABLED |
Enables user publishing refresh. Example usage: /S2USERREFRESHENABLED=[0|1] |
/S[1-5]USERREFRESHONLOGON |
Initiates a user publishing refresh when a user logs on. Example usage: /S2LOGONREFRESH=[0|1] |
/S[1-5]USERREFRESHINTERVAL – |
Specifies the publishing refresh interval, where 0 indicates do not periodically refresh. Example usage: /S2PERIODICREFRESHINTERVAL=[0-744] |
/S[1-5]USERREFRESHINTERVALUNIT |
Specifies the interval unit (Hours[0], Days[1]). Example usage: /S2USERREFRESHINTERVALUNIT=[0|1] |
/Log |
Specifies a location where the log information is saved. The default location is %Temp%. Example usage: /log C:\logs\log.log |
/q |
Specifies an unattended installation. |
/REPAIR |
Repairs a previous client installation. |
/NORESTART |
Disallows the computer to restart after the client installation. |
/UNINSTALL |
Uninstalls the client. |
/?, /h, /help |
Requests help about the previous installation parameters. |
To install the App-V 5.0 client
The computer on which you plan to install the App-V 5.0 client must be running Microsoft .NET 4 Framework (Full) and Microsoft KB 2533623, and PowerShell 3.0. Otherwise, the installation will fail.
click Install. Before the installation begins, the installer will evaluate the computer for any missing App-V 5.0 Prerequisites.
Select I accept the license terms. Click Next.
Select Use Microsoft Update when I check for updates (recommended). Click Next.
On the Customer Experience Improvement Program page, Choose, Click Install.
Sequencing an application
The Microsoft Application Virtualization (App-V) 5.0 Sequencer enables you to create the following three types of virtualized application packages:
Application type |
Description |
|
Standard |
Select this option to create a package that contains an application or a suite of applications. This is the preferred option for most application types. |
|
Add-on or plug-in |
Select this option to create a package that extends the functionality of a standard application. For example: a plug-in for Microsoft Excel. Additionally, you can use plug-ins for natively installed applications, or for another package that is linked by the use of App-V 5.0 connection groups. |
|
Middleware |
Select this option to create a package that is required by a standard application, for example, Java. Middleware packages are used for linking to other packages by using connection groups. |
HINT:
You should copy all required installation files to the computer running the sequencer before you begin any of the following procedures. You should also capture a backup image of your virtual environment before sequencing an application, and then revert to that image each time you complete sequencing an application.
In the sequencer, click Create a New Virtual Application Package. Select Create Package (default), and then click Next.
On the Prepare Computer page, review the issues that could cause the package creation to fail or could cause the package to contain unnecessary data. You should resolve all potential issues before you continue. After making any corrections, click Refresh to display the updated information. After you have resolved all potential issues, click Next.
On the Type of Application page, click the Standard Application (default) check box, and then click Next.
On the Select Installer page, click Browse and specify the installation file for the application.
On the Package Name page, type a name that will be associated with the package. Use a name that helps identify the purpose and version of the application that will be added to the package. The package name is displayed in the App-V 5.0 Management Console. The Primary Virtual Application Directory displays the path where the application will be installed on target computers. To specify this location, select Browse.
The primary application virtual directory should match the installation location for the application that is being sequenced. For example, if you install Notepad to C:\Program Files\Notepad; you should configure C:\Program Files\Notepad as your primary virtual directory. Alternatively, you can choose to set C:\Notepad as the primary virtual application directory, as long as during installation time, you configure the installer to install to C:\Notepad. Editing the Application Virtualization path is an advanced configuration task. For most applications, the default path is recommended for the following reasons:
|
click Run
For applications requiring a reboot, if given the option click “yes.” The Sequencer will reboot and automatically continue once logged back on to the sequencing workstation after the reboot has taken place.
Many applications have first-run tasks such as accepting license agreements, etc. At this stage, execute the application(s) at least once by selecting the application and clicking the “Run Selected” or “Run All” buttons
Note:
To run first-use tasks for any application that is not available in the list, open the application. The associated information will be captured during this step.
Double click an item in the report to view detailed information about the issue as well as suggestions for resolution. Messages from the system preparation report as well as the installation report are summarized upon package completion and are saved along with the package in a report.xml file.
Items in the report include:
· Excluded Files
· Drivers
· COM+ System differences
· SxS Conflicts
· Shell Extensions
· Files or registry entries that were not captured during monitoring
Choose Stop now if the sequence will not benefit from further customization and select Create. However, often there are other steps remaining such as:
• Splitting the package into feature blocks to reduce the streaming requirement and save bandwidth.
• Selecting additional client operating systems that will be permitted to receive this package.
• Changing shortcuts and file type associations.
• Modifying registry settings and adding and deleting files in the package.
When additional customization is required select Customize and Next to continue the sequencing process and allow additional changes prior to the creation of the package.
Feature blocks are designed to optimize the applications for streaming (if applicable), creating a minimum launch threshold that allows launching larger applications as soon as enough of the package has been downloaded and does not require downloading the entire package. This enables users access to applications more quickly upon deployment.
Feature blocks also reduce the total network bandwidth used when launching the application for the first time and saves hard disk space on the client by leaving less-used data on the server until it is specifically called by the user.
Launch Applications Component |
Description |
Run Selected |
This will launch an application to ensure functionality. Additionally, any files that are executed during this phase will be tagged as Primary Feature Block. Any remaining files will be tagged as Secondary Feature Block. If no applications are launched then all files will be a part of the Primary Feature Block. |
Run All |
Performs the same operation as the launch component, but launches all identified applications in the package. This is useful when trying to create Primary and Secondary Feature Blocks for a large suite of applications. |
Force download before launch |
If enabled this option forces the client to download the entire package before launching the application. This may be useful for packages that will be downloaded over slow WAN links where application performance may be impacted. |
The Target OS screen configures the package targeting for specific operating systems.
Choosing “Continue to modify package without saving using the package editor” and clicking Next will progress to the Completion report then exit to the Package Editor allowing for the configuration of shortcuts and file type associations, registry values or services.
Administering App-V 5.0 Virtual Applications
The Microsoft Application Virtualization (App-V) 5.0 management server to manage packages, connection groups, and package access in your environment. The server publishes application icons, shortcuts, and file type associations to authorized computers that run the App-V 5.0 client.
The management servers use Active Directory groups to manage user authorization. In addition to Active Directory Domain Services, these servers have SQL Server installed to manage the database and data store.
Add or Upgrade Packages
Open Internet Explorer browser and type the address for the App-V 5.0. For example, http://<Management server name>:<Management service port number>/Console.html.
Click the Packages tab in the navigation pane of the Management Console display.
To specify the package you want to add, click Add or Upgrade Packages.
Type the full path to the package that you want to add. Use the UNC or HTTP path format, for example \\servername\sharename\foldername\packagename.appv or http://server.1234/file.appv, and then click Add.
The page displays the status message Adding <Packagename>. Click IMPORT STATUS to check the status of a package that you have imported.
Configuring Access to Packages
Before you deploy an App-V 5.0 virtualized package, you must configure the groups that will be allowed to access and run the applications.
To grant access to an App-V 5.0 package:
Open the App-V 5.0 Management Console. To display the AD ACCESS page, right-click the package to be configured and select Edit active directory access. Alternatively, select the package and click EDIT in the AD ACCESS pane.
To grant access to the package, select the desired group and click Grant Access.
Publishing a Package
Before computers running the App-V 5.0 client can access and run a virtualized package, you must publish and configure the access to the package.
Open the App-V 5.0 Management Console. Select the package to be published, right-click the package name, and select Publish.
The App-V 5.0 client management console
On the computer running the App-V 5.0 client, click Start and select Microsoft Application Virtualization Client.
The Overview tab contains the following elements:
|
The Last Refresh displays the current version of the virtualized package.
- Download all virtual applications – Use the Download tile to download all of the packages provisioned to the current user.(Associated PowerShell cmdlet: Mount-AppvClientPackage)
- Work Offline – Use this tile to disallow all automatic and manual virtual application updates.
(Associated PowerShell cmdlet: Set-AppvPublishServer –UserRefreshEnabled –GlobalRefreshEnabled)
The VIRTUAL APPS tab displays all of the packages that have been published to the user. You can also click a specific package and see all of the applications that are part of that package. This displays information about packages that are currently in use and how much of each package has been downloaded to the computer. You can also start and stop package downloads. Additionally, you can repair the user state. A repair will delete all user data that is associated with a package.
The APP CONNECTION GROUPS tab displays all of the connection groups that are available to the current user. Click a specific connection group to see all of the packages that are part of the selected group. This displays information about connection groups that are already in use and how much of the connection group contents have been downloaded to the computer. Additionally, you can start and stop connection group downloads. You can use this section to initiate a repair. A repair will remove all of the user state that is associated a connection group.
(Associated PowerShell cmdlets: Download – Mount-AppvClientConnectionGroup. Repair –AppvClientConnectionGroup.)
Configure the Client to Receive Package and Connection Groups Updates from the Publishing Server
After we deploy the App-V 5.0 management and publishing servers, and add the required packages and connection groups.
On the computer running the App-V 5.0 client, open an elevated PowerShell command prompt, run the following commands:
Set-ExecutionPolicy Unrestricted –Force
To allow execution of scripts
import-module appvclient
To import APP-V Power shell commands set
Add-AppvPublishingServer -Name displayname -URL http://publishingservername:port
To add the Publishing server to the APP-V client for example:
Add-AppvPublishingServer -Name APPv5 -URL http://appv5:4000
Sync-AppvPublishingServer -ServerId 1
To query the publishing server for the packages and connection groups that need to be added or removed
Remove-AppvPublishingServer -ServerId 1
In case removing a publishing server is needed
Troubleshooting
App-V 5 Management Server
The Management Server is an IIS Web Application, so checking if IIS is running and verifying some configurations there is a good starting point.
Verify that the Web Application really uses .Net version 4 (and not any older one). Open the IIS Management Console and navigate to the “Application Pools” node.
In the next step check if you can communicate with the service. On the Management Server machine, open a Browser and navigate to http://<managementservername>:Port
Here you should see a “Service” page. Or you go to http://<managementservername>:port/help and you should see a list of supported commands.
You should not use “localhost” as the address, because sometimes IE then assumes a different security zone and prohibits some activities.
So, you are not sure which port you defined during installation? That’s an easy one: Read your Installation Documentation. Don’t have it (because somebody has stolen it)? There are some options.
You could check the “Binding” settings while you are in the IIS Management Console.
App-V 5 Database
If issues occur, the first thing you should determine is, to which database the Management WebApp actually tries to connect to. HKLM/Software/Microsoft/AppV/Server is the root location for this info as well. Check values in the “ManagementDatabase and the ManagementService keys. (The registry screenshots were taken from a machine with a locally installed database)
Remember that it is probably necessary that the <domain>\<computername>$ account as well as your user has write access rights there.
App-V 5 Publishing Server
Now that we know that the “Management Infrastructure” components appear to work, let’s go a step further and have a look onto the Publishing Server. Depending on your decision you may have it installed on the same box as the Management Server – or you have chosen to use a separate machine for this.
I assume you already got it: Use a browser and open http://<publishingservername>:port, first locally from the Publishing Server machine, then from a Client. The result should be an XML formatted page that does (or does not) include a list of applications your user has access to. When you perform this action after you ‘imported# some applications with the Management Console, enabled and assigned it to a group, the XML file should include some application information already.
For some info about the publishing server, check the registry’s HKLM/Software/Microsoft/AppV/Server/PublishingService.
Package Repository
App-V 5 support HTTP and SMB to download the actual .appv file. You determine the protocole while you are importing the package with the Management Console. If you specify an URL, the client uses http. If you specify and UNC path, the client uses SMB. In my Publishing document example above, I’m using SMB for one and HTTP fo the other package.
There are actually two consideration to take:
Regardless of the protocol, the Client (user) has to have read permissions on that file
If using HTTP via IIS, you have to add “.appv” as a MIME Type. I’d recommend to assign it as “application/appv” or “application/x-compressed”. In fact there are some general guidelines of what to use at http://en.wikipedia.org/wiki/Internet_media_type. (.appv can be opened read-only when making a copy and renaming it to .zip)
App-V 5 Client
The last piece of the deployment chain is the App-V Client (which actually also consists of several modules).
To see if and what Publishing Server has been configured for the Client, you can use the Registry and/or PowerShell.
In the Registry, HKLM/Software/Microsoft/AppV/Client/Publishing contains the list of configured servers.
You also can run the “get-AppVPublishingServer” Posh cmdlet to see a list of them.
Use “Sync-AppVPublishingServer” to refresh the application list (running the cmdlet without specifying ‘–serverid 1’ is asking for the ID. ‘’1’ is usually a good answer here
Troubleshoot publishing server refresh failures in App-V v5
Step 1: Verify the Publishing Server URL configured on the client
To verify the Publishing Server URL, perform the following steps:
1. On the App-V Client, open an elevated PowerShell command prompt.
2. Type Get-AppvPublishingServer and hit enter.
3. Verify the URL listed in the output is correct.
If the Publishing Server name is PubSvr and the publishing server port is 82, the URL listed in the Get-AppvPublishingServer output should be: http://PubSvr:82 or https://PubSvr:82
If the Publishing Server URL is incorrect, use the Remove-AppvPublishingServer cmdlet to remove the Publishing Server. Then use the Add-AppvPublishingServer cmdlet to add the Publishing Sever with the correct URL.
Sample commands to remove and re-add the Publishing Server:
Remove-AppvPublishingServer -ServerId 1
Add-AppvPublishingServer -Name PublishingSever -URL http://PubSvr:82
Step 2: Add Windows Firewall exception on the Publishing Server
If the Windows Firewall is enabled on the Publishing Server, an Inbound Rule must be added to allow inbound connections on the port used by the Publishing Server.
To add an Inbound Rule, perform the following steps:
1. On the Publishing Server, open the Windows Firewall.
2. Click Advanced Settings.
3. Right-click on Inbound Rules and select New Rule.
4. Select Port and click Next.
5. Select TCP, specify the port used by the Publishing Server and click Next.
6. Select the appropriate connection condition for your environment and click Next.
7. Select the appropriate profile and click Next.
8. Provide a name for the Inbound Rule and click Finish.
Step 3: Verify the Publishing Server site is started on the Publishing Server
To verify the Publishing Server site is started, perform the following steps:
1. On the Publishing Server, open the IIS Manager console.
2. Click Sites.
3. Verify the Microsoft App-V Publishing Service site is Started.
Step 4: Verify the Publishing Server application pool is started on the Publishing Server
To verify the Publishing Server application pool is started, perform the following steps:
1. On the Publishing Server, open the IIS Manager console.
2. Click Application Pools.
3. Verify the AppVPublishing application pool is Started.
Step 5: Verify the Publishing Server URL is accessible using a web browser
On the App-V client, access the publishing server URL (e.g., http://PubSvr:82/) using a web browser. If the publishing server is working properly and is accessible, an XML output will be displayed which lists the applications published on the Publishing Server:
– <Publishing Protocol=”1.0″>
– <Packages>
<Package PackageId=”639138dd-a4f5-4846-bab2-02e94a87c8a6″ VersionId=”b29da9c2-07d1-4fac-97ca-4f081c487c79″ PackageUrl=”\\pubsvr\content\Office 2013 AppV Package\ProPlusVolume_VisioProVolume_ProjectProVolume_en-us_x86.appv” />
</Packages>
– <NoGroup>
<Package PackageId=”639138dd-a4f5-4846-bab2-02e94a87c8a6″ />
</NoGroup>
</Publishing>
In the example above, Office 2013 is the only package currently published on the Publishing Server.
Step 6: Perform a publishing server refresh
After performing the steps above, perform a manual publishing refresh to verify no errors are logged.
There are two methods to manually perform a publishing refresh:
- In Powershell, use the Sync-AppvPublishingServer cmdlet.
- In the App-V client console, click Update
Note: The Update box will be greyed out if a publishing server hasn’t been configured on the client machine.
Hope you liked it
May 1, 2013 at 9:28 am
Hi Walid,
Many thanks for your detailed information. Love it 🙂
May 14, 2013 at 8:27 am
Excellent description and walk through, wish there were more like this on the Internet
Thanks
phil waller
May 30, 2013 at 7:37 pm
You’ve put together a great guide for App-v 5, thank you!! I have a question about your section on the “Package Repository” and MIME types. You mentioned to see your example on using HTTP as a guidance for adding packages via URL. However, I only find your example of adding via UNC (for SMB).
Have you been able to successfully add/deploy packages via http? I’ve added the appv MIME type to the server which has the source files, but adding a package generates error code 12007 (name or address could not be resolved). Also, do you use standard port 80 since it’s http?
July 20, 2013 at 7:15 am
Amazing! Best on the internet so far! Would love an article on app-v 5 and Terminal Servers
March 25, 2014 at 9:28 am
is part one still available ?
August 12, 2014 at 12:58 pm
Yes here https://walidhegazy.wordpress.com/2013/03/01/microsoft-application-virtualization-app-v-part1/
December 17, 2014 at 9:04 am
Hey there, You’ve done a great job. I will definitely digg it and personally
recommend to my friends. I’m confident they will be benefited
from this website.