Installing applications using Microsoft runtime .dll's: Difference between revisions

From Yggenyk
Jump to navigation Jump to search
Line 36: Line 36:
* [http://msdn.microsoft.com/en-us/library/ms235342(v=vs.80).aspx Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies *** - Microsoft]
* [http://msdn.microsoft.com/en-us/library/ms235342(v=vs.80).aspx Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies *** - Microsoft]


==Ways to distribute the dependencies==
====Installing copy in local folder====
====Installing copy in local folder====
Create a sub folder called '''Microsoft.VC80.CRT''' in same folder where the .exe filel is located.
Create a sub folder called '''Microsoft.VC80.CRT''' in same folder where the .exe filel is located.
Line 46: Line 47:
The files can be downloaded here:
The files can be downloaded here:
* [http://www.yggenyk.dk/wiki/images/Microsoft.VC80.CRT.zip Microsoft.VC80.CRT.zip]
* [http://www.yggenyk.dk/wiki/images/Microsoft.VC80.CRT.zip Microsoft.VC80.CRT.zip]
====Embed manifest, and add merge module to installation====


====Installing merge module====
====Installing merge module====

Revision as of 17:22, 10 March 2012

Side By Side error

If you build an application that uses native .dll's that uses Microsoft Visual C++ runtime .dll's you need to install these runtime .dll's together with your application, or you will get errors like these:


SideBySide error dialog.png


In the event log, there is an Event 33, SideBySide error.

Activation context generation failed for "C:\Release\NativeManifestTest.exe". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" could not be found. Please use sxstrace.exe for detailed diagnosis.

If you start the application from Microsoft Visual Studio, you can get the error:

Error while trying to run project: Unable to start program 'C:\dev\mickey\NativeManifestTest\NativeManifestTest\bin\Release\NativeManifestTest.exe'.
This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix this problem. For more details, please see the application event log.

WinSxs Tracing Utility

SxsTrace.exe is an application that traces why an executeable can't find it's dependencies. Usage: SxsTrace [Options]
Options:

Trace -logfile:FileName [-nostop]
Enabling tracing for sxs.
Tracing log is saved to FileName.
If -nostop is specified, will not prompt to stop tracing.
Parse -logfile:FileName -outfile:ParsedFile [-filter:AppName]
Translate the raw trace file into a human readable format and save the result to ParsedFile.
Use -filter option to filter the output.
Stoptrace
Stop the trace if it is not stopped before.

Example: SxsTrace Trace -logfile:SxsTrace.etl

SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt

Assembly Searching Sequence

Ways to distribute the dependencies

Installing copy in local folder

Create a sub folder called Microsoft.VC80.CRT in same folder where the .exe filel is located. Place following 4 files in the Microsoft.VC80.CRT folder

  1. Microsoft.VC80.CRT.manifest
  2. msvcm80.dll
  3. msvcp80.dll
  4. msvcr80.dll

The files can be downloaded here:

Embed manifest, and add merge module to installation

Installing merge module

Installing runtime modules using standalone installers

<google>ENGELSK</google>

id=siteTree