It has come to our attention on the Windows CardSpace team that occasionally there are compatibility issues between CardSpace and other applications.  One cause of issue is our use of a private desktop.  While the private desktop can not be accessed by programs running as the user; a program can switch to the user desktop so that the user can no longer access the CardSpace UI.  The goal of this post is to give you the necessary information to diagnose when an application is conflicting with CardSpace, and provide as much guidance as possible in how to resolve the situation.

What if CardSpace fails when launched?

 

Let’s say you try and invoke CardSpace by double clicking the “Windows CardSpace” icon in the control panel.  If you were to see nothing happen at all, see a flash of the private desktop, or maybe if you see a couple seconds of the private desktop before you are switched  back to the user desktop; you may think to yourself, “Whoa!  What happened?”.   If you try to invoke CardSpace again you might get this message:

 

Since the message asked politely, you go and look at the “Application” Event Log and check the latest entry for CardSpace.  Even if you’re not asked, it’s a good idea to look in the event log if you’re having issues. Let’s suppose you see this:

 

This message indicates that CardSpace is still open.  If the UI had closed during the first failed attempt, then it wouldn’t have been too busy to start the second time.  This means that CardSpace is likely still running, and you just can’t see the UI.  You should check the task manager for the two entries I have circled below: 

 

These two entries prove that CardSpace did not crash; the CardSpace UI was simply hidden when you were switched away from the private desktop.  The error message appears after the second launch attempt due to the fact that the CardSpace service is still running, and can’t start a second instance.

 

How do I find out which process is causing the problem?

 

Unfortuntely, up to this point, you probably don’t know which process could be causing the distress.  Here comes the hard part.  In order to find who may be switching you back to the user desktop  it may be necessary to kill every non-essential process, then re-introduce them one at a time to pinpoint the exact culprit.  Sites like http://www.processlibrary.com/ provide a quick way to lookup processes to ascertain if they are critical to the operation of your system.  It may also be helpful to check the CardSpace MSDN forums for applications that have been noticed to cause issues.

Anti-virus suites, password managers, and other security application are all candidates for application incompatibility.  These can be a problem when they injudiciously disallow private desktops resulting in CardSpace being collateral damage.

As of now, once the interfering application is found, the only way to regain CardSpace functionality is to ensure that said application is not running when you use CardSpace.  However, if you encounter a problem please let us know on the forum so that we can investigate and follow up where we can.

What now?

 

I am well aware that application incompatibility is a pain.  In an ideal world CardSpace would always work regardless of what applications are installed on your machine.  Unfortunately in computing, programs sometimes have competing interests and compatibility issues cannot always be avoided.  I can assure you that application compatibility, as it pertains to overall CardSpace usability, will always be considered in future releases, as will our commitment to a high level of security.

 

You may have noticed I didn’t mention anything about browser plug-ins.  If you can start CardSpace from the Control Panel, but cannot invoke it from the browser, it is possible that a plug-in is the culprit.  I view this as a completely separate issue, since the root cause is significantly different.  I will post a separate entry on plug-ins in the near future.

 

Thanks,

Brian Houck

SDET – Windows CardSpace