public DataView GetData(string nodePath)
        {
            string[] path = nodePath.Split('\\');

            if (path.Length == 4 && path[0] == "Products" && path[2] == "Features")
            {
                return(GetFeatureComponentsData(MsiUtils.GetProductCode(path[1]), path[3]));
            }
            else if (path.Length == 3 && path[0] == "Products" && path[2] == "Components")
            {
                return(GetProductComponentsData(MsiUtils.GetProductCode(path[1])));
            }
            else if (path.Length == 4 && path[0] == "Products" && path[2] == "Components")
            {
                return(GetComponentData(MsiUtils.GetProductCode(path[1]), path[3]));
            }
            else if (path.Length == 5 && path[0] == "Products" && path[2] == "Components" && path[4] == "Sharing")
            {
                return(GetComponentProductsData(path[3]));
            }
            else if (path.Length == 3 && path[0] == "Products" && path[2] == "Files")
            {
                return(GetProductFilesData(MsiUtils.GetProductCode(path[1])));
            }
            else if (path.Length == 3 && path[0] == "Products" && path[2] == "Registry")
            {
                return(GetProductRegistryData(MsiUtils.GetProductCode(path[1])));
            }
            return(null);
        }
예제 #2
0
        public DataView GetData(string nodePath)
        {
            string[] path = nodePath.Split('\\');

            if (path.Length == 3 && path[0] == "Products" && path[2] == "Features")
            {
                return(GetProductFeaturesData(MsiUtils.GetProductCode(path[1])));
            }
            return(null);
        }
예제 #3
0
        public DataView GetData(string nodePath)
        {
            string[] path = nodePath.Split('\\');

            if (path.Length == 1 && path[0] == "Products")
            {
                return(this.GetAllProductsData());
            }
            else if (path.Length == 2 && path[0] == "Products")
            {
                return(this.GetProductData(MsiUtils.GetProductCode(path[1])));
            }
            return(null);
        }
예제 #4
0
        public string GetLink(string nodePath, DataRow row)
        {
            string[] path = nodePath.Split('\\');

            if (path.Length == 3 && path[0] == "Products" && path[2] == "Patches")
            {
                return(String.Format(@"Patches\{0}", row["ProductPatchesPatchCode"]));
            }
            else if (path.Length == 1 && path[0] == "Patches")
            {
                return(String.Format(@"Patches\{0}", row["PatchesPatchCode"]));
            }
            else if (path.Length == 3 && path[0] == "Patches" && path[2] == "Patched Products")
            {
                return(String.Format(@"Products\{0}", MsiUtils.GetProductCode((string)row["PatchTargetsProductCode"])));
            }
            return(null);
        }