Windowsサービスプロジェクトで、プロジェクトインストーラーを使用して、次のことを試しました。
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
}
protected override void OnBeforeInstall(System.Collections.IDictionary savedState)
{
base.OnBeforeInstall(savedState);
Settings.Default.ASetting = "aValue";
Settings.Default.Save();
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
Settings.Default.ASetting = "aValue";
Settings.Default.Save();
}
}
しかし、インストール後、.configファイルを確認すると、古い値が残っています。通常の[userfolder]\AppData\Localに.configファイルはありませんでした
セットアッププロジェクトのユーザー入力から値を受け取るので、インストール時にこの変数を定義することが重要です。ここでの定数値は、テスト目的でのみ使用されます。