I publish this error as its cause was really weird:

I was getting an error when trying to start any Management Console related program (mmc.exe based admin tool), like Certificates, Event Viewer, etc.

The error was:

“The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail”

Something like the following Message-box, but showing the specific path file I was trying to execute (and always based on the MMC.EXE).

image

But because of I couldn’t open the Event Viewer, I couldn’t see its related error…

I searched in the internet for similar errors, and that error is very common when you don’t have the right Visual C++ Redistributable Package (x86 or x64), etc.

I installed all 2008 & 2010 versions of the Visual C++ Redistributable Package, but I still was getting the same error…

Then I tried using the sxstrace.exe tool.

For running sxstrace.exe, go to Visual Studio command prompt and type sxstrace.exe.

Usage is as follows:

  1. Before running your application, run sxstrace in trace mode:

 sxstrace.exe Trace -logfile:C:\MySxSTrace.log

  1. Reproduce the error by starting your application
  2. Now stop the trace by using the below command

 sxstrace.exe Parse -logfile:C:\MySxSTrace.log -outfile:C:\MySxSTrace.txt

  1. Open output file from C:\MySxSTrace.txt

Then I could see the trace file, and at the end there was an error:

INFO: Parsing Application Config File C:\Windows\system32\mmc.exe.Config.
    ERROR: Line 0: XML Syntax error.
ERROR: Activation Context generation failed.
End Activation Context Generation.

Mmmm, weird, it seems a problem regarding the XML configuration file for the mmc.exe…, but I didn’t touch that config-file, still…, I opened and saw the following content…:

configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.WindowsAzure.StorageClient"
                           publicKeyToken="31bf3856ad364e35"
                           culture="neutral" />
         <bindingRedirect oldVersion="1.0.0.0"
                          newVersion="1.1.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.WindowsAzure.StorageClient"
                           publicKeyToken="31bf3856ad364e35"
                           culture="neutral" />
          <publisherPolicy apply="no" />
       </dependentAssembly>
 
      </assemblyBinding>
   </runtime>
</configuration>

Hey!, the first ‘<’ character is missing!!…, why?

Anyway, I just went ahead and put the right ‘<’ before “configuration>”

And there we go!, I can now start the mmc.exe or any other program based on the mmc.exe!!

It is strange…, why did that config file lose that character?. Maybe because of any program installation, but it was really weird.  Smile

BTW, this post regarding ‘Diagnosing SideBySide failures’ seems quite detailed. If my cause/problem is different than yours, try the following procedure:

http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx