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;
}
}