/// <summary> /// Remove the machine configuration information when uninstalling the adapter /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BeforeUninstallEventHandler(object sender, InstallEventArgs e) { try { System.Configuration.Configuration config = ConfigurationManager.OpenMachineConfiguration(); Debug.Assert(config != null, "Machine.Config returned null"); MachineConfigManager.RemoveMachineConfigurationInfo(config); if (System.Environment.Is64BitOperatingSystem) { //For 64-Bit operating system there should be updated the 64-bit machine config as well string machineConfigPathFor64Bit = System.Runtime.InteropServices.RuntimeEnvironment .GetRuntimeDirectory().Replace("Framework", "Framework64"); ConfigurationFileMap configMap = new ConfigurationFileMap( System.IO.Path.Combine(machineConfigPathFor64Bit, "Config", "machine.config")); config = ConfigurationManager.OpenMappedMachineConfiguration(configMap); Debug.Assert(config != null, "Machine.Config for 64-bit returned null"); MachineConfigManager.RemoveMachineConfigurationInfo(config); } } catch (Exception ex) { throw new InstallException("Error while removing adapter configuration information" + ex.Message); } }
public void TestInstall_64Bit() { if (!System.Environment.Is64BitOperatingSystem) { return; } Configuration config = Get64bitMachineConfig(); Assert.IsNotNull(config, "Machine.Config returned null"); MachineConfigManager.AddMachineConfigurationInfo( @"..\..\..\..\Adapter\TransMock.Wcf.Adapter\bin\Debug", config); config = Get64bitMachineConfig(); ServiceModelSectionGroup sectionGroup = config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup; Assert.IsTrue(sectionGroup.Extensions.BindingElementExtensions.ContainsKey("mockTransport"), "The mockBinding element extension is not present in the machine.config"); Assert.IsTrue(sectionGroup.Extensions.BindingExtensions.ContainsKey("mockBinding"), "The mockBinding extention is not present in the machine.config"); }
public void TestUninstall_32bit() { Configuration config = ConfigurationManager.OpenMachineConfiguration(); Assert.IsNotNull(config, "Machine.Config returned null"); MachineConfigManager.RemoveMachineConfigurationInfo(config); config = ConfigurationManager.OpenMachineConfiguration(); Assert.IsNotNull(config, "Machine.Config returned null"); ServiceModelSectionGroup sectionGroup = config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup; Assert.IsFalse(sectionGroup.Extensions.BindingElementExtensions.ContainsKey("mockTransport"), "The mockBinding element extension is not present in the machine.config"); Assert.IsFalse(sectionGroup.Extensions.BindingExtensions.ContainsKey("mockBinding"), "The mockBinding extention is not present in the machine.config"); }
public static ActionResult AfterInstall(Session session) { session.Log("Begin AfterInstall"); try { Debug.Assert(session != null, "Session foro this installation is null."); System.Configuration.Configuration config = ConfigurationManager.OpenMachineConfiguration(); Debug.Assert(config != null, "Machine.Config returned null"); MachineConfigManager.AddMachineConfigurationInfo( session[INSTALLER_PARM_INSTALLDIR], config); if (System.Environment.Is64BitOperatingSystem) { //For 64-Bit operating system there should be updated the 64-bit machine config as well string machineConfigPathFor64Bit = System.Runtime.InteropServices.RuntimeEnvironment .GetRuntimeDirectory().Replace("Framework", "Framework64"); ConfigurationFileMap configMap = new ConfigurationFileMap( System.IO.Path.Combine(machineConfigPathFor64Bit, "Config", "machine.config")); config = ConfigurationManager.OpenMappedMachineConfiguration(configMap); Debug.Assert(config != null, "Machine.Config for 64-bit returned null"); MachineConfigManager.AddMachineConfigurationInfo( session[INSTALLER_PARM_INSTALLDIR], config); } session.Log("End AfterInstall with success."); return(ActionResult.Success); } catch (Exception ex) { session.Log("Error while adding adapter configuration information. " + ex.Message); session.Log("End AfterInstall with error."); return(ActionResult.Failure); } }