web-dev-qa-db-ja.com

ClickOnceはWindowsサービスを展開しますか?

ClickOnceを使用してWindowsサービスを展開することはできますか?もしそうなら、どのようにこれを達成しますか?

現在、Deploymentプロジェクトを使用する必要があります。ClickOnceを使用すると、インストールプロセスを大幅に簡略化できます。

51
NoizWaves

AFAIKでは、ClickOnceをエンドツーエンドで実際に使用してサービスを展開することはできません。ファイルの場所(ClickOnceはユーザーのプロファイルにインストールされます)とインストール(ClickOnceはlyly副作用なし)の両方で問題があります。

ただし、サービスリストから自己インストール/アンインストールできるexeとしてサービスを記述できます like like ;基本的には、コンソールのexeとして記述し、AssemblyInstallerを使用して現在のアセンブリから[アン]インストールするコマンドライン引数を処理します。別の利点は、コマンドラインから実行できるため、同じアプローチを使用してデバッグを支援できることです。

29
Marc Gravell
8
OrElse

ClickOnceの代わりに、ここにあるようなInno Setupを使用するアプローチを使用したい https://stackoverflow.com/a/1450051/3962

コピーして実行する内容と方法をより細かく制御できます。

Marc Gravellが彼の答えで言ったように、私は自分のサービスを自己インストールするexeを作成し、次にInno Setupを使用してそれをパックしてデプロイします。 Innoセットアップがインストールされた後、それは自動的にexeを実行し、次に私のexeがサービスをインストールします。