### Scenario
Consider the following scenario:
* You have a shared computer and the computer has lots of popular applications installed. (IE8, IE9, Outlook Express, Windows Live Mail, Windows Live Messenger, GTalk, Firefox, Opera, Download Managers, ...)
* When someone uses one of these applications, the application creates a profile/setting file/registry entry to save the account info (username and/or password)
* You are asked to discover the accounts used by those applications.
So, when you run the discovery application, it must look for account info used by those applications and output the account name. Passwords are not required.
### Technical Requirements
* Discovery modules must implement an interface so that new applications can be added easily
* C# or VB.NET can be used
* 32 and 64 bit Windows versions must be supported
* Windows XP/2003, Windows Vista, Windows 7/2008 must be supported
* Output must include at least the following fields:
* Application Name (e.g. LiveMessenger, RDP, FTP, OutlookExpress, ...)
* Version (e.g. 10.0)
* Profile location (e.g. Registry, CredentialStore, FileSystem)
* AccountName (e.g. <johndoe@[login to view URL]>)
* Output method must be a virtual/overridable method
### Example applications
The attached file shows the common applications and the locations where they store their account information.
## Deliverables
Please see the attached file.