Difficultés à utiliser Windows Installer pour déployer un complément COM

J'ai créé un complément COM dans Visual Studio 2012 et quand je comstack et l'exécute sur ma machine, ça marche parfaitement. Le problème survient lorsque j'essaie d'utiliser Windows Installer que j'ai créé pour installer le complément. J'essaie d'installer ce complément dans plusieurs machines et j'aimerais comprendre que le problème concerne le programme d'installation.

Lorsque j'essaie d'appeler un Sub à partir du complément COM avec Excel, il lance un 'Subscrit hors de scope' sur la deuxième ligne. Le Sub se connecte à un server SQL, effectue une requête en fonction des données de la cellule et renvoie le résultat. J'ai regardé les modules complémentaires dans Excel, il est installé et n'est pas inactif / désactivé. Ce même code fonctionne parfaitement si je comstack le projet sur ma machine, juste que lorsque je installe le complément avec le programme d'installation.

Dim com as COMAddIn Set com = Application.COMAddIns("SQL") <---- com.Object.ConStr 

J'ai suivi ce guide pour l'installateur:

https://msdn.microsoft.com/en-us/library/Cc442767.aspx

J'ai fait ce qui suit pour exécuter le programme d'installation (juste un résumé de l'article ci-dessus):

  • Ajout des files Primary Output, .vsto et dll.manifest aux files d'application
  • Ajout de .NET Framework 4.5 (complet) et Visual Studio 2010 Tools for Office Runtime comme conditions préalables
  • Définir le INSTALLDIR
  • Spécifié que l'application devrait se déployer sur l'user actuel
  • Demander à l'installateur de créer le path de registre suivant

     HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\JACOB.SQL 
  • Créé les keys de Registre suivantes

     Description SQL FriendlyName SQL LoadBehavior 3 Manifest file:///[INSTALLDIR]SQL.vsto|vstolocal 
  • Définir le Build to SingleImage
  • Définissez les conditions préalables InstallShield à 'Télécharger à partir du Web'
  • Définissez la configuration de la solution active dans SingleImage
  • Définissez la configuration du programme d'installation dans SingleImage
  • Construit l'installateur

Je me suis assuré de désinstaller la version compilée de mon projet à partir d'Excel, puis je suis allé au path de file suivant et j'ai exécuté setup.exe.

 %Visual Studio 2012%\Projects\SQL\Setup1\SQL_Setup\Express\SingleImage\ DiskImages\DISK1 

Une fois le programme d'installation terminé, j'ai exécuté le même code que ci-dessus et il a renvoyé une erreur «Abonné hors de scope». Comme je l'ai dit plus tôt, le même code fonctionne si je comstack le code.

 Dim com as COMAddIn Set com = Application.COMAddIns("SQL") <---- com.Object.ConStr 

J'ai étudié le problème et je suis venu pour la plupart en blanc. J'ai trouvé que je pourrais avoir besoin des methods DllRegisterServer / DllUnregisterServer pour append mon dll au registre avec Regsvr32, mais je n'ai aucune idée de la façon d'écrire ces methods. Je ne vois pas non plus comment cela pourrait être le problème si le projet compilé fonctionne sans ces methods. Peut-être que l'installateur ignore une étape?

Toute aide serait GRANDEMENT appréciée. Merci!