/// <summary> /// Gets the directory object for the provided application root path. /// </summary> /// <param name="recalculate">Recalculate root directory.</param> /// <returns>Directory for root.</returns> public Wix.Directory GetRootDirectory(bool recalculate) { if (null == this.source) { throw new ArgumentNullException("Source"); } if (recalculate || null == this.rootDirectory) { DirectoryHarvester directoryHarvester = new DirectoryHarvester(); this.rootDirectory = directoryHarvester.HarvestDirectory(this.source, true); Wix.Wix wix = new Wix.Wix(); Wix.Fragment fragment = new Wix.Fragment(); wix.AddChild(fragment); fragment.AddChild(this.rootDirectory); UtilMutator utilMutator = new UtilMutator(); utilMutator.GenerateGuids = true; utilMutator.SetUniqueIdentifiers = true; utilMutator.Mutate(wix); UtilFinalizeHarvesterMutator finalMutator = new UtilFinalizeHarvesterMutator(); finalMutator.Mutate(wix); } return(this.rootDirectory); }
/// <summary> /// Mutate a WiX document. /// </summary> /// <param name="wix">The Wix document element.</param> public override void Mutate(Wix.Wix wix) { // delegate to contained instance. utilMutator.Mutate(wix); }
/// <summary> /// Gets the directory object for the provided application root path. /// </summary> /// <param name="recalculate">Flag to recalculate root directory.</param> /// <returns>Directory harvested from root.</returns> public Wix.Directory GetRootDirectory(bool recalculate) { if (null == this.source) { throw new ArgumentNullException("RootPath"); } if (recalculate || null == this.rootDirectory) { DirectoryHarvester directoryHarvester = new DirectoryHarvester(); this.rootDirectory = directoryHarvester.HarvestDirectory(this.source, true); Wix.Wix wix = new Wix.Wix(); Wix.Fragment fragment = new Wix.Fragment(); wix.AddChild(fragment); fragment.AddChild(this.rootDirectory); UtilMutator utilMutator = new UtilMutator(); utilMutator.GenerateGuids = true; utilMutator.SetUniqueIdentifiers = true; utilMutator.Mutate(wix); UtilFinalizeHarvesterMutator finalMutator = new UtilFinalizeHarvesterMutator(); finalMutator.Mutate(wix); } return this.rootDirectory; }