Beispiel #1
0
        private static TempFolder PopulateWixDir_Rec(Dictionary <TempFolderObject, WixObject> lookupDict, TempFolder currFolder, WixDirectory currWixFolder, string appRegistryFolder)
        {
            foreach (var file in currFolder.Files)
            {
                WixFile wfile = new WixFile(currWixFolder.GetPath(), file.Name, file.Source, appRegistryFolder);
                currWixFolder.AddFile(wfile);
                lookupDict.Add(file, wfile);
            }

            TempFolder windowsVolumeFlag = null;

            foreach (var folder in currFolder.Folders)
            {
                if (folder.Empty)
                {
                    continue;
                }
                if (folder.Name != @"%windowsvolume%")
                {
                    WixDirectory wfolder = new WixDirectory(folder.Name, currWixFolder.GetPath(), appRegistryFolder);
                    currWixFolder.AddDirectory(wfolder);
                    lookupDict.Add(folder, wfolder);
                    windowsVolumeFlag = PopulateWixDir_Rec(lookupDict, folder, wfolder, appRegistryFolder);
                }
                else
                {
                    var nextFolder = folder.Folders.First();
                    //  WixDirectory wfolder = new WixDirectory(nextFolder.Name, currWixFolder.GetPath(), appRegistryFolder);
                    // currWixFolder.AddDirectory(wfolder);
                    //lookupDict.Add(nextFolder, wfolder);
                    PopulateWixDir_Rec(lookupDict, folder, currWixFolder, appRegistryFolder);//we're skipping ahead in our recursive search but returning a flag.
                    windowsVolumeFlag = nextFolder;
                }
            }
            return(windowsVolumeFlag);
        }
        //public void AddRemoveFile(WixRemoveFile f)
        //{
        //    this.Objects.Add(f);
        //}

        public void AddFile(WixFile f)
        {
            this.Objects.Add(f);
        }
 public void AddFile(WixFile wfile)
 {
     this.Objects.Add(wfile.GetComponent());
 }