0

誰かが私に私のプログラムを起動時に実行させる方法を説明してくれたら、私はさまよっていましたか?私のプログラムは、サーバー上で実行する必要がある小さなWPF UIを備えたC#WCFであり、サーバーが再起動するたびに、またはその他の理由でプログラムが起動することを確認する必要があります。

調べてみたところ、レジストリキーを使用する必要があるようですが、レジストリキーの使用方法に慣れていないので、使用方法を教えてください。インストーラーの作成にVS2010を使用していますが、インストール時にレジストリキーを設定したいと思います:)

PSアプリケーションをWindowsサービスにしたくないので、ユーザーのスタートアップフォルダーに配置することはできません(サーバーが再起動し、誰もログインしない場合はどうなりますか?)

4

1 に答える 1

5

実行するものを追加します。

http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

rkApp.SetValue("MyApp", Application.ExecutablePath.ToString());

更新:これについてもう少し考えた後、あなたのアプローチは根本的に欠陥があるように見えるので、これはおそらくあなたを助けません。UIを実行するには、まだ誰かがログインする必要があります。解決策としてはどうでしょうか。

サービスをWindowsサービスにプッシュバックします(他のすべての人が提案しているように)。WPF UIの部分については、WCFサービスをホストするexeから独自のプロジェクトに分離します。UIがサービスの管理/監視に使用できる別のサービスエンドポイントコントラクトを公開するだけです。

これにより、別のマシンからサーバーを監視できるようになります。また、複数の人が同時にサーバーにログインし(多くの環境で発生する可能性のあるシナリオ)、サービスホストの複数のインスタンスを起動することを心配する必要はありません。

于 2011-09-20T00:55:56.910 に答える