public ElementEditForm(XmlNode elementNode, WixFiles wixFiles) { this.elementNode = elementNode; this.wixFiles = wixFiles; InitializeComponent(); }
public DesignerForm(WixFiles wixFiles, XmlNode dialog) { dialogElement = dialog; controlMap = new Hashtable(); this.wixFiles = wixFiles; this.MouseClick += new MouseEventHandler(DesignerForm_MouseClick); }
public SelectionOverlay(Control control, XmlNode xmlNode, WixFiles wixFiles) { this.control = control; this.xmlNode = xmlNode; this.wixFiles = wixFiles; ClientSize = new Size(control.Size.Width, control.Size.Height); Left = control.Left; Top = control.Top; control.Left = 0; control.Top = 0; control.MouseMove += new MouseEventHandler(OnMouseMoveControl); control.MouseDown += new MouseEventHandler(OnMouseDownControl); control.MouseUp += new MouseEventHandler(OnMouseUpControl); control.KeyDown += new KeyEventHandler(OnKeyDownControl); Controls.Add(control); Cursor = Cursors.SizeAll; OnLosesSelection += new EventHandler(onLostSelection); SetStyle(ControlStyles.Opaque, false); // optional SetStyle(ControlStyles.SupportsTransparentBackColor, true); BackColor = Color.FromArgb(0,0,0,0); }
public UITextElementAdapter(XmlNodeList uiTextNodes, WixFiles wixFiles) : base(wixFiles) { foreach (object o in uiTextNodes) { this.uiTextNodes.Add(o); } }
public static XmlNode GetUIElement(WixFiles wixFiles) { XmlNode ui = wixFiles.WxsDocument.SelectSingleNode("/wix:Wix/*/wix:UI", wixFiles.WxsNsmgr); if (ui == null) { XmlNodeList parents = wixFiles.WxsDocument.SelectNodes("/wix:Wix/*", wixFiles.WxsNsmgr); if (parents.Count == 0) { return null; } XmlNode theParent = null; foreach (XmlNode possibleParent in parents) { XmlNode def = wixFiles.XsdDocument.SelectSingleNode(String.Format("/xs:schema/xs:element[@name='{0}']/xs:complexType/xs:sequence//xs:element[@ref='UI']", possibleParent.Name), wixFiles.XsdNsmgr); if (def != null) { theParent = possibleParent; break; } } if (theParent == null) { return null; } ui = wixFiles.WxsDocument.CreateElement("UI", WixFiles.WixNamespaceUri); theParent.AppendChild(ui); } return ui; }
public EditCustomTableDefinitionPanel(WixFiles wixFiles) : base(wixFiles, "/wix:Wix//wix:CustomTable", "Id") { LoadData(); CurrentGrid.PropertyValueChanged += new PropertyValueChangedEventHandler(CurrentGrid_PropertyValueChanged); }
public EditGlobalDataPanel(WixFiles wixFiles, VoidVoidDelegate reloadAll) : base(wixFiles, "/wix:Wix/*", "Id") { reloadAllPanels = reloadAll; LoadData(); }
public ProductPropertiesForm(XmlNode productNode, WixFiles wixFiles) { this.productNode = productNode; this.wixFiles = wixFiles; InitializeComponent(); }
public ProgressTextElementAdapter(XmlNodeList progressTextNodes, WixFiles wixFiles) : base(wixFiles) { foreach (object o in progressTextNodes) { this.progressTextNodes.Add(o); } }
public IncludeManager(WixFiles wixFiles, XmlDocument wxsDocument) { this.wixFiles = wixFiles; this.wxsDocument = wxsDocument; LoadIncludes(); }
public WizardForm(WixFiles editWixFiles) { wixFiles = editWixFiles; undoCountBefore = wixFiles.UndoManager.UndoCount; InitializeComponent(); string welcomeMessage = "The WixEdit wizard helps you to create or edit MSI files. The wizard allows you to easily add files and functionality to your MSI file.\r\n\r\nFor example:\r\nAdd files, Create shortcuts, Create virual directories, etc.\r\n\r\n\r\nClick \"Next\" to continue or \"Cancel\" to exit the WixEdit wizard."; if (!editWixFiles.IsNew) { welcomeMessage += "\r\n\r\nNote: Existing complex installers may give problems with the wizard."; } IntroductionSheet welcome = new IntroductionSheet("WixEdit wizard", welcomeMessage, this); AddSheet(welcome); FileSheet files = new FileSheet(this); AddSheet(files); SelectTemplatesSheet selectTemplates = new SelectTemplatesSheet(this); AddSheet(selectTemplates); endSheet = new FinishSheet(this); endSheet.Dock = DockStyle.Fill; contentPanel.Controls.Add(endSheet); endSheet.Visible = false; }
public static XmlNode GetUIElement(WixFiles wixFiles) { XmlNode ui = wixFiles.WxsDocument.SelectSingleNode("/wix:Wix/*/wix:UI", wixFiles.WxsNsmgr); if (ui == null) { XmlNodeList parents = wixFiles.WxsDocument.SelectNodes("/wix:Wix/*", wixFiles.WxsNsmgr); if (parents.Count == 0) { return(null); } XmlNode theParent = null; foreach (XmlNode possibleParent in parents) { XmlNode def = wixFiles.XsdDocument.SelectSingleNode(String.Format("/xs:schema/xs:element[@name='{0}']/xs:complexType/xs:sequence//xs:element[@ref='UI']", possibleParent.Name), wixFiles.XsdNsmgr); if (def != null) { theParent = possibleParent; break; } } if (theParent == null) { return(null); } ui = wixFiles.WxsDocument.CreateElement("UI", WixFiles.WixNamespaceUri); theParent.AppendChild(ui); } return(ui); }
public DisplayBasePanel(WixFiles wixFiles) : base(wixFiles) { Reload += new ReloadHandler(ReloadData); CreateControl(); }
public PropertySearchElementPropertyDescriptor(WixFiles wixFiles, XmlNode propertyElement, string name, Attribute[] attrs) : base(wixFiles, propertyElement, name, attrs) { XmlNodeList subNodes = propertyElement.SelectNodes("*", wixFiles.WxsNsmgr); searchElements = subNodes; searchElement = subNodes[0]; }
public ErrorElementAdapter(XmlNodeList errorNodes, WixFiles wixFiles) : base(wixFiles) { foreach (object o in errorNodes) { this.errorNodes.Add(o); } }
public DisplaySimpleBasePanel(WixFiles wixFiles, string xpath, string elementName, string keyName) : base(wixFiles, xpath, elementName, keyName) { Reload += new ReloadHandler(ReloadData); InitializeComponent(); CreateControl(); }
public DialogGenerator(WixFiles wixFiles, Control parent) { this.definedFonts = new Hashtable(); this.wixFiles = wixFiles; this.parent = parent; ReadFonts(); }
public DisplayTreeBasePanel(WixFiles wixFiles, string xpath, string keyName, bool fullExpandTreeAtStart) : base(wixFiles, xpath, keyName) { InitializeComponent(); CreateControl(); _fullExpandTreeAtStart = fullExpandTreeAtStart; }
public BasePanel(WixFiles wixFiles) { if (wixFiles == null) { throw new ArgumentException("Cannot construct base panel without wixFiles", "wixFiles"); } this.wixFiles = wixFiles; }
public EditFilesPanel(WixFiles wixFiles) : base(wixFiles, "/wix:Wix/*/wix:Directory|/wix:Wix/*/wix:DirectoryRef", "Id", false) { LoadData(); CurrentTreeView.DragEnter += new DragEventHandler(treeView_DragEnter); CurrentTreeView.DragLeave += new EventHandler(treeView_DragLeave); CurrentTreeView.DragOver += new DragEventHandler(treeView_DragOver); CurrentTreeView.DragDrop += new DragEventHandler(treeView_DragDrop); CurrentTreeView.AllowDrop = true; }
public DisplaySimpleBasePanel(WixFiles wixFiles, string xpath, string elementName, string keyName, string valueName) : base(wixFiles, xpath, elementName, keyName) { // when valueName is null, the inner text is used. Reload += new ReloadHandler(ReloadData); currentValueName = valueName; InitializeComponent(); CreateControl(); }
public XmlAttributeAdapter(XmlNode xmlNode, WixFiles wixFiles, bool editSubNodes) : base(wixFiles) { this.xmlNode = xmlNode; this.editSubNodes = editSubNodes; xmlNodeElement = WixFiles.GetXsdElementNode(xmlNode.Name); if (xmlNodeElement == null) { if (xmlNode.NodeType != XmlNodeType.ProcessingInstruction) { if (warnedNodeNames.Contains(xmlNode.Name) == false) { MessageBox.Show(String.Format("\"{0}\" is not supported in version {1} of WiX!\r\n\r\nPossibly this type is supported in another version of WiX and wix.xsd.", xmlNode.Name, WixEditSettings.Instance.WixBinariesVersion), xmlNode.Name, MessageBoxButtons.OK, MessageBoxIcon.Error); warnedNodeNames.Add(xmlNode.Name); } } } else { XmlNode deprecated = xmlNodeElement.SelectSingleNode("xs:annotation/xs:appinfo/xse:deprecated", wixFiles.XsdNsmgr); if (deprecated != null) { if (warnedNodeNames.Contains(xmlNode.Name) == false) { string msg = String.Format("\"{0}\" is deprecated in version {1} of WiX.", xmlNode.Name, WixEditSettings.Instance.WixBinariesVersion); if (deprecated.Attributes["ref"] != null) { msg = String.Format("{0}\r\n\r\nPlease use \"{1}\" instead.", msg, deprecated.Attributes["ref"].Value); } MessageBox.Show(msg, xmlNode.Name, MessageBoxButtons.OK, MessageBoxIcon.Warning); warnedNodeNames.Add(xmlNode.Name); } } if (xmlNodeElement.Attributes["type"] != null && xmlNodeElement.Attributes["type"].Value != null) { xmlNodeDefinition = wixFiles.XsdDocument.SelectSingleNode(String.Format("/xs:schema/xs:complexType[@name='{0}']/xs:simpleContent/xs:extension", xmlNodeElement.Attributes["type"].Value), wixFiles.XsdNsmgr); if (xmlNodeDefinition == null) { xmlNodeDefinition = wixFiles.XsdDocument.SelectSingleNode(String.Format("/xs:schema/xs:complexType[@name='{0}']", xmlNodeElement.Attributes["type"].Value), wixFiles.XsdNsmgr); showInnerTextIfEmpty = false; } else { showInnerTextIfEmpty = true; } } else { xmlNodeDefinition = xmlNodeElement.SelectSingleNode("xs:complexType/xs:simpleContent/xs:extension", wixFiles.XsdNsmgr); if (xmlNodeDefinition == null) { xmlNodeDefinition = xmlNodeElement.SelectSingleNode("xs:complexType", wixFiles.XsdNsmgr); if (xmlNodeDefinition == null) { // Nothing? xmlNodeDefinition = xmlNodeElement; showInnerTextIfEmpty = true; } else { showInnerTextIfEmpty = false; } } else { showInnerTextIfEmpty = true; } } } }
protected static string GetValueAttributeName(WixFiles wixFiles) { if (wixFiles.XsdDocument.SelectSingleNode("/xs:schema/xs:element[@name='Icon']/xs:complexType/xs:attribute[@name='SourceFile']", wixFiles.XsdNsmgr) != null) { return "SourceFile"; } else if (wixFiles.XsdDocument.SelectSingleNode("/xs:schema/xs:element[@name='Icon']/xs:complexType/xs:attribute[@name='src']", wixFiles.XsdNsmgr) != null) { return "src"; } throw new ApplicationException("WiX xsd should define src or SourceFile attribute on Icon element"); }
public FileImport(WixFiles wixFiles, FileInfo fileInfo, XmlNode componentElement) { this.wixFiles = wixFiles; this.fileInfo = fileInfo; this.componentElement = componentElement; if (WixEditSettings.Instance.IsUsingWix2()) { this.ShortName = "Name"; this.LongName = "LongName"; } else { this.ShortName = "ShortName"; this.LongName = "Name"; } }
public DirectoryImport(WixFiles wixFiles, string[] folders, XmlNode directoryElement) { this.wixFiles = wixFiles; this.folders = folders; this.directoryElement = directoryElement; if (WixEditSettings.Instance.IsUsingWix2()) { this.ShortName = "Name"; this.LongName = "LongName"; } else { this.ShortName = "ShortName"; this.LongName = "Name"; } }
public RegistryImport(WixFiles wixFiles, FileInfo regFileInfo, XmlNode componentElement) { this.wixFiles = wixFiles; this.regFileInfo = regFileInfo; this.componentElement = componentElement; if (WixEdit.Settings.WixEditSettings.Instance.IsUsingWix2()) { registryKeyElementName = "Registry"; registryValueElementName = "Registry"; } else { registryKeyElementName = "RegistryKey"; registryValueElementName = "RegistryValue"; } }
public DisplayBasePanel(WixFiles wixFiles, string xpath, string keyName) : base(wixFiles) { if (xpath == null) { throw new ArgumentException("Require xpath in construction", "xpath"); } if (keyName == null) { throw new ArgumentException("Require keyName in construction", "keyName"); } currentXPath = xpath; currentKeyName = keyName; Reload += new ReloadHandler(ReloadData); CreateControl(); }
public UndoManager(WixFiles wixFiles, XmlDocument wxsDocument) { undoCommands = new ArrayList(); redoCommands = new ArrayList(); beginNewCommandRange = true; this.wxsDocument = wxsDocument; this.wixFiles = wixFiles; this.docIsSavedUndoCount = 0; nodeChangedHandler = new XmlNodeChangedEventHandler(OnNodeChanged); nodeChangingHandler = new XmlNodeChangedEventHandler(OnNodeChanging); nodeInsertedHandler = new XmlNodeChangedEventHandler(OnNodeInserted); nodeRemovingHandler = new XmlNodeChangedEventHandler(OnNodeRemoving); this.wxsDocument.NodeChanged += nodeChangedHandler; this.wxsDocument.NodeChanging += nodeChangingHandler; this.wxsDocument.NodeInserted += nodeInsertedHandler; this.wxsDocument.NodeRemoving += nodeRemovingHandler; timeCheck = DateTime.Now; }
public static ArrayList GetXsdAllElementNames() { ArrayList ret = new ArrayList(); XmlNodeList nodes = xsdDocument.SelectNodes("/xs:schema/xs:element", WixFiles.GetXsdNsmgr()); foreach (XmlNode node in nodes) { ret.Add(node); } foreach (string extensionName in xsdExtensionNames) { XmlDocument extXsd = xsdExtensions[extensionName] as XmlDocument; XmlNamespaceManager extXsdNsmgr = xsdExtensionNsmgrs[extensionName] as XmlNamespaceManager; nodes = extXsd.SelectNodes("/xs:schema/xs:element", extXsdNsmgr); foreach (XmlNode node in nodes) { ret.Add(node); } } return(ret); }
/// <summary> /// Identifier's may contain ASCII characters A-Z, a-z, digits, underscores (_), /// or periods (.). Every identifier must begin with either a letter or an underscore. /// </summary> /// <remarks>http://msdn.microsoft.com/library/en-us/msi/setup/identifier.asp</remarks> /// <param name="filename">Name of file to generate Id from</param> /// <param name="wixDocument">The xmldocument containing the file or directory.</param> /// <returns>A valid Id.</returns> public static string GenerateValidIdentifier(string filename, XmlElement newElement, WixFiles wixFiles) { string newId = filename.ToUpper(); newId = Regex.Replace(newId, "[^A-Z0-9_.]", "_"); if (Regex.Match(newId, "^[A-Z_]").Length == 0) { newId = "_" + newId; } XmlDocument owner = newElement.OwnerDocument; // Make sure you search case insensitive. string searchTerm1 = string.Format( "//wix:{0}[translate(@Id, 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')='{1}']", newElement.Name, newId); if (owner.SelectSingleNode(searchTerm1, wixFiles.WxsNsmgr) == null) { return newId; } // Make sure you search case insensitive. string searchTerm2 = string.Format( "//wix:{0}[translate(@Id, 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')='{1}_{{0}}']", newElement.Name, newId); int index = 1; while (owner.SelectSingleNode(String.Format(searchTerm2, index), wixFiles.WxsNsmgr) != null) { index++; } return newId + "_" + index; }
public EditUIPanel(WixFiles wixFiles) : base(wixFiles) { InitializeComponent(); }
public PropertyElementPropertyDescriptor(WixFiles wixFiles, XmlNode propertyElement, string name, Attribute[] attrs) : base(wixFiles, propertyElement, name, attrs) { }
public SearchElementObject(XmlNode searchNode, WixFiles wixFiles) { _searchNode = searchNode; _wixFiles = wixFiles; }
public DefineManager(WixFiles wixFiles, XmlDocument wxsDocument) { this.wixFiles = wixFiles; this.wxsDocument = wxsDocument; LoadDefines(wixFiles.WxsFile); }
public XmlDisplayForm() { InitializeComponent(); Icon = new Icon(WixFiles.GetResourceStream("dialog.source.ico")); }
public XmlDocumentationManager(WixFiles wixFiles) { this.wixFiles = wixFiles; }