Client Side Deployment Troubleshooting and Knowledge Base

  • KM996426
  • 13-Sep-2010
  • 06-Nov-2013

Summary

Client Side Deployment Troubleshooting and Knowledge Base

Question

Client Side Deployment Troubleshooting and Knowledge Base

Table of Content

Error formatting macro: toc: java.lang.NullPointerException

Overview

This page contains various resources that will help detecting problems and overcome client side deployment problems.

Basic information

  • QC 11 always runs in isolated mode. No registration is done ==> Registered components are not relevant.
  • Only single version of QC can be registered in the system.
  • Deploying QC in common mode (using the connectivity add-in), deploys and registers files in the system. This may affect SxS.
  • Site Admin deployment requires admin rights and is not supporting SxS.
    • One can't work with 2 different versions of Site admin
    • Working with QC 11 site admin? ==> QC 10 won't work.
    • Working with QC 10? ==> QC 11 site admin won't work.

Some Examples

  • The user connects to QC 10, admin rights are required ==> QC 10 files are deployed and registered in the system.
  • The user connects to QC 11, admin rights are not required ==> QC 11 files are deployed in the system. No registration is done.
  • The user deploys QC 11 files using common mode, admin rights are required ==> QC 11 files are deployed and registered in the system ==> QC 10 files are not relevant anymore. They are deployed on the machine but not registered.
  • IE should have the option "Allow previously unused ActiveX controls to run without prompt." enabled in order for Site administrator to work 

Answer

More complex Scenarios

Scenario #1: QC 10, QC 11 common mode

  • The user connects to QC 10, admin rights are required ==> QC 10 files are deployed and registered in the system.
  • The user deploys QC 11 files using common mode, admin rights are required ==> QC 11 files are deployed and registered in the system.
    ==> QC 10 files are not relevant anymore. They are deployed on the machine but not registered.
    ==> In order to work with QC 10, the user will have to re-deploy it. Admin rights are required.

Scenario #2:QC 11 common mode, QC 10

  • The user deploys QC 11 files using common mode, admin rights are required ==> QC 11 files are deployed and registered in the system.
  • The user connects to QC 10, admin rights are required ==> QC 10 files are deployed and registered in the system.
    ==> QC 11 files are not relevant anymore. They are deployed on the machine but not registered.

Scenario #3: Side admin 11, QC 11 common mode

  • The user connects to Site Admin 11, admin rights are required ==> Site admin 11 files are deployed and registered in the system.
  • The user deploys QC 11 files using common mode, admin rights are required ==> The browser must be closed before connecting to QC 11 since the files are in use by Site Admin. If the browser won't be closed, there is a chance that Spider won't be able to download the files since they are in use.

 Scenario #4: QC MAYA 11 & QC Explorer 11


 Scenario #5: QC installed with UAC and then disabling UAC and install QC again


Tests execution

When connecting from QTP/3rd party testing tool to QC, QC files from that server should be deployed and registered on the machine.

Let's examine some scenarios:

Scenario #1: QC 10, QTP connects to QC 11

  • The user connects to QC 10, admin rights are required ==> QC 10 files are deployed and registered in the system.
  • The user runs QTP and connects to QC 11 server, admin rights are required ==> QC 11 files are deployed and registered in the system. Note: QC 10 browser (from the first step) should be closed. If the browser won't be closed, there is a chance that Spider won't be able to download the files since they are in use.
    ==> QC 10 files are not relevant anymore. Next time the user will work with QC 10, QC 10 files should be re-deployed on the machine. Admin rights are required.

Scenario #2: QC 11, QTP connects to QC 11

  • The user connects to QC 11, admin rights are not required ==> QC 11 files are deployed in the system. No registration is done.
  • The user runs QTP and connects to QC 11 server, admin rights are required ==> QC 11 files are deployed and registered in the system. The download and registration is done by QTP (TDExtendedAPI).

Scenario #3: QC 11, QTP connects to QC 11, QC 10

  • The user connects to QC 11, admin rights are not required ==> QC 11 files are deployed in the system. No registration is done.
  • The user runs QTP and connects to QC 11 server, admin rights are required ==> QC 11 files are deployed and registered in the system. The download and registration is done by QTP (TDExtendedAPI).
  • The user connects to QC 10, admin rights are required ==> QC 10 files are deployed and registered in the system.
    ==> QC 11 files are not relevant anymore. They are deployed on the machine but not registered.
    ==> If the user will try to connect from QTP to QC 11 server, admin rights will be needed and the files will be re-deployed and re-registered in the system.

Others/Integrations

Working with the following requires QC 11 components to be deployed and registered on the machine ==> admin rights are required, common mode deployment should be done.
==>QC 10 files are not relevant anymore. They are deployed on the machine but not registered.
==> In order to work with QC 10, the user will have to re-deploy it. Admin rights are required.

  • Word add-in
  • Excel add-in
  • User scripts working with legacy OTA
  • HPSR

Troubleshooting

Deployment Folder

Debug URL

If files are not deployed into the debug folder, make sure you are using the correct URL which points to start_a.jsp file and not to start_a.htm, for example it's supposed to look like this: http://vmqcrnd14.devlab.ad:8081/qcbin/start_a.jsp?DebugClient=true.

If you tried to use the start_a.htm, then you will be redirected to start_a.jsp but you will lose the DebugClient parameter in the command line.

Manifest Files

Update to the manifest file does not take when process started

Root Cause: Caching in memory of activation context per executable.

Solution: Update time stamp of executable and try again. You can update time stamp of a file, in several ways:

  1. Use the touch command line tool on this page.
  2. Use FreeCommander or TotalCommander.
  3. Rebuild it.

IE Cache & Hot fixes on deployment server

AS you know every file downloaded by spider is cached by IE cache, depending on your IE cache configuration (if set to automatic or never update) this may cause a problem if deployment files are updated on server. In which case even though files were updated on server, when spider will try to load them he will get the copy from your local cache.

To mitigate this problem:

  1. If IE is not your main web client you can set it's cache settings to update always or each time you close IE.
  2. If IE is your primary client these cache settings can be a pain (slow download of web pages because not cached) you can manually clean your cache via IE options, or you can use this command line:
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

to clean IE cache. For fast access, you can create a shortcut with this command.

Client Logging

When running more than one instance of QC, only one of the instances will be able to write to the log with old log configuration. For updated log configuration go to Client logs page.

Possible implications and how to avoid \ fix them

On first time client debugging

On the first time you try to login to a server with DebugClient=true you might get an error message "Main application process failed to start".

To prevent this from happening you should:

  1. Connect to server with DebugClient=true
  2. Only then compile your .NET solution (make sure you synced with Bin\Debug folder too!)
  3. Then connect again to server with DebugClient=true

If you already have this problem the solution is to:

  1. Delete the folder C:\QC\ClientDeployment\Debug
  2. Follow steps 1-3 above.

Cleaning Deployment Folder

Some times you might want to clean the deployment folder to make sure all your static files have been downloaded correctly (some times needed if client does not load as expected).

When you do clean the folder, remember to check out Bin\Debug folder again from StarTeam, because it contains files which are not copied during debug.

Gray screen instead of ALM-Process

For more info check out SxS Framework bug on WinXP SP2 and SP3

Knowledge Base

SxS - Call to .NET COM implementation from the native code issue

In case the call to .NET COM fails in the native code (ex. you call CreateInstase() and it returns with class not found) the following article describes this problem and the way to resolve it:
http://rndwiki.atlanta.hp.com/confluence/display/qc/Using+.NET+COM+object+from+the+Native+Code+issue

SxS and the Event Log

Using the SxS Trace

Windows Vista comes with very handy tool for SxS troubleshooting, the SxsTrace application.
This command line application makes possible to monitor the process of creation of application manifest and to see points of failure.

Take into account:
1. SxsTrace is available on Windows Vista (not available on XP)
2. This tool helps to resolve the problems related to creation of activation context, the application initialization phase like: missing depended assemblies / manifests or invalid structure of the manifest file.
It does not cover issues related to missing COM declarations in manifests.

To operate application is pretty simple:
Open command prompt and type SxsTrace. It will print the usage help of the application.
The application has two modes - one to collect the log and second to parse the log into readable format.
To check the problem with the manifest, open command prompt window before starting IE and pointing it to QC server.

1. In command prompt type: SxsTrace Trace -logfile:C:\temp\mysxslog.etl and press enter.

2. At this point SxsTrace is started, now you can open IE and try to login to QC server.

3. After the error occurred. Go back to the command prompt and press enter to stop the log.

4. Run SxsTrace Parse -logfile:C:\temp\mysxslog.etl and press enter -outfile:c:\temp\mysxslog.txt

5. Open mysxslog.txt to see the point of failure

Since operatiing system caches the manifest, when changing the manifest, to see actually the result of change, the Last modified timestamp attribue of the executable should be modified.
Remember to run touch.exe your executable file name before each run (when you modify the manifest).

Analyzing SxsTrace log

Below is example of some sxstrace log file.
The problem was that QualityCenter.exe could not be started. (Please note that application QualityCenter.exe is now ALM-Client.exe)

The sxstarce output file

Click here to expand...

=================
Begin Activation Context Generation.
Input Parameter:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = en-US;en
ManifestPath = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Manifest
AssemblyDirectory = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\
Application Config File = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Config
-----------------
INFO: Parsing Application Config File C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Config.
INFO: Parsing Manifest File C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Manifest.
INFO: Manifest Definition Identity is (null).
INFO: Reference: application.sxs,type="win32",version="1.0.0.0"
INFO: Resolving reference application.sxs,type="win32",version="1.0.0.0".
INFO: Resolving reference for ProcessorArchitecture application.sxs,type="win32",version="1.0.0.0".
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\application.sxs.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\application.sxs.MANIFEST.
INFO: Manifest found at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\application.sxs.MANIFEST.
INFO: End assembly probing.
INFO: Resolving reference application.sxs.mui,language="*",type="win32",version="1.0.0.0".
INFO: Resolving reference for ProcessorArchitecture application.sxs.mui,language="*",type="win32",version="1.0.0.0".
INFO: Resolving reference for culture en-US.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en-US.
INFO: End assembly probing.
INFO: Resolving reference for culture en.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en.
INFO: End assembly probing.
INFO: Parsing Manifest File C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\application.sxs.MANIFEST.
INFO: Manifest Definition Identity is application.sxs,type="win32",version="1.0.0.0".
INFO: Reference: extensions.sxs,type="win32",version="1.0.0.0"
INFO: Reference: QCClient.UI.Customization,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999"
INFO: Reference: BuiltInScriptView,processorArchitecture="msil",version="11.0.828.0"
INFO: Reference: QCClient.PerformanceMonitor,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999"
INFO: Resolving reference extensions.sxs,type="win32",version="1.0.0.0".
INFO: Resolving reference for ProcessorArchitecture extensions.sxs,type="win32",version="1.0.0.0".
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\extensions.sxs.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\extensions.sxs.MANIFEST.
INFO: Manifest found at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\extensions.sxs.MANIFEST.
INFO: End assembly probing.
INFO: Resolving reference extensions.sxs.mui,language="*",type="win32",version="1.0.0.0".
INFO: Resolving reference for ProcessorArchitecture extensions.sxs.mui,language="*",type="win32",version="1.0.0.0".
INFO: Resolving reference for culture en-US.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en-US.
INFO: End assembly probing.
INFO: Resolving reference for culture en.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en.
INFO: End assembly probing.
INFO: Resolving reference QCClient.UI.Customization,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999".
INFO: Resolving reference for ProcessorArchitecture msil.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_MSIL\QCClient.UI.Customization\10.0.0.9999__792843134cf0407a\QCClient.UI.Customization.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.UI.Customization.DLL.
INFO: Manifest found at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.UI.Customization.DLL.
INFO: End assembly probing.
INFO: Resolving reference QCClient.UI.Customization.mui,language="*",processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999".
INFO: Resolving reference for ProcessorArchitecture msil.
INFO: Resolving reference for culture en-US.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_MSIL\QCClient.UI.Customization.mui\10.0.0.9999_en-US_792843134cf0407a\QCClient.UI.Customization.mui.DLL.
INFO: Did not find manifest for culture en-US.
INFO: End assembly probing.
INFO: Resolving reference for culture en.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_MSIL\QCClient.UI.Customization.mui\10.0.0.9999_en_792843134cf0407a\QCClient.UI.Customization.mui.DLL.
INFO: Did not find manifest for culture en.
INFO: End assembly probing.
INFO: Resolving reference BuiltInScriptView,processorArchitecture="msil",version="11.0.828.0".
INFO: Resolving reference for ProcessorArchitecture msil.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\BuiltInScriptView.DLL.
INFO: Manifest found at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\BuiltInScriptView.DLL.
INFO: End assembly probing.
INFO: Resolving reference BuiltInScriptView.mui,language="*",processorArchitecture="msil",version="11.0.828.0".
INFO: Resolving reference for ProcessorArchitecture msil.
INFO: Resolving reference for culture en-US.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en-US.
INFO: End assembly probing.
INFO: Resolving reference for culture en.
INFO: Applying Binding Policy.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Did not find manifest for culture en.
INFO: End assembly probing.
INFO: Resolving reference QCClient.PerformanceMonitor,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999".
INFO: Resolving reference for ProcessorArchitecture msil.
INFO: Resolving reference for culture Neutral.
INFO: Applying Binding Policy.
INFO: No publisher policy found.
INFO: No binding policy redirect found.
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_MSIL\QCClient.PerformanceMonitor\10.0.0.9999__792843134cf0407a\QCClient.PerformanceMonitor.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.PerformanceMonitor.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.PerformanceMonitor.MANIFEST.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.PerformanceMonitor\QCClient.PerformanceMonitor.DLL.
INFO: Attempt to probe manifest at C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QCClient.PerformanceMonitor\QCClient.PerformanceMonitor.MANIFEST.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
ERROR: Cannot resolve reference QCClient.PerformanceMonitor,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999".
ERROR: Activation Context generation failed.
End Activation Context Generation.

The first thing to look for is the name of the application you are running. In our case it is QualityCenter.exe.

Begin Activation Context Generation. Input Parameter: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US;en ManifestPath = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Manifest AssemblyDirectory = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\ Application Config File = C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\QualityCenter.exe.Config

From this line we are sure that we are looking at the log that is relevant for our application.
The next step is to find out the problem. It is easy. Just look for word error in the file. In our case we get:

ERROR: Cannot resolve reference QCClient.PerformanceMonitor,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999".

OK now we know that the reason for the failure is QCClient.PerformanceMonitor assembly.
If we look for QCClient.PerformanceMonitor from the beginiong of the log, we can see that application.sxs.manifest has a reference to QCClient.PerformanceMonitor assembly/manifest.

INFO: Parsing Manifest File C:\Users\veigman\AppData\Local\HP\ApplicationLifecyclePlatform\f9536fae-07a1-4737-9d1a-af9500c8a0fb\application.sxs.MANIFEST. INFO: Manifest Definition Identity is application.sxs,type="win32",version="1.0.0.0". INFO: Reference: extensions.sxs,type="win32",version="1.0.0.0"INFO: Reference: QCClient.UI.Customization,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999"INFO: Reference: BuiltInScriptView,processorArchitecture="msil",version="11.0.828.0"INFO: Reference: QCClient.PerformanceMonitor,processorArchitecture="msil",publicKeyToken="792843134cf0407a",version="10.0.0.9999"

Now, we need to find out what is the problem with QCClient.PerformanceMonitor assembly/manifest.
We need to verify that there is a manifest file that corresponds to QCClient.PerformanceMonitor assembly or QCClient.PerformanceMonitor has embedded manifest.
Actually, since we know that this assembly is .NET assembly the manifest should be embedded into the assembly.
Run some application that can show the resources of DLL, or just use MS Visual Studio and grab the QCClient.PerformanceMonitor.dll into it.
Check the resources, and in our example the problem was that this assembly didn't have an embedded manifest that caused activation context creation failure.

External resource on SxsTrace

To see more information on SxsTrace please refer to Diagnosing SideBySide failures article.