/// <summary>
 /// Tries to find a root directory or root directory ref in the specified
 /// document.
 /// </summary>
 FindRootDirectoryResult FindRootDirectory(WixDocument currentDocument)
 {
     if (currentDocument.HasProduct)
     {
         WixDirectoryElement rootDirectory = currentDocument.GetRootDirectory();
         if (rootDirectory != null)
         {
             view.AddDirectories(rootDirectory.GetDirectories());
         }
         document = currentDocument;
         return(FindRootDirectoryResult.RootDirectoryFound);
     }
     else
     {
         WixDirectoryRefElement rootDirectoryRef = currentDocument.GetRootDirectoryRef();
         if (rootDirectoryRef != null)
         {
             view.AddDirectories(rootDirectoryRef.GetDirectories());
             document = currentDocument;
             usingRootDirectoryRef = true;
             return(FindRootDirectoryResult.RootDirectoryRefFound);
         }
     }
     return(FindRootDirectoryResult.NoMatch);
 }
 /// <summary>
 /// Gets the root directory element being used in the document.
 /// Takes into account whether the WixDocument is using a
 /// DirectoryRef element.
 /// </summary>
 WixDirectoryElementBase GetRootDirectoryElement()
 {
     if (usingRootDirectoryRef)
     {
         return(document.GetRootDirectoryRef());
     }
     return(document.GetRootDirectory());
 }
        void UpdateOpenTextEditorWithRootDirectoryRefChanges(ITextEditor textEditor, WixDocument document)
        {
            WixDirectoryRefElement rootDirectoryRef = document.GetRootDirectoryRef();
            string xml = rootDirectoryRef.GetXml(wixTextWriter);

            WixDocumentEditor documentEditor = new WixDocumentEditor(textEditor);

            documentEditor.ReplaceElement(rootDirectoryRef.Id, WixDirectoryRefElement.DirectoryRefElementName, xml);
        }
示例#4
0
		void UpdateOpenTextEditorWithRootDirectoryRefChanges(ITextEditor textEditor, WixDocument document)
		{
			WixDirectoryRefElement rootDirectoryRef = document.GetRootDirectoryRef();
			string xml = rootDirectoryRef.GetXml(wixTextWriter);
			
			WixDocumentEditor documentEditor = new WixDocumentEditor(textEditor);
			documentEditor.ReplaceElement(rootDirectoryRef.Id, WixDirectoryRefElement.DirectoryRefElementName, xml);
		}
		/// <summary>
		/// Tries to find a root directory or root directory ref in the specified
		/// document.
		/// </summary>
		FindRootDirectoryResult FindRootDirectory(WixDocument currentDocument)
		{
			if (currentDocument.HasProduct) {
				WixDirectoryElement rootDirectory = currentDocument.GetRootDirectory();
				if (rootDirectory != null) {
					view.AddDirectories(rootDirectory.GetDirectories());
				}
				document = currentDocument;
				return FindRootDirectoryResult.RootDirectoryFound;
			} else {
				WixDirectoryRefElement rootDirectoryRef = currentDocument.GetRootDirectoryRef();
				if (rootDirectoryRef != null) {
					view.AddDirectories(rootDirectoryRef.GetDirectories());
					document = currentDocument;
					usingRootDirectoryRef = true;
					return FindRootDirectoryResult.RootDirectoryRefFound;
				}
			}
			return FindRootDirectoryResult.NoMatch;
		}
		public void SetUpFixture()
		{
			WixDocument doc = new WixDocument();
			doc.LoadXml(GetWixXml());
			directoryRef = doc.GetRootDirectoryRef();
		}