Exemplo n.º 1
0
 public BuildConfig(ProjectInfo projectInfo, string projectConfig, string platform, string solutionConfig)
 {
     ItsProjectInfo = projectInfo;
     ItsProjectConfig = projectConfig;
     ItsPlatform = platform;
     ItsSolutionConfig = solutionConfig;
     ItsSuccessFlag = null;
 }
 private void PopulateProjectsInfo()
 {
     try
     {
         var mainProjectName =
             Path.GetFileName(((object[]) (_currentSolution.SolutionBuild.StartupProjects))[0].ToString());
         _availableProjectsDict.Clear();
         foreach (Project project in _currentSolution.Projects)
         {
             var paths = Utilities.GetOutputPath(project);
             var projectName = Path.GetFileName(project.FullName);
             if (projectName != null)
             {
                 var info = new ProjectInfo(project.Name, paths)
                                {
                                    ItsStartupProjectFlag = projectName.Equals(mainProjectName, StringComparison.  CurrentCultureIgnoreCase)
                                };
                 _availableProjectsDict.Add(projectName, info);
             }
         }
     }
     catch (Exception e)
     {
         Trace.TraceError("Error while getting the startup application: {0}", e.Message);
     }
 }
        private void InitializeBakeFile(Project project)
        {
            ItsInstallerProjectName = project.Name;
            var paths = Utilities.GetOutputPath(project);
            ItsInstallerProjectInfo = new ProjectInfo(project.Name, paths);
            ItsBakeFile = Path.Combine(paths.ItsRootPath, BakeOutputFileName);
            ItsWixFile = Path.Combine(paths.ItsRootPath, WixOutputFileName);
            BakeMetadata metadata;

            if (!File.Exists(ItsBakeFile))
            {
                using (var vf = File.Create(ItsBakeFile))
                {
                    var mainProjectFile = Path.GetFileNameWithoutExtension(((object[])(_currentSolution.SolutionBuild.StartupProjects))[0].ToString());
                    metadata = new BakeMetadata
                                   {
                                           ItsCompanyName = "MetaGeek, LLC",
                                           ItsIconName = "icon.ico",
                                           ItsMainExecutableDisplayName = string.Format("{0}.exe", mainProjectFile),
                                           ItsMainExecutableSource = string.Format(InitialOutputFile, mainProjectFile),
                                           ItsManufacturer = "MetaGeek",
                                           ItsProductName = mainProjectFile,
                                           ItsUpgradeCode = Guid.NewGuid(),
                                           ItsMainExecutableComponent = new BakeComponent("MainExecutable", Guid.NewGuid()),
                                           ItsProgramMenuComponent = new BakeComponent("ProgramMenuDir", Guid.NewGuid()),
                                           ItsSubDirectories = new List<BakeDirectory>()
                                       };

                    XmlFileParserService.WriteBakeFile(vf, metadata);
                }
            }
            else
            {
                metadata = XmlFileParserService.ReadBakeFile(ItsBakeFile);
            }

            _bakeMetadata = metadata;
            XmlFileParserService.WriteWixFile(metadata, ItsWixFile);
            _eventAggregator.BakeMetadataAvailable.Raise(this, metadata);
        }