2017-03-10 7 views
0

メインプログラム内に3つの主要サービスを作成しました。私は私のメインプログラム内にSystem.Configuration.Install.Installerを3つ作成しました。可能であれば私がしたいのは、私の3つのサービスを私のメインプログラムを通してインストールすることです。これは可能ですか?私が考えていたのは、次のようなものでした:メインプログラム内でサービスインストーラを実行する

ServiceProjectInstaller installer = new ServiceProjectInstaller(); 
installer.Install(); //I don't know what to pass in a generic IDictionary that matches what the Install is looking for. 
ServiceBase[] ServicesToRun; 
ServicesToRun = new ServiceBase[] { new MainService() }; 
ServiceBase.Run(ServicesToRun); 

このアプローチは機能しますか?私はできるだけ複雑なものを削除することを好むでしょう。

+0

セットアッププロジェクト(Visual Studioインストーラ?)を使用しているのか、サービスをインストールするためのプログラムを作成していますか? – PhilDW

+0

これはサービスをインストールするだけではなく、InstallShieldを使用してインストーラを作成することです。 –

答えて

0

私はIDictionaryを辞書=新しいHashtableの()にそれらの両方を割り当てる2つの辞書を作成することになったこのStack Overflow

を見つけました。私は、辞書を通してInstallを呼ぶメソッドを作った。サービスはうまくインストールされました。

public void Install() 
{ 
    try 
    { 
     serviceInstaller1.Install(Dictionary); 
     serviceProcessInstaller1.Install(ProcessDictionary); 
    } 
    catch 
    { 

    } 
} 
関連する問題