Потратив некоторое время на то, как решить эту проблему, нашел решение и решил опубликовать этот уважаемый форум, получив заслуженный кредит.
Проблема: сериализация XmlElementAttribute ниже создала следующий контент в файле WXS, а затем:
[XmlElementAttribute("bal:WixStandardBootstrapperApplication")]
public WixStandardBootstrapperApplication WixStandardBootstrapperApplication
{ get; set; }
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal_x003A_WixStandardBootstrapperApplication LicenseUrl="" SupressOptionsUI="yes" />
</ BootstrapperApplicationRef >
Решение найдено по адресу: http://forums.asp.net/post/3149628.aspx. Как это:
Код сериализации:
TextWriter tw = new StreamWriter (wxsBundleFileName) ;
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(wx.GetType());
XmlSerializerNamespaces XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", " http://schemas.microsoft.com/wix/2006/wi");
ns.Add("bal", "http://schemas.microsoft.com/wix/BalExtension") ;
xs.Serialize(tw, wx, ns);
Правильный код - это класс сериализации:
[XmlElementAttribute(ElementName = "WixStandardBootstrapperApplication", Namespace = "http://schemas.microsoft.com/wix/BalExtension")]
public WixStandardBootstrapperApplication WixStandardBootstrapperApplication
{ get; set; }
Готов!
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl="" SupressOptionsUI="yes" />
</BootstrapperApplicationRef>