2009-11-19 11 views
1

Ma configuration est Windows Server 2003 (je suis connecté avec des droits d'administrateur), Office 2003, vtso runtime 2005 se. Après l'installation de mon addin, toutes les clés de registre sont dans les emplacements corrects et j'ai donné à mon assembly fulltrust en utilisant caspol.exe. Mon addin est un addin au niveau de l'application. Lorsque j'exécute excel avec regmon et filemon en cours d'exécution, je peux voir que Excel lit les clés de registre de mon addin, mais je ne vois pas le AddinLoader.dll chargé dans filemon. Je n'obtiens aucune erreur de vsto car il ne semble pas que le runtime démarre. J'ai lu presque tout le vsto doco sur msdn en particulier l'architecture addin de l'application et la vue d'ensemble de vsto runtime ainsi que divers autres articles et discussions sur le sujet. Je n'arrive toujours pas à comprendre pourquoi l'exécution ne se chargera pas sur le serveur terminal. Lors de l'installation sur une machine XP, tout fonctionne correctement et mon addin est chargé à chaque fois.Le complément Excel VSTO ne se charge pas sur le serveur terminal

Quelqu'un at-il une idée de ce qui pourrait empêcher le chargement de vsto runtime?

Répondre

0

Never Mind J'ai trouvé que certaines clés de registre me manquaient après tout. Ça fonctionne maintenant.

Pour toute personne qui est à la recherche d'une réponse à un problème similaire alors les clés de Registre que vous devez faire une charge Addin VSTO 2003 pour tous les utilisateurs devraient ressembler à ceci:

[HKEY_CLASSES_ROOT\CLSID\{MY-EXCEL-ADDIN-GUID}] 
@="MyExcelAddin -- an addin created with VSTO technology" 

[HKEY_CLASSES_ROOT\CLSID\{MY-EXCEL-ADDIN-GUID}\InprocServer32] 
@="Is vsdrvtEnvironmentString value type with "%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll" as its value" 
"ManifestLocation"="C:\\Path\\To\\MyExcelAddin\\" 
"ManifestName"="MyExcelAddin.dll.manifest" 
"ThreadingModel"="Both" 

[HKEY_CLASSES_ROOT\CLSID\{MY-EXCEL-ADDIN-GUID}\ProgID] 
@="MyExcelAddin" 

[HKEY_CLASSES_ROOT\CLSID\{MY-EXCEL-ADDIN-GUID}\Programmable] 

[HKEY_CLASSES_ROOT\CLSID\{MY-EXCEL-ADDIN-GUID}\VersionIndependentProgID] 
@="MyExcelAddin" 

[HKEY_CLASSES_ROOT\MyExcelAddin] 
@="" 

[HKEY_CLASSES_ROOT\MyExcelAddin\CLSID] 
@="{MY-EXCEL-ADDIN-GUID}" 

[HKEY_CURRENT_USER\Software\Classes\MyExcelAddin] 
@="" 

[HKEY_CURRENT_USER\Software\Classes\MyExcelAddin\CLSID] 
@="{MY-EXCEL-ADDIN-GUID}" 

[HKEY_CURRENT_USER\Software\Classes\CLSID\{MY-EXCEL-ADDIN-GUID}] 
@="MyExcelAddin -- an addin created with VSTO technology" 

[HKEY_CURRENT_USER\Software\Classes\CLSID\{MY-EXCEL-ADDIN-GUID}\InprocServer32] 
"ThreadingModel"="Both" 
@="Is vsdrvtEnvironmentString value type with "%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll" as its value" 
"ManifestLocation"="C:\\Path\\To\\MyExcelAddin\\" 
"ManifestName"="MyExcelAddin.dll.manifest" 

[HKEY_CURRENT_USER\Software\Classes\CLSID\{MY-EXCEL-ADDIN-GUID}\ProgID] 
@="MyExcelAddin" 

[HKEY_CURRENT_USER\Software\Classes\CLSID\{MY-EXCEL-ADDIN-GUID}\Programmable] 

[HKEY_CURRENT_USER\Software\Classes\CLSID\{MY-EXCEL-ADDIN-GUID}\VersionIndependentProgID] 
@="MyExcelAddin" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Excel\Addins\MyExcelAddin] 
"Description"="MyExcelAddin -- an addin created with VSTO technology" 
"LoadBehavior"=dword:00000003 
"FriendlyName"="MyExcelAddin" 
"CommandLineSafe"=dword:00000001 

Bien sûr, vous aurez besoin pour modifier les GUID et les chemins d'accès aux valeurs appropriées. En plaçant les clés addin sous la machine locale au lieu de l'utilisateur actuel, l'addin fonctionnera pour tous les utilisateurs sans avoir à réparer l'installation après avoir exécuté Excel pour la première fois. De plus, cela permet seulement à l'application de bureau de savoir que l'addin est là et qu'il doit tenter de le charger, cela ne donne pas confiance à l'assembly dans le système, vous devez utiliser Caspol.exe pour le faire. Lisez l'article msdn sur SetSecurty pour le faire http://msdn.microsoft.com/en-us/library/bb332052.aspx.

1

J'ai eu un problème similaire avec Outlook 2007 sur un Windows 64 bits. J'ai ajouté cette clé reg et cela a fonctionné:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 12.0 \ Common \ General] "EnableLocalMachineVSTO" = dword: 00000001

Gardez à l'esprit pour mettre à jour Office 2007 au dernier service pack (3 à partir de maintenant)

+1

Il devient confus n'est-ce pas? Sur un bureau 32 bits OS/32 bits, vous avez besoin de HKLM \ Software \ Microsoft \ Office \ 12.0 \ Common \ General. Même chose pour le bureau 64 bits OS/64 bits. Mais pour 64 bits OS/32 bits Office, Ray est correct - à cause de la redirection du registre – MJB