Mscoree.dll

Résolu
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 - 30 juin 2005 à 00:21
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 30 juin 2005 à 09:36
Bonjour,

je viens de me rendre compte qu'en compilant un programme avec visual
studio 7, l'exe généré est ou bien dépendant de msvcr7x.dll
(bibliotheque run time: DLL multi thread) ou bien de mscoree.dll
(bibliotheque run time: multi thread ou single thread).

Le pb est que mscoree.dll est pas présente sur tous les pcs, vu qu'il
s'agit d'un composant (il me semble) du .Net Framework, et que les
C-Run time msvcr7x.dll ne sont non plus pas présentes sur tous les pcs
(viennent avec l'installation de vs)



Donc ma question: est il possible de compiler un programme sous visual
studio 7 qui puisse tourner sur n'importe quel PC sans ajout de DLL ???

10 réponses

cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 00:31
ouf

en fait je viens de me rendre compte avec depends que un prog compilé
avec la C-run time multi thread ou single thread ne dépend de pas
beaucoup de DLL.

En fait mscoree.dll apparait en hexa dans l'exe généré, mais .depend ne me dit PAS qu'il s'agit d'une DLL dont dépend l'exe.

donc ouf tout a l'air de bien aller, meme s'il reste à savoir pour ce string apparait dans un exe compilé avec vs 7 ...

si quelqu'un a une idée ?
3
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 09:26
ha ca va te faire plaisir ;)

il semblerait que c'est qd tu utilises la C-Run Time justement (fais un #include <math.h> et calcule un cos qq part).

c'est la liaison avec libc.lib ou libcmt.lib de vs qui ajoute ce bla bla ds l'exe.

on dirait qu'on peut pas le virer des qu'on se sert d'une lib standard
1
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2005 à 00:56
Mscoree.dll est le runtime principal du framework .net, elle ne doit donc jamais apparaître dans un exe 'normal', ni en string interne et encore moins en dépendance. On ne devrait jamais avoir en dépendances que les grosses DLLs de Windows (kernel32, Gdi32 et User32) plus quelques auxiliaires si besoins spécifiques, Msvcrt.dll devrait encore moins y être.
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 00:57
salut,

j'ai trouvé le string mscoree.dll meme dans tes sources, amuse toi avec un éditeur hexa :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 01:03
en fait c'est meme ds toutes tes sources, reste effectivement a savoir ce que ca vient foutre la ...
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 01:04
tiens, rename un exe que tu as généré en nomprog.txt, et meme avec notepad tu vas voir des trucs:

CorExitProcess mscoree.dll runtime error

TLOSS error

SING error

DOMAIN error

R6029

- This application cannot run using the active version of the Microsoft .NET Runtime

Please contact the application's support team for more information.

R6028

- unable to initialize heap

R6027

- not enough space for lowio initialization

R6026

- not enough space for stdio initialization

R6025

- pure virtual function call

R6024

- not enough space for _onexit/atexit table

R6019

- unable to open console device

R6018

- unexpected heap error

R6017

- unexpected multithread lock error

R6016

- not enough space for thread data



This application has requested the Runtime to terminate it in an unusual way.

Please contact the application's support team for more information.

R6009

- not enough space for environment

R6008

- not enough space for arguments

R6002

- floating point not loaded







tout ca dans un de tes exe (les miens ne font pas mieux hein); tiré de cppfrance_source_27961
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2005 à 01:18
ah je vérif, j'en avais pourtant regardé un (à la va-vite) et rien vu.
Dans tous les cas, surtout pas de dépendance, le reste inutile mais pas grave.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2005 à 01:40
pas besoin de renommer, notepad ouvre bien un exe et fort exact, y a bien mscoree notée.
Je vais tacher de me renseigner pourquoi ils ont inclus cela et s'il y a moyen d'enlever.
Si vraiment tu ne veux pas l'y trouver, compile celle-ci:
http://www.cppfrance.com/code.aspx?ID=31892
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
30 juin 2005 à 09:19
ben ta source a l'air de montrer que ca doit dépendre d'un flag qui est enclenché ou non, reste à trouver lequel.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2005 à 09:36
Tout à fait, c'est inclus dans la libc tout ce verbiage.
0
Rejoignez-nous