public void SetUpFixture()
		{
			SD.InitializeForUnitTests();
			WixBindingTestsHelper.InitMSBuildEngine();
			
			// create the project.
			ProjectCreateInformation info = new ProjectCreateInformation(MockSolution.Create(), new FileName(@"C:\Projects\Test\Test.wixproj"));

			wixProject = new WixProjectWithOverriddenSave(info);
			
			// Add wix extensionitem.
			wixExtensionItem = new WixExtensionProjectItem(wixProject);
			wixExtensionItem.Include = @"..\..\first.dll";
			ProjectService.AddProjectItem(wixProject, wixExtensionItem);
			
			// Run Initialize on the WixExtensionFolderNode, which is 
			// equivalent to expanding the node, so it adds it children. Cannot
			// call ExtTreeNode.Expanding since this relies on the tree node
			// being visible.
			WixExtensionFolderNodeTester nodeTester = new WixExtensionFolderNodeTester(wixProject);
			nodeTester.RunInitialize();
			
			wixExtensionFolderNode = (WixExtensionFolderNode)nodeTester;
			wixExtensionNode = (WixExtensionNode)wixExtensionFolderNode.Nodes[0];
		}
		public void SetUpFixture()
		{
			SD.InitializeForUnitTests();
			WixBindingTestsHelper.RegisterResourceStringsWithSharpDevelopResourceManager();

			wixProject = WixBindingTestsHelper.CreateEmptyWixProject();
			parentNode = new TreeNode();
			WixProjectNodeBuilder builder = new WixProjectNodeBuilder();
			wixProjectNode = builder.AddProjectNode(parentNode, wixProject) as ProjectNode;
			
			foreach (TreeNode node in wixProjectNode.Nodes) {
				if (node is WixLibraryFolderNode) {
					wixLibraryFolderNode = node as WixLibraryFolderNode;
				} else if (node is WixExtensionFolderNode) {
					wixExtensionFolderNode = node as WixExtensionFolderNode;
				}
			}
			
			foreach (TreeNode node in wixProjectNode.Nodes) {
				referenceFolderNode = node as ReferenceFolder;
				if (referenceFolderNode != null) {
					break;
				}
			}
		}
		public void SetUpFixture()
		{
			wixProject = WixBindingTestsHelper.CreateEmptyWixProject();
			
			// Add wix Extension item.
			firstWixExtensionItem = new WixExtensionProjectItem(wixProject);
			firstWixExtensionItem.Include = @"..\..\first-ext.dll";
			ProjectService.AddProjectItem(wixProject, firstWixExtensionItem);
			
			// Add another wix Extension item.
			secondWixExtensionItem = new WixExtensionProjectItem(wixProject);
			secondWixExtensionItem.Include = @"..\..\second-ext.dll";
			ProjectService.AddProjectItem(wixProject, secondWixExtensionItem);

			// Run Initialize on the WixExtensionFolderNode, which is 
			// equivalent to expanding the node, so it adds it children. Cannot
			// call ExtTreeNode.Expanding since this relies on the tree node
			// being visible.
			WixExtensionFolderNodeTester nodeTester = new WixExtensionFolderNodeTester(wixProject);
			nodeTester.RunInitialize();
			
			wixExtensionFolderNode = (WixExtensionFolderNode)nodeTester;
			if (wixExtensionFolderNode.Nodes.Count > 1) {
				firstWixExtensionNode = (WixExtensionNode)wixExtensionFolderNode.Nodes[0];
				secondWixExtensionNode = (WixExtensionNode)wixExtensionFolderNode.Nodes[1];
			}
		}
		public void SetUpFixture()
		{
			ResourceManager rm = new ResourceManager("WixBinding.Tests.Strings", GetType().Assembly);
			ResourceService.RegisterNeutralStrings(rm);

			wixProject = WixBindingTestsHelper.CreateEmptyWixProject();
			parentNode = new TreeNode();
			WixProjectNodeBuilder builder = new WixProjectNodeBuilder();
			wixProjectNode = builder.AddProjectNode(parentNode, wixProject) as ProjectNode;
			
			foreach (TreeNode node in wixProjectNode.Nodes) {
				if (node is WixLibraryFolderNode) {
					wixLibraryFolderNode = node as WixLibraryFolderNode;
				} else if (node is WixExtensionFolderNode) {
					wixExtensionFolderNode = node as WixExtensionFolderNode;
				}
			}
			
			foreach (TreeNode node in wixProjectNode.Nodes) {
				referenceFolderNode = node as ReferenceFolder;
				if (referenceFolderNode != null) {
					break;
				}
			}
		}
        public override void Run()
        {
            // Get WixExtensionFolderNode.
            WixExtensionFolderNode folderNode = GetWixExtensionFolderNode();

            if (folderNode == null)
            {
                return;
            }

            // Display file dialog.
            using (OpenFileDialog fileDialog = CreateOpenFileDialog()) {
                if (DialogResult.OK == fileDialog.ShowDialog(WorkbenchSingleton.MainWin32Window))
                {
                    // Add files to project.
                    WixProject project = ((WixProject)folderNode.Project);
                    project.AddWixExtensions(fileDialog.FileNames);
                    project.Save();
                }
            }

            // Refresh project browser.
            folderNode.Refresh();
            folderNode.Expanding();
            folderNode.Expand();
        }
 static WixExtensionFolderNode GetWixExtensionFolderNodeFromProjectNode(ProjectNode projectNode)
 {
     foreach (TreeNode node in projectNode.Nodes)
     {
         WixExtensionFolderNode folderNode = node as WixExtensionFolderNode;
         if (folderNode != null)
         {
             return(folderNode);
         }
     }
     return(null);
 }
		/// <summary>
		/// Adds a WixProjectNode to the tree. This node will have a
		/// References node, a Wix Extensions node and a Wix Libraries node.
		/// </summary>
		public TreeNode AddProjectNode(TreeNode motherNode, IProject project)
		{
			ProjectNode projectNode = new ProjectNode(project);
			projectNode.AddTo(motherNode);
			
			ReferenceFolder referenceFolderNode = new ReferenceFolder(project);
			referenceFolderNode.AddTo(projectNode);

			WixExtensionFolderNode extensionNode = new WixExtensionFolderNode(project);
			extensionNode.AddTo(projectNode);
			
			WixLibraryFolderNode libraryNode = new WixLibraryFolderNode(project);
			libraryNode.AddTo(projectNode);

			
			return projectNode;
		}
        /// <summary>
        /// Adds a WixProjectNode to the tree. This node will have a
        /// References node, a Wix Extensions node and a Wix Libraries node.
        /// </summary>
        public TreeNode AddProjectNode(TreeNode motherNode, IProject project)
        {
            ProjectNode projectNode = new ProjectNode(project);

            projectNode.AddTo(motherNode);

            ReferenceFolder referenceFolderNode = new ReferenceFolder(project);

            referenceFolderNode.AddTo(projectNode);

            WixExtensionFolderNode extensionNode = new WixExtensionFolderNode(project);

            extensionNode.AddTo(projectNode);

            WixLibraryFolderNode libraryNode = new WixLibraryFolderNode(project);

            libraryNode.AddTo(projectNode);


            return(projectNode);
        }
		public void SetUpFixture()
		{
			wixProject = WixBindingTestsHelper.CreateEmptyWixProject();
			
			// Add wix library item.
			firstWixLibraryItem = new WixLibraryProjectItem(wixProject);
			firstWixLibraryItem.Include = "first.wixlib";
			ProjectService.AddProjectItem(wixProject, firstWixLibraryItem);
			
			// Add another wix library item.
			secondWixLibraryItem = new WixLibraryProjectItem(wixProject);
			secondWixLibraryItem.Include = "second.wixlib";
			ProjectService.AddProjectItem(wixProject, secondWixLibraryItem);
			
			// Add a wix extension item.
			firstWixExtensionItem = new WixExtensionProjectItem(wixProject);
			firstWixExtensionItem.Include = "first-ext.dll";
			ProjectService.AddProjectItem(wixProject, firstWixExtensionItem);
			
			wixLibraryFolderNode = new WixLibraryFolderNode(wixProject);
			wixExtensionFolderNode = new WixExtensionFolderNode(wixProject);
		}