Мигрирам добавка VSTO OUTLOOK от 32-битова на 64-битова. Работи добре на Office 2007 32-bit. Целта е да работи на Office 365 64-bit.
Прекомпилирах добавката за 64-битова платформа и актуализирах проекта installshield.
Когато инсталирам добавката на нова машина с Windows 10, използвайки акаунта си (имам администраторски права), работи добре. Виждам го в Outlook и мога да го използвам.
Ако обаче изляза и помоля някой друг да влезе в машината за запис (този някой друг също има администраторски права), добавката се показва в Outlook, но тази грешка се показва, когато потребителят я използва:
System.Runtime.InteropServices.COMException (0x80040154): Извличането на фабриката за COM клас за компонент с CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} е неуспешно поради следната грешка: 80040154 Класът не е регистриран ( Изключение от HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Някаква идея?
подробности:
- Тази добавка използва само една външна DLL: 64-битова DLL от Redemption.
- Решението е компилирано в Visual Studio 2015. Целева платформа: x64.
- За да го инсталирам на компютър, използвам MSI, който създадох с помощта на InstallShield Express на Visual Studio 2015.
- В InstallShield съм посочил ALLUSERS-1 (инсталация на машина).
DLL се регистрира със следния код:
Dim WshShell
Задайте WshShell = CreateObject("Wscript.Shell")
WshShell.run "regsvr32 /s ""C:\Program Files (x86)\MyCompany\AddInName\Redemption64.dll"
Задайте WshShell = нищо
regsvr32.exe
чрез VBScript позволява наregsvr32.exe
да се регистрира за всеки потребител. Не мисля, чеregsvr32.exe
може да направи това нормално. Странно. Сигурни ли сте, че COM-Extract at build не е бил включен през цялото време и товаregsvr32.exe
повикване никога не се е случило, тъй като може да сте задали персонализираното действие да игнорира грешки? - person Stein Åsmul   schedule 14.05.2019