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 не загружает его для других учетных записей пользователей.

Другие вопросы по тегам