Accelerator upgrade fails with 'configuration failed' or 'Access to the path ... is denied'

book

Article ID: 100051374

calendar_today

Updated On:

Description

Error Message

The error examples below are from DA:

- Error seen in the DA installer window when upgrading to a major version:

The Veritas Enterprise Vault Discovery Setup completed, but the configuration failed.
It may be possible to rectify the error manually.

- Error seen when creating or upgrading the DA Configuration database from the EVBAAdmin administration website at the prompt "The Accelerator Configuration Database needs to be updated from version A revision X to A revision Y. Click 'Update' to start". The default installation path is listed"

Access to the path "C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManagerConsole.exe.config" is denied.

 

Cause

The issue is caused by the installer attempting to update one or more files where these files have their read-only attribute enabled. As such, the installer receives an access denied message from the operating system during the file update and fails to configure the file, leading to the 'configuration failed' error. Similarly, attempting to create or upgrade the Configuration database post install/upgrade lists the 'Access to the path ... is denied' message when the application attempts to update the file. While the verbiage 'Access to the path . . . is denied' does not clearly state whether the path or the file is denying access, the issue is usually with the file and not the path.

Typically, the configuration files are the ones affected. Such files have a .config extension. To determine which files are causing the issue, the following verbose logging can be enabled and the install/upgrade re-tried. A review of the logs will indicate which files are causing the issue.


1. A CA/DA installation or upgrade can log the upgrade process to a file called AcceleratorPostInstall.Log. This log is located in the Vault Service Account's (VSA) Temp folder, usually at C:\Users\\AppData\Local\Temp\. To access this folder, open File Explorer, go to View, then to Options, then open the View tab, enable the 'Show hidden files, folders, and drives' option, finally click OK to save the change.

The log may contain more information on the errors, similar to:

YYYY-MM-DDTHH:MM:SS    Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManager.exe.config' is denied.
YYYY-MM-DDTHH:MM:SS       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at System.Xml.XmlDocument.Save(String filename)
   at Symantec.Accelerator.PostInstall.BindingRedirect.Process(String evInstallPath, String acceleratorInstallPath, Boolean backupOriginalConfigFiles)
   at Symantec.Accelerator.PostInstall.PostInstallApplication.SetServiceBindings()
   at Symantec.Accelerator.PostInstall.PostInstallApplication.Main(String[] args)

Or

YYYY-MM-DDTHH:MM:SS    Access to the path 'C:\Enterprise Vault Business Accelerator\AcceleratorAdminWeb\Web.config' is denied.
YYYY-MM-DDTHH:MM:SS       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at System.Xml.XmlDocument.Save(String filename)
   at Symantec.Accelerator.PostInstall.ConfigFilesWeb.AddTelerikReferences(String installPath, String webSubDirectory)
   at Symantec.Accelerator.PostInstall.ConfigFilesWeb.CheckEVBAAdmin(String installPath)
   at Symantec.Accelerator.PostInstall.ConfigFilesWeb.CheckWebConfigFiles(String installPath)
   at Symantec.Accelerator.PostInstall.PostInstallApplication.Main(String[] args)


2. Run the install/upgrade using the msiexec.exe command line command with switches to enable verbose logging. There are different command line switches depending on if the installer file has a .msi extension, typically used for the base version install, or a .msp extension, typically used for a release update install. To view the extensions:
- Open File Explorer and navigate to the installer location.
- Go to View, then click the 'File name extensions' option (or go to Options, then open the View tab, disable the 'Hide file extensions for known file types' option, finally click OK to save the change).

Here are examples of the msiexec.exe command line syntax:

msiexec /i "\installerfilename.msi" /L*V \logfilename.log

msiexec /p "\installerfilename.msp" /L*V \logfilename.log

There are 3 entries within the command that need to be edited:
- The /i switch is used to denote .msi files, the /p switch is used to denote .msp files.
- The path and filename of the installer. Choose the correct /i or /p switch based on the msiexec installer file extension: /i for .msi, /p for .msp.
- The location of the log file. The path must be an existing location.

The /L*V switch enables verbose logging and should not be changed. Examples:

- To generate verbose logging for a DA 12.5.0 installation to the DAServerInstallLog.log file under C:\Logs\:

msiexec /i "\Veritas Enterprise Vault Discovery Accelerator\Server\Veritas Enterprise Vault Discovery Accelerator Server.msi" /L*V C:\Logs\DAServerInstallLog.log

- To generate verbose logging for a DA 12.5.3 upgrade to the DAServerUpgradeLog.log under C:\Logs\:

msiexec /p "\Veritas Enterprise Vault Discovery Accelerator\Server\Veritas Enterprise Vault Discovery Accelerator Server 12.5.3.msp" /L*V C:\Logs\DAServerUpgradeLog.log

A review of the resulting log file may show entries similar to:

MSI (s) (EC:3C) [HH:MM:SS:SSS]: File: C:\Program Files (x86)\Enterprise Vault Business Accelerator\DiscoveryWeb\Web.config;    Won't Overwrite;    Won't patch;    Existing file is unversioned but modified
MSI (c) (54!94) [HH:MM:SS:SSS]: PROPERTY CHANGE: Adding CONFIG_ERROR property. Its value is 'Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManager.exe.config' is denied.'.
Property(C): CONFIG_ERROR = Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManager.exe.config' is denied.


3. For a configuration database install/upgrade, run a DTrace:

3.1. Log on to the CA or DA Server as the Vault Service Account.
3.2. Open a Command Prompt and navigate to the EV installation folder.
3.3. Type: DTrace 1000000 [enter]
3.4. At the DT> prompt type: v [enter]
3.5. Note the ID number beside the process(es) to be traced. In this case: AcceleratorManager, AcceleratorService, inetinfo, mmc, w3wp.
3.6. At the DT> prompt type: set v y [enter] (For example: set 1 v y)
3.7. Repeat the 'Set' command for any additional processes as required.
3.8. After adding these Processes, add Exclude Filters to further refine what is captured by the DTrace as follows:
3.8.1. At the DT prompt type: Filter [enter]
3.8.2. At the DT Filter prompt type: exclude EVSqlConnection.UpdateTimeOut [enter]
3.8.3. At the DT Filter prompt type: exit [enter]
3.9. Enable DTrace logging by typing the following and replacing 'c:\dtrace.log' with a location and filename (the log must have a .log extension) for the log. At the DT> prompt type: log c:\dtrace.log
3.10. Re-run the install/upgrade or re-try creating/upgrading the Configuration database. When the issue has been reproduced, go to the DTrace command line window and at the DT> prompt type: quit [enter]
3.11. Respond accordingly to any additional prompts in order to save any logs and exit DTrace.

A review of the DTrace logs may show entries similar to:

[1234]    (AcceleratorService)    <5678>    EV-H    {-} Exception: Error Application_InstallUpgradingConfigurationManager Info:{AcceleratorEvent} {CEVBAAdmin} An error occurred upgrading the configuration file for manager. System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManagerConsole.exe.config' is denied.
|   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
|   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
|   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
|   at System.Xml.XmlDocument.Save(String filename)
|   at KVS.Accelerator.Application.Install.SaveManagerConfigFile(XmlDocument xmldConfig)
|   at KVS.Accelerator.Application.Install.UpdateConfigurationKeys(String DSN) Diag: Type:System.Exception ST: Inner:None

[1234]    (AcceleratorService)    <5678>    EV-H    {-} Exception: Error Application_InstallFailedUpdateDatabase Info:{AcceleratorEvent} {CEVBAAdmin} Failed to update database. System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManagerConsole.exe.config' is denied.
|   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
|   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
|   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
|   at System.Xml.XmlDocument.Save(String filename)
|   at KVS.Accelerator.Application.Install.SaveManagerConfigFile(XmlDocument xmldConfig)
|   at KVS.Accelerator.Application.Install.UpdateConfigurationKeys(String DSN)
|   at KVS.Accelerator.Application.Install.UpdateConfigurationDatabase(String DSN, InstallArgumentDS ArgsDS) Diag: Type:System.Exception ST: Inner:None

[4567]    (w3wp)    <6789>    EV-L    {-} {ClientChannelSink} {C--} ClientChannelSink SyncProcessMessage !!ERROR!!: URI: tcp://localhost:8085/DiscoveryInstall -- Method: UpdateConfigurationDatabase -- Error: Access to the path 'C:\Program Files (x86)\Enterprise Vault Business Accelerator\AcceleratorManagerConsole.exe.config' is denied.

 

Resolution

The properties of the files listed in any errors should be reviewed and their read-only attribute should be disabled if found to be enabled. As the logs may only list the files being accessed at the time of the install/upgrade, it is possible more files than listed in the logs have their read-only attributes enabled.

The easiest way to list files with read-only attributes enabled and to correct this issue is via the following PowerShell commands. In all examples, the default installation path is used. Run the commands via an elevated (administrative) PowerShell window:
- Go to start | type: PowerShell.
- Right-click the Windows PowerShell app | Run as administrator.

Here are the commands:


1. List all files with the read-only attribute enabled:

Get-ChildItem "" -Recurse -ReadOnly | Select-Object FullName

Example using the default installation folder:

Get-ChildItem "C:\Program Files (x86)\Enterprise Vault Business Accelerator" -Recurse -ReadOnly | Select-Object FullName


2. Disable the read-only attribute in all files with the read-only attribute enabled:

Get-ChildItem "" -Recurse -ReadOnly -File | % { $_.IsReadOnly=$false }

Example using the default installation folder:

Get-ChildItem "E:\Program Files (x86)\Enterprise Vault Business Accelerator" *.config -Recurse -ReadOnly -File | % { $_.IsReadOnly=$false }


3. Confirm no more files have the read-only attribute enabled:

Get-ChildItem "" -Recurse -ReadOnly | Select-Object FullName

Example using the default installation folder:

Get-ChildItem "C:\Program Files (x86)\Enterprise Vault Business Accelerator" -Recurse -ReadOnly | Select-Object FullName


Once no more files have their read-only attribute enabled, retry the installation or upgrade.

 

Issue/Introduction

Attempting to upgrade Enterprise Vault (EV) Compliance Accelerator (CA) or Discovery Accelerator (DA) fails with an error stating the configuration failed during the installation, or access to a path is denied when creating or upgrading the Configuration database. This issue may be seen towards the end of the installer when upgrading from a lower version to a higher major version, e.g. from 12.3.x to 12.5.0, or when upgrading the Configuration database after upgrading from a major version to a release update, e.g. from 12.5.0 to 12.5.3.