BitMiracle.VisualStudioConverter.CSScript.Converter.processBootStrapper C# (CSharp) Method

processBootStrapper() private method

private processBootStrapper ( XmlDocument projectDocument, XmlNamespaceManager xmlNamespaceManager ) : void
projectDocument System.Xml.XmlDocument
xmlNamespaceManager System.Xml.XmlNamespaceManager
return void
        private void processBootStrapper(XmlDocument projectDocument, XmlNamespaceManager xmlNamespaceManager)
        {
            // the optional BootStrapper elements.  I only remove the inappropriate values, I
            // do not attempt to add the newer values
            XmlNode xn = default(XmlNode);
            switch (m_options.Target)
            {
                case "2005":
                    // alter the value for the ProductName element using the older framework tag
                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.2.0\"]", xmlNamespaceManager);
                    if (xn != null)
                    {
                        XmlNode xtemp = xn.SelectSingleNode("prj:ProductName", xmlNamespaceManager);
                        xtemp.FirstChild.Value = ".NET Framework 2.0";
                    }

                    // remove the newer framework options
                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.3.0\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.3.5\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Client.3.5\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.3.5.SP1\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Windows.Installer.3.1\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    break;
                case "2008":
                    // alter the value for the ProjectName using the newer framework tag
                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.2.0\"]", xmlNamespaceManager);
                    if (xn != null)
                    {
                        XmlNode xtemp = xn.SelectSingleNode("prj:ProductName", xmlNamespaceManager);
                        xtemp.FirstChild.Value = ".NET Framework 2.0 %28x86%29";
                    }

                    // remove the newer framework options
                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Client.3.5\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.3.5.SP1\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Windows.Installer.3.1\"]", xmlNamespaceManager);
                    if ((xn != null))
                        xn.ParentNode.RemoveChild(xn);

                    break;
                case "2010":
                    // alter the value for the ProjectName using the newer framework tag
                    xn = projectDocument.SelectSingleNode("/prj:Project/prj:ItemGroup/prj:BootstrapperPackage" + "[@Include=\"Microsoft.Net.Framework.2.0\"]", xmlNamespaceManager);
                    if (xn != null)
                    {
                        XmlNode xtemp = xn.SelectSingleNode("prj:ProductName", xmlNamespaceManager);
                        xtemp.FirstChild.Value = ".NET Framework 2.0 %28x86%29";
                    }
                    break;
            }
        }