Проблемы с запуском потока в надстройке ленты Word 2007 - PullRequest
0 голосов
/ 28 августа 2009

Я создал проект надстройки Word 2007 на C #, который отлично работает на моей коробке и коробке коллеги-разработчика. Когда мы пытаемся развернуть программное обеспечение в пустом окне, Word сильно падает (без исключения), когда мы запускаем фоновый поток.

Вот соответствующий код в файле Ribbon.cs:

private void startThread()
{
    StreamWriter fout = new FileInfo("C:\\startThread.txt").CreateText();
    fout.WriteLine("startThread start");
    fout.Flush();
    try {
        ThreadStart job = new ThreadStart(this.waitForSignal);
        Thread thread = new Thread(job);
        thread.Start();
        fout.WriteLine("No Exceptions?");
    }
    catch
    {
        fout.WriteLine("caught something");
    }
    fout.WriteLine("startThread end");
    fout.Flush();
    fout.Close();
}
public void waitForSignal()
{
    StreamWriter fout = new FileInfo("C:\\waitForSignal.txt").CreateText();
    fout.WriteLine("entered waitForSignal");
    fout.Flush();
    fout.Close();
}

startThread() вызывается из конструктора ленты. При запуске на моем компьютере оба файла создаются со всеми строками WriteLines, кроме «что-то поймано». При запуске в другом окне создается startThread.txt, и выводятся все строки, кроме «что-то поймано», но waitForSignal.txt никогда не создается, и появляется сообщение Microsoft «возникла проблема, вы хотите отправить сообщение об ошибке». 1007 *

Я думаю, что есть какая-то проблема безопасности, которая лишает Word возможности запуска новых тем, но я не могу понять, как бы это изменить.

Кто-нибудь знает, действительно ли это проблема, и как мне ее исправить? Или если вы видите что-то еще, что может быть причиной проблемы?

1 Ответ

1 голос
/ 28 августа 2009

Оказывается, что мой код ленты требовал .NET 2.0 с пакетом обновления 2, а на компьютере пользователя был установлен только .NET 2.0 с пакетом обновления 1. По мнению Microsoft, изменение пакета обновления в той же версии приведет к созданию несовместимого кода.

...