Exemplo n.º 1
0
        /// <summary>
        /// Finds all items under a parent group type and creates new WixGroup data for them.
        /// </summary>
        /// <param name="parentType">The type of the parent group to flatten.</param>
        /// <param name="removeUsedRows">Whether to remove used group rows before returning.</param>
        public void FlattenAndRewriteGroups(ComplexReferenceParentType parentType, bool removeUsedRows)
        {
            var parentTypeString = parentType.ToString();

            Debug.Assert(this.groupTypes.Contains(parentTypeString));

            this.LoadFlattenOrderGroups();
            if (this.Messaging.EncounteredError)
            {
                return;
            }

            foreach (Item item in this.items)
            {
                if (parentTypeString == item.Type)
                {
                    this.CreateOrderedList(item.Type, item.Id, out var orderedItems);
                    this.CreateNewGroupRows(item.Type, item.Id, orderedItems);
                }
            }

            if (removeUsedRows)
            {
                this.RemoveUsedGroupRows();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Finds all nested items under a parent group and creates new WixGroup data for them.
        /// </summary>
        /// <param name="parentType">The group type for the parent group to flatten.</param>
        /// <param name="parentId">The identifier of the parent group to flatten.</param>
        /// <param name="removeUsedRows">Whether to remove used group rows before returning.</param>
        public void FlattenAndRewriteRows(ComplexReferenceParentType parentType, string parentId, bool removeUsedRows)
        {
            var parentTypeString = parentType.ToString();

            Debug.Assert(this.groupTypes.Contains(parentTypeString));

            this.CreateOrderedList(parentTypeString, parentId, out var orderedItems);
            if (this.Messaging.EncounteredError)
            {
                return;
            }

            this.CreateNewGroupRows(parentTypeString, parentId, orderedItems);

            if (removeUsedRows)
            {
                this.RemoveUsedGroupRows();
            }
        }
Exemplo n.º 3
0
Arquivo: Linker.cs Projeto: zooba/wix3
 private string CombineTypeAndId(ComplexReferenceParentType type, string id)
 {
     return String.Format("{0}:{1}", type.ToString(), id);
 }