private static string[] GenerateMsiConditions(WixItem item, HashSet <WixItem> processedItems) { List <string> conditions = new List <string>(); if (!processedItems.Contains(item)) { processedItems.Add(item); if (item.Group != null) { conditions.AddRange(WixBackendCompilerServices.GenerateMsiConditions(item.Group, processedItems)); } if (item.Parent != null) { conditions.AddRange(WixBackendCompilerServices.GenerateMsiConditions(item.Parent, processedItems)); } string condition = Install.GetCondition(item.Item); if (!String.IsNullOrEmpty(condition)) { conditions.Add(condition); } } return(conditions.ToArray()); }