App-V FAQ: My virtual application won't start. Where do I start troubleshooting?

If you have successfully virtualised an application, imported the package into the Management Server but you are having issues publishing the package, streaming the application or getting it to launch, the first place to start is the the App-V client log.

The client log settings are managed in the Application Virtualization Client console (SFTCMC.MSC) – start the console and the logging settings can be viewed on the General tab:

Client properties

There are actually two places to which the the client will log errors – the Application event log (shown in the image under System Log Level) and the client log file; however the log file is generally the easiest to use when troubleshooting because it’s a flat text file.

Using the client log file

The default location for the log file is %ProgramData%\Microsoft\Application Virtualization Client\sftlog.txt. To view the log you can use something as simple as Notepad, but if you want to view it in real time, use SMS Trace (Trace32) from the ConfigMgr 2007 Toolkit.

To get more information out of the client, enable verbose mode, which will enable you to better identify the cause.

  1. Open the client console and view the client properties
  2. Set the Log Level to Verbose
  3. Click the Reset Log button to start with a clean log file

Resetting the log will rename the existing file and start a new one:

Log location

Note: once you have finished troubleshooting, don’t forget to set the logging level back to Information.

Here’s an example

In my test environment, I have a client machine (WIN71) and an App-V Management Server (APPV). I’ve imported a virtualised copy of Adobe Reader and assigned it to a set of users. On the client I have configured APPV as a publishing server; however when refreshing the client no shortcuts for Reader are created.

Viewing the App-V client log, I’ve narrowed down the following lines that show what’s going on during the refresh:

[09/23/2010 22:03:50:885 SWAP WRN\] {tid=B60:usr=aaron}  
Could not load OSD file \\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd

[09/23/2010 22:03:50:900 AMGR INF] {tid=B60:usr=aaron}  
The app manager could not create an application from '\\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd' (rc 0C405564-00000002).

If I set the log to verbose and try the refresh action again, I get more detail:

[09/23/2010 22:45:28:684 AMGR VRB\] {tid=B14:usr=woody}CreateApp(osd=\\domain.local\Public\Apps\AdobeReader9\_x86\AdobeReader9.osd, icon=\\domain.local\Public\Apps\AdobeReader9\_x86\AdobeReader9_x86 Icons\AdobeReader9.ico)

[09/23/2010 22:45:28:685 AMGR VRB] {tid=B14:usr=woody}  
Parsing type from url \\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd

[09/23/2010 22:45:28:686 SWAP VRB] {tid=B14:usr=woody}  
Initialize(osd=\\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd, origUrl=NULL)

[09/23/2010 22:45:28:687 OMGR VRB] {tid=B14:usr=woody}  
GetOsdFile(url=\\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd, origUrl=NULL name=NULL, ver=NULL)

[09/23/2010 22:45:28:688 OSDF VRB] {tid=B14:usr=woody}  
SWOsdFile(url=\\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd, origUrl=NULL, name=NULL, ver=NULL)

[09/23/2010 22:45:28:710 OSDF VRB] {tid=B14:usr=woody}  

[09/23/2010 22:45:28:712 OSDF VRB] {tid=B14:usr=woody}  
~SWOsdFile() complete

[09/23/2010 22:45:28:726 SWAP WRN] {tid=B14:usr=woody}  
Could not load OSD file \\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd

[09/23/2010 22:45:28:727 AMGR INF] {tid=B14:usr=woody}  
The app manager could not create an application from '\\domain.local\Public\Apps\AdobeReader9_x86\AdobeReader9.osd' (rc 0C405564-00000002).

If check the actual location of the OSD file, I can see that the package is not in the correct path (its actually located at \domain.local\Public\Apps\Adobe\AdobeReader9_x86):

OSD Location

To fix this issue, I need to update the application properties in the App-V Management console, I can then refresh the client again and the application will be published correctly.

Error Codes

This was a very simple example and the fix was quite obvious. In all cases though, the client log will include an error code – the same code will often be displayed in a dialog box:

Client error

If the problem is not immediately apparent in the log, start looking for a solution by using the error code. Falko Gräfe has an excellent article that explains how to interpret these error codes. In most cases, there will be an associated Microsoft knowledgebase article that should give a solution for the error.