Visual Studio 2010でC#を使用してWindowsサービスを作成しました。インストールプロセスの自動化に関する多くの研究を行いました。アドバイスがたくさんありましたが、私のために働いた人はいませんでした。私が作成したWindowsサービスには多くの依存関係があり、インストール中にクライアントにUIのやりとりがないようにしたいと考えています。私はインストーラ内のすべての依存関係を含むこのためのセットアッププロジェクトを作成しました。関与Windowsサービスの展開を自動化する最適な方法は何ですか?
プロセス:
- がWindowsサービス
- プッシュセットアップファイル(.msi)の遠隔地へ
- コールの.msiのビルドを作成し、ユーザーとの対話なしで静かにサービスをインストールします。 PowerShellスクリプトを実行し、サービス
をインストール遠隔地へ
- PowerShellのことを覚えておいてください:私はこれまで何をしたか
スクリプト
sc create "servicename" binpath="somepath"
は、セットアッププロジェクトを使用して作成された.msiファイルをインストールしないプロジェクトディレクトリからサービスをインストールするために使用されます。あなたがこれを理解していなければ、答えてください。
考えられる解決策:
- 使用(http://www.msbuildextensionpack.com/help/4.0.5.0/html/258a18b7-2cf7-330b-e6fe-8bc45db381b9.htm)MSBuildの拡張パック。
- buildbuilderを使用して、msbuild拡張パックを呼び出してWindowsサービスをインストールします。
- 使用(http://msdn.microsoft.com/en-us/library/x8zx72cd.aspx)Execのタスク
- 使用WIX(WindowsインストーラXML)
今、私の質問です。 Windowsサービスインストーラをリモートの場所にプッシュするにはどうすればよいですか?カスタムビルド引数を作成し、msbuild拡張パックまたはExecタスクを使用してサービスをインストールするにはどうすればよいですか?
私は、セットアッププロジェクトによって作成された(.MSI)サービスをインストールしていない人のために、これは愚かで刺激的な疑問に思えます。しかし、私の要件は、企業環境で数週間から解決しようとしています。
Windowsサービスの導入を自動化することに成功しましたか? – bhupinder