Inhalt von Manifesten

15/03/2011 - 16:17 von Arno | Report spam
Hallo zusammen,

ich bilde zur Zeit einen Server mit VS 2008 für eine 64 Bit
Architektur (cross compile). Beim Linken wird unten stehendes Manifest
eingebettet.
Wenn ich den Server auf dem Zielrechner laufen lasse, der ein
installiertes und aktuelles vcredist hat bekomme ich trotzdem einen
side-by-side Konflikt und der Server startet nicht.
Mein Problem ist folgendes: Wie beeinflusse ich den Inhalt der
Manifest Datei sinnvollerweise? Aktuell stehen drei Versionen der CRT
Lib drin (s.u.). Woran erkenne ich, wie die Eintràge gemeint sind?
Nach meinem aktuellen Kenntnisstand gehe ich davon aus, dass dort die
minimal notwendige Version der CRT drin steht, es sieht aber momentan
so aus, als ob die genaue Versionsnummer installiert sein muss. Habe
ich da etwas komplett falsch verstanden?

Vielen Dank für eure Hinweise
Gruß
Arno

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1'
manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.21022.8' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.30729.1' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.30729.4148' processorArchitecture='amd64'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
 

Lesen sie die antworten

#1 Martin Richter [MVP]
15/03/2011 - 16:32 | Warnen spam
Hallo Arno!

Woran erkenne ich, wie die Eintràge gemeint sind?
Nach meinem aktuellen Kenntnisstand gehe ich davon aus, dass dort die
minimal notwendige Version der CRT drin steht, es sieht aber momentan
so aus, als ob die genaue Versionsnummer installiert sein muss. Habe
ich da etwas komplett falsch verstanden?



Korrekterweise dar und sollte nur ein einziger Eintrag drin stehen.
Du hast ein Gesmisch aus mehreren Libs gelinkt, die alle mit
unterschiedlichen CRT Versionen gebaut wurden.

Verwende einheitlich eben nur eine CRT Version, vorzugsweise den letzten
Build.

Ich vermeide diesen Manifest Quatsch grundsàtzlich und installiere
applikationslokal, wie es VS-2010 jetzt auch wieder erlaubt.
Siehe auch:
http://blog.m-ri.de/index.php/2008/...d-vc-2008/

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com

Ähnliche fragen