Salut,

Envoyé par
unmanos
Depuis les nouveau systeme de dependances DLL de microsoft, j'ai nomme SxS tu ne peux plus copier comme ca les DLL (enfin celle de CRT) dans ton system32 et t'attendre a ce que ca marche. Elle doivent etre enregistrer (un peu comme un regsvr qui enregistre les composants COM).
Ce n'est pas obligé, il est toujours possible de copier les DLL (mais pas dans system32, qui faisait ça "avant" d'ailleurs ?!), c'est ce qui s'appelle library DLLs as private assemblies. Les différentes possibilités de structures sont décrites dans assembly searching sequence.
Par contre ça veut dire qu'il ne faut pas mélanger plusieurs versions des CRT sur un exécutable (et les DLL qui l'accompagnent), ça a l'air évident comme ça mais ça arrive beaucoup plus vite qu'on ne croit (les CRT différent entre vc80 RTM et vc80 SP1 notamment).
Donc au final pour moi le plus simple reste le 'private side-by-side assemblies'.
Pour vérifier la version des CRT utilisée en général je fais un truc genre :
grep -s -H -o -a -E ' name="Microsoft.VC80.CRT" version="([^"]*")' *.exe *.dll
Si ça sort plusieurs versions, c'est moche ! 
MAT.
Partager