2012-01-24 9 views
1

MSIの新しいバージョンをWebで定期的にチェックすることで、プログラムを更新する関連サービスがあるキオスク上にプログラムがあります。見つかった場合は、それをインストールしますが、プログラムはまだ実行されている可能性があります。WindowsでC#を実行している間にプログラムを更新する

上記のソリューションのDLLの競合を回避するために、MSIのアセンブリの名前をバージョンで変更して、古いバージョンが動作している間に新しいバージョンをインストールできるようにします。アプリケーションは、新しいバージョンのアセンブリのインストールディレクトリをポーリングし、使用されていない場合にすぐに再起動を検出します。これを行うためのより良い方法はありますか?

+0

restart-managerのサポートが不十分です(Windows Vista以降が必要です)、またはWindows XP上でこのキオスクが動作していますか?自己更新は厄介です。 –

+0

こんにちはマイケル - はいそれはXPで実行されています –

+0

こんにちはリチャード、私は今WPFベースのキオスクで同じ課題に直面しています。何をやったの? –

答えて

2

私は前にこの話をしました。これは次のように動作します。

UIはログオンしているユーザーとして実行されています。

サービスはシステムとして実行されています。サービスはコンテンツをチェックし、それを一時ディレクトリにダウンロードします。次に、/ JMコマンドを使用してMSIをアドバタイズします。インストーラーは、非特権ユーザーによってインストールできるようになりました。

サービスは、インストールする時間であることを示すIPCメッセージをアプリケーションに送信します。アプリケーションは、インストーラを起動して、アプリケーションを再起動することを示すフラグを渡します。アプリケーションが終了すると、ロックされたファイルが解放されます。

インストーラの最後にフラグを設定すると、インストーラはアプリケーションを再起動します。

wuw4 libraryもご覧ください。これは、このソリューションの多くを作成するのに役立ちます。

+0

wuw4ライブラリをより明確に説明してください。そのリンクのテキストは非常に不明です... –

2

ここではClickOnceをおすすめしませんか?

http://msdn.microsoft.com/en-us/library/t71a733d.aspx

+0

私は最初にoneclickを試みましたが、アクセス権に問題がありました。また、サービスはプリンタ設定を構成する必要があり、ワンクリックのセキュリティロックがこれを難しくしていました。 –

+0

キオスクとプリンタの設定が別の問題のように聞こえる...実際にプリント設定を変更する頻度はどれくらいですか? – Adrian

+0

1時間に約5回 - それは特有のケースです。 –

関連する問題