COM надстройка для MS Office не загружается в ограниченной учетной записи пользователя
Я создал панель инструментов для Word. Это надстройка COM и написана на C++. Это работает, когда Word запускается учетной записью администратора в XP. Но когда Word запускается с ограниченной учетной записи, он даже не загружается. Я поместил этот код в DllMain:
/////////////////////////////////////////////////////////////////////////////
// DLL Entry Point
HINSTANCE g_hInst = NULL;
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
static int passed = 0;
if (!passed)
{
MessageBox(0, "foo", 0, 0);
passed = 1;
}
g_hInst = hInstance;
............................
}
Окно сообщения отображается при запуске Word из учетной записи администратора, но не при запуске из ограниченной учетной записи. Я тестирую это на машине XP с Word 2003.
1 ответ
Решение
Оказалось, что мой аддин регистрировался в HKCU вместо HKLM (это было в файле.rgs). Таким образом, только пользователь, выполняющий установку, будет зарегистрирован. Вот почему Word не загружает его для других учетных записей пользователей.