public void Init()
        {
            var solution = new Solution(this.Solution.DirectoryName + Path.DirectorySeparatorChar + this.Solution.SolutionName);

            Trace.TraceInformation("Processing solution <"+solution.SolutionName+">");

            using (var pc = new ProjectCollection())
            {
                foreach (ProjectInSolution prj in solution.Projects.Where(p => !p.IsSolutionFolder))
                {
                    var project = new ProjectProcessor(pc.LoadProject(Path.Combine(solution.DirectoryName, prj.RelativePath)));
                    project.Init();
                }
            }
        }
        internal IEnumerable<InnoSetupFileItem> GetFiles(string configuration, string platform)
        {
            using (var pc = new ProjectCollection())
            {
                foreach (ProjectInSolution prj in this.Solution.Projects.Where(p => !p.IsSolutionFolder))
                {
                    var pp = new ProjectProcessor(pc.LoadProject(Path.Combine(this.Solution.DirectoryName, prj.RelativePath)), configuration, platform);

                    Trace.TraceInformation("Processing project <"+pp.Project.FullPath+">");

                    foreach (InnoSetupFileItem file in pp.GetFiles(configuration, platform))
                    {
                        yield return file;
                    }
                }
            }
        }