예제 #1
0
 protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter();
     try
     {
         if (this.ComponentInfoFileNames == null || this.ComponentInfoFileNames.Count == 0)
         {
             throw new NoComponentInfoFilesException();
         }
         this.ComponentInfoList = new SetupComponentInfoCollection();
         try
         {
             foreach (string path in this.ComponentInfoFileNames)
             {
                 string fileName = Path.Combine(Role.SetupComponentInfoFilePath, path);
                 this.ComponentInfoList.Add(RolesUtility.ReadSetupComponentInfoFile(fileName));
             }
         }
         catch (FileNotFoundException exception)
         {
             base.WriteError(exception, ErrorCategory.ObjectNotFound, null);
         }
         catch (XmlDeserializationException exception2)
         {
             base.WriteError(exception2, ErrorCategory.InvalidData, null);
         }
         this.GenerateAndExecuteTaskScript(this.IsTenantOrganization ? InstallationCircumstances.TenantOrganization : InstallationCircumstances.Standalone);
     }
     finally
     {
         TaskLogger.LogExit();
     }
 }
예제 #2
0
        protected SetupComponentInfo LoadComponent(SetupComponentInfoReference reference)
        {
            TaskLogger.LogEnter(new object[]
            {
                this.RoleName,
                reference.RelativeFileLocation
            });
            string             fileName = Path.Combine(Role.SetupComponentInfoFilePath, reference.RelativeFileLocation);
            SetupComponentInfo result   = RolesUtility.ReadSetupComponentInfoFile(fileName);

            TaskLogger.LogExit();
            return(result);
        }