Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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");
        }
Пример #3
0
        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");
        }
Пример #4
0
        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);
            }
        }