[解決済み] Inno Setup for Windows サービス?
2022-10-22 08:25:52
質問
.NetのWindowsサービスを持っています。そのWindowsサービスをインストールするためのインストーラを作成したいのですが。
基本的には、次のようなことをしなければなりません。
-
パック
installutil.exe
(必須か?) -
実行
installutil.exe
MyService.exe - MyService の起動
また、以下のコマンドを実行するアンインストーラーを用意したい。
installutil.exe /u MyService.exe
Inno Setupを使用してこれらを行うにはどうすればよいですか?
どのように解決するのですか?
必要ない
installutil.exe
は必要なく、おそらく再配布する権利もないでしょう。
以下は、私のアプリケーションでやっている方法です。
using System;
using System.Collections.Generic;
using System.Configuration.Install;
using System.IO;
using System.Linq;
using System.Reflection;
using System.ServiceProcess;
using System.Text;
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
string parameter = string.Concat(args);
switch (parameter)
{
case "--install":
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
case "--uninstall":
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
else
{
ServiceBase.Run(new WindowsService());
}
}
基本的に、サービスを単独でインストール/アンインストールさせるためには
ManagedInstallerClass
のようにします。
あとは、InnoSetupスクリプトにこのようなものを追加するだけです。
[Run]
Filename: "{app}\MYSERVICE.EXE"; Parameters: "--install"
[UninstallRun]
Filename: "{app}\MYSERVICE.EXE"; Parameters: "--uninstall"
関連
-
[解決済み】C#で四捨五入する方法
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] Visual Studioで作成したWindowsサービスをインストールする
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] InstallUtil.exeを使用せずに.NETウィンドウズサービスをインストールする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み] 関数を終了するには?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] InstallUtil.exeを使用せずに.NETウィンドウズサービスをインストールする