Je prends en charge une application .NET qui a été compilée sur un PC avec ArcGIS 10.1 installé. L'application comprend une interface utilisateur et une extension de bureau ArcGIS, ainsi qu'un ensemble d'installation qui est appelé par Windows Installer pour enregistrer l'extension de bureau pendant l'installation.
Le problème que j'ai est que l'application ne fonctionnera pas sur un PC avec ArcGIS 10.2 parce que les assemblys ESRI 10.1 ne sont pas trouvés et se bloquent. Il semble que depuis la v9.3, ESRI ne fournit plus de fichiers de stratégie d'éditeur pour rediriger le programme au moment de l'exécution vers les dernières versions.
J'ai réussi à rediriger le programme pour charger les assemblys 10.2 en ajoutant une liaison d'assembly d'exécution dans le fichier .exe.config de l'application. Cependant, cela ne redirige pas l'extension de bureau et ne résoudra pas le problème avec le programme d'installation à la recherche des bibliothèques 10.1 lors de l'installation de l'application.
La solution d'ESRI semble être de recompiler l'application chaque fois qu'une nouvelle version d'ArcGIS est publiée. Cependant, cela signifie que je devrais avoir une copie de chaque version d'ArcGIS que les utilisateurs finaux utilisent. Et je devrais désinstaller et réinstaller différentes versions chaque fois que je dois changer le code d'application afin de le recompiler.
Est-ce que quelqu'un a des suggestions? Les bibliothèques peuvent-elles être chargées dynamiquement lors de l'exécution pour éviter de rechercher une version spécifique? N 'y a-t-il pas une autre solution?
Il peut être préférable pour vous de changer votre architecture de projet en un complément ESRI. De cette façon, vous éviterez de traiter avec Windows Installer qui, si je comprends bien, votre architecture traite avec le registre Windows.
Les compléments sont beaucoup plus simples, ne nécessitent pas d'installateurs spécifiques à Windows, ils sont simplement livrés sous forme de fichier .zip spécial qui est le type de fichier .esriAddIn et sont ceux recommandés par ESRI. Ceux-ci ne traitent pas du registre Windows, seulement ESRI et s'installent en un clic du fichier. Ils devraient mieux appliquer les changements suggérés par Rich Wawrzonek.
De plus, ESRI a déclaré ( voir dans la présentation ici ) que dans les versions principales, c'est-à-dire que les compléments 10.x sont rétrocompatibles, c'est-à-dire que 10.2 peut utiliser les compléments 10.1 et 10.0, 10.1 peut utiliser les compléments 10.0. Avec la mise en garde que vous devez savoir si des éléments ont été supprimés ou modifiés dans ArcObjects lors de la transition.
Par exemple, la signature de méthode pour la méthode OnContextMenu a été modifiée dans 10.2 pour les interfaces suivantes:
En ce qui concerne les suppressions, les seules suppressions en 10.2 étaient :
Le reste des modifications ont été des fonctionnalités ajoutées.
Pour répondre à votre question dans les commentaires ci-dessous, Oui, cela devrait garantir que vous n'avez pas à compiler pour différentes versions d'Arc (tant que vous restez dans 10.x). Quand ils passeront à 11, cela peut être une autre histoire. En ce qui concerne MapInfo, je ne suis pas familier avec cela.
la source