Un peu cavalier DxO...

Démarré par Cytochrome, Avril 25, 2016, 12:55:52

« précédent - suivant »

Samoreen

Citation de: titroy le Avril 27, 2016, 08:37:05
Je pense que Dop recherche la dll dans le même repertoire que l'exe en question.
C'est le cas pour un grand nombre de dll.

Le processus de recherche des DLLs est le suivant (si le module principal ne précise directement un chemin d'accès particulier):

1. Le système cherche la DLL dans le dossier de l'exécutable.
2. Si elle ne s'y trouve pas, le système cherche la DLL dans les dossiers spécifiés dans la variable d'environnement PATH, dans l'ordre indiqué dans cette variable.

Pour afficher la variable d'environnement PATH, ouvrir une invite de commande et entrer la commande : echo %PATH% <entrée>
Patrick

Samoreen

Patrick

Cytochrome

La 9.5.2 c'est justement la version qui était installée et qui plante. Par acquis de conscience je l'ai téléchargée "de frais" chez DxO, installée et elle a immédiatement planté!!!

Donc

- ce n'est pas le vilain Windows qui a modifié un truc, j'ai WIn10 depuis qu'il est sorti, et comme tout le monde je n'ai pas eu d'ennui

- c'est DxO Labs qui entre la première version de la V9 et la dernière update a modifié quelque chose qui rend le programme incompatible avec Win 10 64 bits

- j'en ai plein les bottes, merci à tout le monde

Francis

gerarto

Citation de: Cytochrome le Avril 27, 2016, 14:11:28
La 9.5.2 c'est justement la version qui était installée et qui plante. Par acquis de conscience je l'ai téléchargée "de frais" chez DxO, installée et elle a immédiatement planté!!!

Donc

- ce n'est pas le vilain Windows qui a modifié un truc, j'ai WIn10 depuis qu'il est sorti, et comme tout le monde je n'ai pas eu d'ennui

- c'est DxO Labs qui entre la première version de la V9 et la dernière update a modifié quelque chose qui rend le programme incompatible avec Win 10 64 bits

- j'en ai plein les bottes, merci à tout le monde

Francis

Soyons un peu sérieux, tout de même :

- la dernière version de DxO V9, si j'en crois mes archives est la V 9.5.3. La mienne est datée du 13/09/2014, ce qui doit correspondre à sa date de sortie à un ou deux jours près.

- Windows 10 est sorti officiellement le 29 juillet 2015.

Comment DxO aurait pu modifier quelque chose en 2014 qui rendrait cette version incompatible avec un OS qui n'allait sortir que presque un an plus tard ?  :o
C'est un peu "retour vers le futur" cette histoire, non ?

THG

Tout ce cirque, juste pour faire l'économie d'une mise à jour payante  ;)

THG

Et je ne pense pas que DxO Labs ait modifié quoi que ce soit dans le dos des utilisateurs. C'est une accusation et c'est pas très sympa pour eux.

D'ailleurs, je reproduis le guide utilisateur ci-dessous, et qui est très clair. Officiellement, DOP 9 n'est pas compatible avec Win10 et, donc, sachant qu'une version 11 va voir le jour cette année, je pense qu'aligner des pages et des pages de discussions pour contourner le problème est tout à fait inutile.


Cytochrome

Ah voila THG...

Si tu lis le premier post tu verras que je ne demandais rien du tout, je signalais un fait. Et j'indiquais que pour moi c'était fini avec DxO. Et si tu lisais un peu la suite tu aurais vu que le support de DxO m'avait déjà répondu que DxO9 était incompatible avec Win10.

Ce sont les gentils membres qui émus et avec une âme de bidouilleurs m'ont proposés des solutions qui ne fonctionnent hélas pas. Et comme je l'ai déjà dit l'usage que j'ai de DxO (< 1% de mes images) est très faible. Donc exit DxO.

Porte toi bien

Francis

THG

Citation de: Cytochrome le Avril 27, 2016, 17:33:02
Ah voila THG...

Si tu lis le premier post tu verras que je ne demandais rien du tout, je signalais un fait. Et j'indiquais que pour moi c'était fini avec DxO. Et si tu lisais un peu la suite tu aurais vu que le support de DxO m'avait déjà répondu que DxO9 était incompatible avec Win10.

Ce sont les gentils membres qui émus et avec une âme de bidouilleurs m'ont proposés des solutions qui ne fonctionnent hélas pas. Et comme je l'ai déjà dit l'usage que j'ai de DxO (< 1% de mes images) est très faible. Donc exit DxO.

Porte toi bien

Francis

J'avais très bien compris, et j'étais d'humeur taquine aujourd'hui :-), mais je me suis dit que tu aurais peut-être voulu continuer à profiter du PRIME, par exemple.

sebs

Citation de: Samoreen le Avril 27, 2016, 10:15:05
Le processus de recherche des DLLs est le suivant (si le module principal ne précise directement un chemin d'accès particulier):

1. Le système cherche la DLL dans le dossier de l'exécutable.
2. Si elle ne s'y trouve pas, le système cherche la DLL dans les dossiers spécifiés dans la variable d'environnement PATH, dans l'ordre indiqué dans cette variable.

Pour afficher la variable d'environnement PATH, ouvrir une invite de commande et entrer la commande : echo %PATH% <entrée>

Pour la petite histoire:
J'ai eu une fois, comme développeur, à investiguer un problème de chargement de dll sous windows (7).
C'était un problème à s'arracher les cheveux, le logiciel sur lequel je bossais, pour une banque, fonctionnait sur certains postes et pas d'autres... Pourtant la dll incriminée était d'office dans le dossier de l'éxécutable!
En creusant dans les méandres de windows (merci le web!) j'avais fini par trouver comment les dlls sont chargées dans windows: il y a un ordre "officiel" pour la recherche, mais il y a aussi des "raccourcis": certaines dll, dont des dll système, mais aussi qui peuvent être spécifiées par un installeur, peuvent avoir des priorités de dossier différentes!
Sans compter qu'en mémoire cache (dans la ram de windows), il peut y avoir plusieurs versions d'un dll, et que là la priorité peut aussi changer et que ça peut donc vite devenir un "beau bousin"  ;D
Bref, la conclusion avait été que c'était un autre logiciel, parfois installé, qui mettait la grouille, en imposant d'utiliser ses dlls à lui, bien qu'elles n'étaient pas mises dans les dossiers officiels de windows...

Aaaah, les joies de Microsoft  :D

Parfois ça peut dépanner de lancer le soft en administrateur (problème de droits), mais vu que là ça a déjà été testé en désactivant l'UAC c'est un autre souci..

Samoreen

Citation de: sebs le Avril 27, 2016, 20:45:22
En creusant dans les méandres de windows (merci le web!) j'avais fini par trouver comment les dlls sont chargées dans windows: il y a un ordre "officiel" pour la recherche, mais il y a aussi des "raccourcis": certaines dll, dont des dll système, mais aussi qui peuvent être spécifiées par un installeur, peuvent avoir des priorités de dossier différentes!

En fait, il y a un moyen de savoir où un exécutable donné va aller chercher une DLL donnée, dans un contexte donné, au moment du chargement. Il faut installer le Dependency Walker qui fait normalement partie des outils des SDKs Windows mais qu'on peut trouver assez facilement en téléchargement individuel. Une fois l'exécutable analysé par Dependency Walker (clic-droit | View Dependencies), on sait exactement quelle sera la DLL chargée effectivement quand le programme sera exécuté. C'est très pratique pour régler les problèmes évoqués plus haut. Par contre, ça fonctionne mal avec les programmes comme DOP qui sont des programmes mixtes .Net Framework / Win64 où le passage du mode managé au mode non managé est toujours problématique.

Cette analyse ne vaut que pour les chargements implicites (ou statiques) de DLLs (quand le programme est simplement lié (linké) avec la bibliothèque d'export de la DLL). Pour les chargements explicites (dynamiques), Dependency Walker ne peut rien faire (dans ce cas, le programme n'est pas lié à la bibliothèque d'import de la DLL mais décide en cours d'exécution s'il va charger ou non cette DLL - et laquelle, selon ses besoins - en précisant lui-même le chemin d'accès et en cherchant dynamiquement les points d'entrée de la DLL).
Patrick