我已经创建了一个Windows窗体应用程序(称为MyWinformsApp),每个应用程序的个性化数据都位于App.config文件中。我需要构建一个通用的安装文件:因此个性化参数必须包含在安装项目中。因此,我使用Visual Studio构建了一个安装项目(称为SetupProject,该项目链接到MyWinformsApp),并添加了一个Textbox字段作为我的个性化字段的输入。我的问题是:如何从SetupProject中获取文本框的值并使用它来更新App.config(属于MyWinformsApp)。预先感谢。
我知道可以执行此操作的唯一方法是在项目中添加Installer类,以便可以拦截与安装相关的事件,例如Install / Commit / Rollback / etc。
例如,在安装事件中,您会遇到类似的事情:
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
string value = Context.Parameters["paramKey"];
// Update App.config with the value
}
基本上,您需要找到App.config文件(如果它位于安装程序文件中或作为资源文件,您应该可以获取它)并就地进行更新。
恐怕没有比这更简单的方法了,主要是因为整个安装框架都不那么灵活。