Bonjour à tous,
N'aimant pas ne pas comprendre ce que je fait et pourquoi je viens à vous.
Nous développons des logiciels pour nos systèmes pour Windows depuis des années en VB6.
Nos packages d'installation sont réalisé avec InstallShield.
Aillant des fichiers commun pour le fonctionnement de nos logiciels, dans InstallShield nous demandons d'installer les logiciels au même endroit.
Pour ce faire dans le paramètre [INSTALLDIR] de "General information" nous avons indiqué HKEY_LOCAL_MACHINE\SOFTWARE\NotreSOCIETE\InstallDir.
Ainsi après l'installation du 1er de nos logiciels sur le PC client, si le client change le lieu d'installation par exemple C:\DUDULE. InstallShield propose bien pour les suivants le lieu de l'installation du 1er (C:\DUDULE). Sa cela fonctionne bien.
Maintenant nos logiciels sont sécurisé avec des licences et j'ai un logiciel de gestion de ces licences. Ce logiciel va recherche le lieu d'installation des autre et pour ce faire je lui demande d'aller récupérer dans la BDR la clef "HKEY_LOCAL_MACHINE\SOFTWARE\NotreSOCIETE\InstallDir".
Sur mon PC (Win7 x64) cela fonctionne parfaitement, il m'indique bien "C:\DUDULE", hors sur ma virtual machine (Win7 x64) vierge (juste installation de Windows) il plante à la lecture de cette clef.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim shellBdR As New WshShell Dim txtClef txtCle = shellBdR.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SPS\InstallDir")
Et la je comprend plus rien, car du coup en regardant sur mon PC (celui qui fonctionne) la clef "HKEY_LOCAL_MACHINE\SOFTWARE\NotreSOCIETE\InstallDir" n'existe pas, alors que le code ci dessus me la trouve. InstallShield la trouve aussi puisqu'il propose bien l'installation de nos autres logiciels sur C:\DUDULE
Je peux du coup comprendre pourquoi cela plante sur la machine virtuel, mais pourquoi cela fonctionne sur mon PC !!!
Je précise que sur ma machine virtuel si j'essaie d'installer un 2eme de nos logiciels il m'indique bien le nouvel emplacement (par défaut c'est dans "Program Files"). Donc installshield continu de bien trouver la clef.
Je mi perd. En cherchant un peu j'ai vu qu'il peut y avoir comme des liens symboliques dans la DBR.
Auriez vous quelques informations afin que je sois moins bête, même si cela va être difficile
J'ai pallié à ce problème en obligeant InstallShield à me créer la clé HKEY_LOCAL_MACHINE\SOFTWARE\NotreSOCIETE\InstallDir avec pour valeur [INSTALLDIR] et la plus de souci, mon logiciel de gestion de licence ne plante plus mais j'aimerais comprendre ce qu'il se passe, pour quoi sur mon PC même VB6 me trouve la clef alors qu'elle n'y est pas dans la BDR à cet emplacement avec Regedit et du coup pourquoi cela ne fonctionne pas pareil avec ma machine virtuel (même OS) alors que InstallShield lui trouve toujours la clef. Mais cela me gène sur les produits déjà installés
Merci pour votre savoir.
Partager