数日以内に、開発マシン(最終的にはWCF-over-SOAPサービスをホストする)で開発したWindowsサービスをステージングマシンにインストールします。
Visual Studio 2013を使用しているので、VSコマンドプロンプトを使用して、installutil.exe
を使用してそのサービスをインストールできます。
しかし、ターゲットマシンは単純な古いWindows Server 2008 R2
を実行します
installutil.exe
がないWS2008に.NETWindowsサービスをインストールするにはどうすればよいですか?残念ながら、Visual Studio 2012の時点で、MicrosoftはVisual Studioの「セットアッププロジェクト」組み込み機能を削除しました。これは、私opineが彼らの長年のビジネスパートナーであるInstallShield(Flexeraソフトウェアが所有)にうなずきます。彼らは、InstallShieldを使用してWindowsインストーラーをグラフィカルに構築するために、恐ろしく高価なサードパーティソフトウェアを使用するように顧客に指示したかったため、この機能を削除しました。ここで、Visual Studio 2012または2013でセットアッププロジェクトをグラフィカルに設計する場合は、次のいずれかを行う必要があります。
無料ですが非常に機能が制限された「InstallShieldLE」をダウンロードしてください。これは常に非常に高価な製品にアップセルしようとし、必要な便利なことの99%を実行できません(これを試した後は強くお勧めしません) );
学ぶ WiX そして無料のWiXツールキットを使用してインストーラーを構築します(特に簡単ではありませんが、実行可能です)。
学ぶ [〜#〜] nsis [〜#〜] そして無料のNSISツールキットを使用してインストーラーを構築します(特に簡単ではありませんが、実行可能です)。
例に従って、プログラムでサービスを登録するC#プログラムを作成します ここではStack Overflow 。コードは、クライアントプロファイルで利用できるSystem.Configuration.Install
アセンブリに依存します(ありがたいことに)。詳細については、 [〜#〜] msdn [〜#〜] を参照してください。これはおそらく「最も簡単な」方法です。 Mainメソッドを使用してEXEとしてサービスを出荷するだけです...
「InstallUtil」は、Visual Studioの一部としてインストールされると記載されているドキュメントがあるにもかかわらず、VisualStudioが展開されていないサーバー上に存在します。ご使用のWindowsのバージョンと必要な.NETFrameworkに応じて、「installutil」ツールは次の場所にあります。
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\ Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe C:\ WINNT\Microsoft.NET\Framework\v1.1.4322 installutil
サービスが対象としている.NETFrameworkのバージョンと一致するバージョンを使用してください。