StoreFront 3.5 upgrade to 3.15 fails with error " Citrix StoreFront 3.15.0.18019 failed"

StoreFront 3.5 upgrade to 3.15 fails with error " Citrix StoreFront 3.15.0.18019 failed"

book

Article ID: CTX237189

calendar_today

Updated On:

Description

StoreFront Version 3.5 fails to upgrade to version 3.15, during the upgrade process the wizard displays the following message "Citrix StoreFront 3.15.0.18019 failed" 

At the bottom of the upgrade wizard window, another message is displayed "NOTE: An error occurred during installation. Please ensure all the required prerequisites have been installed and run the installer again"

StorefrontError

The install logs in c:\Windows\Temp\StoreFront\ eg. Citrix-DeliveryServicesSetupConsole-yyyy-mm-dd hh-mm-ss.log, show the following error:

Begin SnapshotConfiguration
 Creating version snapshot for version '3.5.0.23'.
 Loading backup history configuration
 An error occurred creating the snapshot: 'System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for citrix.deliveryservices/sessionManager: Could not load file or assembly 'Citrix.DeliveryServices.Security.CitrixAuth.Configuration, Version=3.14.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856' or one of its dependencies. The system cannot find the file specified. (C:\inetpub\wwwroot\Citrix\Store\web.config line 48) ---> System.IO.FileNotFoundException: Could not load file or assembly 'Citrix.DeliveryServices.Security.CitrixAuth.Configuration, Version=3.14.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856' or one of its dependencies. The system cannot find the file specified.
   at System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)
   at System.Configuration.MgmtConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)
   at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
   --- End of inner exception stack trace ---
   at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.ConfigurationSectionCollection.Get(String name)
   at System.Configuration.ConfigurationSectionCollection.<GetEnumerator>d__0.MoveNext()
   at Citrix.DeliveryServices.InstallController.Configuration.ConfigFileValidator.ReadSectionGroup(Configuration config, ConfigurationSectionGroup sectionGroup)
   at Citrix.DeliveryServices.InstallController.Configuration.ConfigFileValidator.Validate()
   at Citrix.DeliveryServices.InstallController.Configuration.VersionData.BackupConfigFile(IFeatureInstance instance, DirectoryInfo instanceBackup)
   at Citrix.DeliveryServices.InstallController.Configuration.VersionData.BackupFeatureInstances()
   at Citrix.DeliveryServices.InstallController.Configuration.VersionData.Create(Version version, String backupPath)
   at Citrix.DeliveryServices.InstallController.ConfigurationController.CreateVersionSnapshot(Version version)'.
Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for citrix.deliveryservices/sessionManager: Could not load file or assembly 'Citrix.DeliveryServices.Security.CitrixAuth.Configuration, Version=3.14.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856' or one of its dependencies. The system cannot find the file specified. (C:\inetpub\wwwroot\Citrix\Store\web.config line 48) ---> System.IO.FileNotFoundException: Could not load file or assembly 'Citrix.DeliveryServices.Security.CitrixAuth.Configuration, Version=3.14.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856' or one of its dependencies. The system cannot find the file specified.
   at System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)
   at System.Configuration.MgmtConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)
   at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
   --- End of inner exception stack trace ---

 

Resolution

  1. Perform a VM snapshot of the StoreFront Server where the upgrade of Version 3.5 to 3.15 will be taking place
  2. Download Citrix StoreFront 3.15 and 3.14 from Citrix's website
  3. Upgrade StoreFront from 3.5 to StoreFront 3.14
  4. When install is completed, make a backup of Store's web config file (i.e: C:\inetpub\wwwroot\Citrix\<StoreName>\web.config)
  5. Run the PowerShell Command: (Powershell ISE can be used to run this script)
# Take backup of web.config to desktop before running
 
# Change the path to store web.config location before running
$configLocation = "C:\inetpub\wwwroot\Citrix\<StoreName>\web.config"
$xml = [Xml](Get-Content $configLocation)
 
[xml]$sectionXml = @"
<section name="sessionManager" type="Citrix.DeliveryServices.Security.CitrixAuth.Configuration.SessionManagerSection, Citrix.DeliveryServices.Security.CitrixAuth.Configuration, Version=3.14.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856" />
"@
($xml.configuration.configSections.sectionGroup | ? { $_.name -eq "citrix.deliveryservices"}).AppendChild($xml.ImportNode($sectionXml.section, $true))
 
[xml]$sectionValues = @"
<sessionManager>
      <trustedIssuers>
        <clear />
      </trustedIssuers>
      <certificateValidationMode mode="ChainTrust" />
</sessionManager>
"@
 
$xml.configuration.'citrix.deliveryservices'.AppendChild($xml.ImportNode($sectionValues.sessionManager, $true))
 
$xml.Save($configLocation
        6. Example of output when PowerShell can be seen below
name                                                                                 type                                                                                
----                                                                                 ----                                                                                
sessionManager                                                                       Citrix.DeliveryServices.Security.CitrixAuth.Configuration.SessionManagerSection, ...
sessionManager                                                                                                                                                           


       7. Now upgrade StoreFront from 3.14 over to 3.15
       8. Upgrade is successful to 3.15

Problem Cause

  1. The upgrade to 3.14 is required to include items needed. At this point upgrade, 3.14 over to 3.15 can be completed by running PS script provided in the solution section.
  2. The reference to Citrix.DeliveryServices.Security.CitrixAuth.Configuration.SessionManagerSection in the web.config file is missing the PS script amends this.

Issue/Introduction

Upgrading StoreFront version 3.5 to 3.15 results in a failure during upgrade process. Install wizard displays message "Citrix StoreFront 3.15.0.18019 failed"