web-dev-qa-db-ja.com

Windowsサービス-インストーラーVisual Studio 2012の作成方法

VS2012でWindowsサービスを開発していますが、セットアップ/展開の部分が削除されています。そのため、セットアッププロジェクトを作成できません。インストーラーを使いやすくするために皆さんがお勧めできることを聞きたいと思います。サービスのインストールでは、文字列のみの入力をいくつか取る必要があります。私はWiXを見てきましたが、それは少し複雑に思え、このインストーラーを作成するのに1〜2日しかかかりませんでした。

では、Wix以外にどのインストーラを使用すればよいですか?

15
MMM

特にWindowsサービスに関して、InstallShield LE(Visual Studio 2012に付属するもの)で本当に悪い経験をしました。サービスのインストールに必要な機能(カスタムアクションなど)は、ライトバージョンには付属していません。

私が取り組んでいる現在のWindowsサービスに対して私がやろうとしていることは、 Topshelf でビルドすることです。これは、(とりわけ)サービスのインストールがMyServiceApp.exe installの実行と同じくらい簡単であることを意味します。 InstallShieldでも、インストール後にアプリを実行でき、アプリ/ Topshelfがサービスコンポーネントをインストールできると確信しています。

InstallShieldが機能しない場合は、以前は [〜#〜] nsis [〜#〜] で良い結果が得られています。シンプルで強力な無料のまともなドキュメント。少し不格好に見えます。

4
TarkaDaal

ここにあなたが始めることができるセットアップツールのリストがあります: http://en.wikipedia.org/wiki/List_of_installation_software

インストーラーを作成する時間があまりない場合は、高度なインストーラーやInstallShieldなどの商用ツールを使用することをお勧めします。ライセンスが必要ですが、それらは使いやすさに重点が置かれています(短時間でより多くのことを実行できます)。

1
Cosmin Pirvu

InstallShield LEを使用してそれを行うことができます...インストールおよび「システム変更後」のカスタムアクション「製品登録後」を追加できます。これらのカスタムアクションは、マシン上でEXEを実行できます。

コマンドラインツールを「システムコンテキストで」実行してください。

製品の登録後、InstallUtilのバージョンを.NETのバージョンに実行します。 path = C:\ Windows\Microsoft.NET\Framework\v4.0.30319 command = InstallUtil.exe "C:\ Program Files(x86)\ XXX\YYY\ZZZ.exe" XXX YYYとZZZがインストールに一致するように置き換えます

システムを変更した後、サービス名を削除します。 scは "servicename"を削除します

独自のサービス実行可能ファイル内のカスタムアクションのサポートが必要であることに注意してください(以前のVSでもこれが必要でした)。

SCの詳細はこちら: http://support.Microsoft.com/kb/251192

0