2011-07-25 9 views
0

WPFアプリケーションからInnoSetupインストーラを起動すると、セットアップが完了するまでWPFウィンドウと対話できません。これを防ぐ方法はありますか?WPF UIのロックされたプロセスのロック

+0

http://stackoverflow.com/questions/2406251/running-another-process-without-gui-freezingに非常に似ていますが、ユーザーがGUIスレッドからプロセスを開始しているという事実に基づいた解決策があります。私は別のスレッドからプロセスを開始しています。 –

+0

実際にはあなたはおそらくUIスレッドからも起動しています:) –

答えて

1

インストーラのプロセス生成コードをThreadPool.QueueWorkUserItem内にラップしようとしましたか?

UPDATE

はあなたのWPFはUIThread上の要求の提供を停止し、これプロセスハンドルをブロックすることを可能にするために

[ServiceBehavior(UseSynchronizationContext=false)] 

でWCFサービスをホスト飾るようにしてください。

+0

それは動作しますが、私の問題は解決しません。 WCFクライアントとプロセスの終了コードを同期させて回答する必要があります。 –

+0

それ以外の場合は、非同期的に応答するWCFコントラクトを書き直す必要があります –

+0

ああ、あなたは元の投稿にその制約を含めるべきです:) WCFサービスホストとしても機能するWPFアプリケーションがありますか? –

関連する問題