2009-08-28 5 views
0

私は私の箱と仲間の開発者のボックスに正常に動作しますC#でWord 2007のアドインプロジェクトを作成しました。我々はしかし、空白のボックスにソフトウェアを展開しようとすると、我々はバックグラウンドスレッドを起動したときに、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のを除いて出力され、「問題があっただ、あなたはエラーメッセージを送りたい」ボックスが表示されます。

私は、Wordに新しいスレッドを開始する能力を否定していますいくつかのセキュリティ上の問題があると思いますが、私はそれを変更する方法を見つけ出すことはできません。

は、誰もがそれは確かに問題がある場合は知っていて、私はそれを修正する方法を?または、問題を引き起こしている可能性のあることが他にもある場合は、

答えて

1

は私のリボンコードは、.NET 2.0 Service Pack 2およびユーザーのコンピュータにのみインストールされている.NET 2.0のService Pack 1を持っていた必要なことが判明します。同じバージョンのサービスパックを変更すると、互換性のないコードが作成されることがMicrosoftに認識されます。

関連する問題