私はMSI経由でインストールされたWindowsサービスを作成しました。このサービスでは、VS2017のSettings.settingsで別のプロパティとして追加したホスト/ IP、ポート、およびパスが必要です。私は今インストーラにユーザの入力を受けて設定を自分の設定ファイルに書き込ませたいと思っています。まず始めに、私は次のことを試してみました:インストール時に設定を提供する
public override void Install(IDictionary stateSaver)
{
string server;
string port;
string path;
base.Install(stateSaver);
server = this.Context.Parameters["SERVER"];
port = this.Context.Parameters["PORT"];
path = this.Context.Parameters["PATH"];
Properties.Settings.Default.server = server;
Properties.Settings.Default.port = port;
Properties.Settings.Default.path = path;
Properties.Settings.Default.Save();
}
そして、私のapp.configファイルからエキス...
<userSettings>
<myService.Properties.Settings>
<setting name="server" serializeAs="String">
<value />
</setting>
<setting name="port" serializeAs="String">
<value />
</setting>
<setting name="path" serializeAs="String">
<value />
</setting>
</myService.Properties.Settings>
</userSettings>
を
これは、設定を保存していないので、私はGoogleに頼っ。私が見つけた最も近いものはthis questionですが、私はそれが何を示唆しているのか完全には理解していません(私はC#でかなり新しいです)。完全なServiceModelセクショングループを使用していますか?私はXMLを直接編集する方法を理解することができたと確信していますが、それは適切な方法ではなく、かわいそうになるでしょう。