Plusieurs utilisateurs ont rencontrés des problèmes sous ViSit Anywhere, en relation avec les transformations de coordonnées. Ces erreurs surviennent alors dès qu'on souhaite convertir une coordonnées entre le système du projet et un autre système, par exemple pour localiser une adresse de la Base Adresse Nationale, pour utiliser un GPS, pour ouvrir une carte dans Google-Bing Map... La cause du problème est liée à l'utilisation par ViSit Anywhere de la bibliothèque Open Source Proj4, pour effectuer correctement les changements de système de coordonnées. Comme Proj4 n'est pas une application .NET, ViSit Anywhere doit utiliser une passerelle C++ bridge pour accéder à ses fonctionnalités. Ceci implique que le module redistribuable C++ de Microsoft C++ soit installé sur le poste de travail..
Auparavant, nous installions ce module à l'aide d'un merge module standard fourni par Microsoft. depuis la sortie du framework Universal Windows platform (UWP), Microsoft a décidé que l'utilisation du merge module n'était pas recommandé, et qu'il fallait installer le module C++ uniquement si nécessaire. Cette page de StackOverflow donne plus de détails. Depuis, nous rencontrons de plus en plus de problèmes liés à un module C++ absent.
Le problème est facile à diagnostiquer depuis ViSit Anywhere. Une erreur de chargement d'un type se produit dès qu'une action implique un changement de coordonnées, comme dans la capture d'écran suivante.
Le message a l'air complexe, mais la cause du problème est claire : un module C++ absent. Pour corriger le problème, il faut installer manuellement sur le poste le module C++ redistribuable version 14 (Visual Studio 2015).
Note: Géotech a conscience de l'importance du problème et va corriger l'assistant d'installation de ViSit Anywhere pour forcer l'installation du module C++ requis, avant d'installer ViSit Anywhere. C'est un changement profond de la logique d'installation qui ne sera mis en place que dans la prochaine mise à jour majeure de l'application. Le problème sera donc résolu avec ViSit Anywhere 2017, qui serra disponible au cours du premier trimestre 2017.
Installation du module C++
Pour résoudre le problème, il faut télécharger le module redistribuable C++ et l'installer.
Etape 1. Télécharger le Runtime C++ 32 bit for Visual Studio 2015
L'installeur requis est disponible gratuitement sur le site de Microsoft, à partir de ce lien. Vous devriez arriver sur une page similaire à la capture d'écran suivante.
Il est essentiel e télécharger la version x86 (32-bit) du module. quand on clique sur le bouton de téléchargement, on obtient une liste d'installeurs. Sélectionner la version pour x86 (32-bit), car ViSit Anywhere 2016 st une application 32-bit.
Assurez-vous que le du fichier à télécharger contient x86.
Etape 2: Installer le module
Une fois le fichier téléchargé et enregistré localement, localisez son emplacement sur disque (par défaut dans le répertoire des téléchargements)..
Il faut alors débloquer le fichier pour garantir qu'il s'exécutera correctement, depuis son formulaire de propriétés, en cochant Débloquer.
On installe ensuite le module en exécutant ce fichier (double clic ou clic droit + exécuter). Il peut être nécessaire d'accepter que l'application s'exécute à un niveau de privilèges plus élevé.
Il ne reste qu'à passer en revue toutes les page de l'assistant. Une fois l'installation terminée, le problème dans ViSit Anywhere devrait être résolu.
En résumé
Cet article explique comment télécharger et installer le module redistribuable Visual Studio C++ 2015 (version x86). Cette installation peut-être requise pour les versions récentes de Windows (Windows 7 et supérieures). L'origine du problème est une modification de la stratégie de Microsoft relative à l'installation du runtime C++.
Géotech va faire évoluer l'assistant d'installation de ViSit Anywhere 2017 pour résoudre ce problème. En attendant, nous recommandons à nos utilisateurs qui rencontrent ce problème d'installer manuellement le redistribuable C++. ViSit Anywhere 2017 sera disponible au cours du premier trimestre 2017.