Using phone 7 capability detection tool
When you’re developing a phone 7 application you have access to a wide range of capabilities, they enable access to networking, different sensors on your phone device, identity functionality and so forth. When you create a new phone 7 application in visual studio all of them are enabled, check the ‘capabilities’ section in your WMAppManifest.xml file to see which of them are enabled in your application.
When an application is submitted to the phone marketplace it goes through a submission process. One of the steps in this process is the detection of the required capabilities for that particular application. The submission process also replaces the auto-generated capabilities list with the specific capabilities required for your application.
It is strongly recommended to test applications based on the exact phone capabilities required by the application. Various end-user issues can occur if an application is not tested based on the specific capabilities required by your application.. To make this easy, as of the October 2010 update, a capability detection tool is included in the Windows Phone Developer Tools.
Open a command prompt, go to the folder containing the capability detection tool (Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Tools\CapDetect) and execute the CapabilityDetection.exe with the Rules.xml file and the path to the output folder of your application containing the binaries. After you’ve run the tool you’ll get a list of the capabilities needed in your application. Go to the capabilities section of the WMAppManifest.xml file and remove the unnecessary ones.
For more information visit: http://msdn.microsoft.com/en-us/library/gg180730(v=VS.92).aspx

Good explanation. It’s useful for me to execute capability detection exe in command prompt