COM надстройка для MS Office не загружается в ограниченной учетной записи пользователя - PullRequest
0 голосов
/ 28 сентября 2011

Я создал панель инструментов для 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 Ответ

0 голосов
/ 29 сентября 2011

Оказалось, что мой аддин регистрировался в HKCU вместо HKLM (это было в файле .rgs). Таким образом, только пользователь, выполняющий установку, будет зарегистрирован. Вот почему Word не загружает его для других учетных записей пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...