Unable to upgrade or Install. Failing during Configuration Process: Failed to install product. The file exists.

book

Article ID: 184859

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

The customer is trying to upgrade to ITMS 8.5 RU3 (from 8.5 RU1).
Every time that he reaches UnixAgent.config, it fails for example:

Failed to install product.
The file exists.

and then:

Failed to install the product from the file: D:\Program Files\Altiris\UNIX Agent\Config\UnixAgent.config

The file exists.
  

They tried as well running a manual repair on the Unix MSI but didn't make a difference.

Error 1:

The file exists.

   [System.IO.IOException @ mscorlib]
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   at Altiris.Agent.Unix.PackageGenerators.MacInstallerGenerator.CreateMacInstallationArchive(String sDefaultInstallXml)
   at Altiris.Agent.Unix.UnixAltirisAgentInstallation.OnInstallProduct(XmlNode installationNode)
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct()

Exception logged from: 
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct()
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal(String, Boolean, Altiris.NS.Serialization.SerializationMode)
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProduct()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
   at System.Threading.ThreadHelper.ThreadStart()

-----------------------------------------------------------------------------------------------------

Date: 1/9/2020 9:59:17 AM, Tick Count: 62740718 (17:25:40.7180000), Size: 1.62 KB
Process: AeXSvc (15680), Thread ID: 115, Module: Altiris.NS.StandardItems.dll
Priority: 1, Source: Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct
 

 

Error 2:
Failed to install the product from the file: D:\Program Files\Altiris\UNIX
Agent\Config\UnixAgent.config

The file exists.
   [System.IO.IOException @ mscorlib]
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   at
Altiris.Agent.Unix.PackageGenerators.MacInstallerGenerator.CreateMacInstalla
tionArchive(String sDefaultInstallXml)
   at
Altiris.Agent.Unix.UnixAltirisAgentInstallation.OnInstallProduct(XmlNode
installationNode)
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct()
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal(String configFile, Boolean ownsProgressContext, SerializationMode serializationMode)

Exception logged from:
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal(String, Boolean, Altiris.NS.Serialization.SerializationMode)
   at Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProduct()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
   at System.Threading.ThreadHelper.ThreadStart()

----------------------------------------------------------------------------

Date: 1/9/2020 9:59:18 AM, Tick Count: 62741046 (17:25:41.0460000), Size: 1.78 KB
Process: AeXSvc (15680), Thread ID: 115, Module: Altiris.NS.dll
Priority: 1, Source:
Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal
 

 

Cause

Known issue caused by Microsoft limitations.
System.IO.IOException: “The file exists” occurs during call of System.IO.Path.GetTempFileName().
According to Microsoft documentation: "The GetTempFileName method will raise an IOException if it is used to create more than 65535 files without deleting previous temporary files."

Environment

ITMS 8.5

Resolution

Try the following:

      1. Check if the issue is that there are too many files in the Windows Temp directory (C:\Windows\Temp).

2. If Windows/Temp is not that full, check C:\Users\<AccountUsedDuringInstallation>\AppData\Local\Temp

3. Clean up the affecting Temp directory and try running a reconfigure of ITMS again.