我最近为我的程序添加了一个WCF服务引用。当我执行该程序的干净安装时,一切似乎都按预期工作。但是,当我在已安装了先前版本(没有新服务引用)的客户端上安装程序时,我得到一个异常,告诉我无法找到此特定服务的默认端点。
似乎没有使用新的端点设置更新appname.exe.config。是否有任何原因,如何强制安装程序覆盖配置文件?我正在使用默认的Visual Studio 2008安装程序项目,并将RemovePreviousVersions设置为True。
更新 我的程序在第一次运行后使用以下代码加密设置部分
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.GetSection(sectionKey);
if (section != null)
{
if (!section.SectionInformation.IsProtected)
{
if (!section.ElementInformation.IsLocked)
{
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
}
}
当我在安装新版本之前没有运行程序时,app.config会更新。
答案 0 :(得分:0)
你是对的,它是未更新的配置文件。
有几种可能性:
首先尝试卸载项目,然后安装并检查配置文件是否已被复制。