FIX: Service pack installation for Forefront Unified Access Gateway 2010 fails if your logon user name contains Unicode characters

Applies to: Microsoft Forefront Unified Access Gateway 2010 Service Pack 1

Symptoms


If you try to install a service pack for Microsoft Forefront Unified Access Gateway (UAG) 2010, and you log on by using a user name that contains Unicode characters, the installation fails.

Additionally, if you enable verbose MSI logging, an entry that resembles the following is logged:

43473 UAG CA (Info): Debug: Making cab: 'C:\Users\Usêr.CONTOSO\AppData\Local\Temp\khb0h2p0.fyc\kmjatc3s.ktp'. 43474 MSI (s) (7C!28) [14:36:48:407]: Closing MSIHANDLE (15941) of type 790531 for thread 4392 43475 MSI (s) (7C!28) [14:36:48:407]: Creating MSIHANDLE (15942) of type 790531 for thread 4392 43476 UAG CA (Info): Info: Firing ProgressChanged event: Step: 0%, Description: 'Packing configuration files in a cabinet.'. 43477 MSI (s) (7C!28) [14:36:48:416]: Closing MSIHANDLE (15942) of type 790531 for thread 4392 43478 MSI (s) (7C!28) [14:36:48:465]: Creating MSIHANDLE (15943) of type 790531 for thread 4392 43479 UAG CA (Info): Debug: Exit code returned from MakeCab.exe: 1. 43480 MSI (s) (7C!28) [14:36:48:467]: Closing MSIHANDLE (15943) of type 790531 for thread 4392 43481 MSI (s) (7C!28) [14:36:48:467]: Creating MSIHANDLE (15944) of type 790531 for thread 4392 43482 UAG CA (Info): Debug: Setting commited event. 43483 MSI (s) (7C!28) [14:36:48:469]: Closing MSIHANDLE (15944) of type 790531 for thread 4392 43484 MSI (s) (7C!28) [14:36:48:480]: Creating MSIHANDLE (15945) of type 790531 for thread 4392 43485 UAG CA (Info): Error: Caught error (will rethrow after rollback): Microsoft.UAG.Transformer.Util.CabinetException: Failed to create cabinet. 43486 at Microsoft.UAG.Transformer.Util.CabUtil.MakeCab(String sourcePath, String searchPath, String cabinetPath) 43487 at Microsoft.UAG.Transformer.Core.PersistanceGateway.SaveConfigurationIntoStorage() 43488 at Microsoft.UAG.Transformer.Core.PersistanceGateway.Commit() 43489 at Microsoft.UAG.Transformer.Core.SchemaConversionRuntime.Run() 43490 MSI (s) (7C!28) [14:36:48:482]: Closing MSIHANDLE (15945) of type 790531 for thread 4392 43491 MSI (s) (7C!28) [14:36:48:483]: Creating MSIHANDLE (15946) of type 790531 for thread 4392 43492 UAG CA (Info): Info: Firing ProgressChanged event: Step: 0%, Description: 'Conversion aborted due to error, Rolling back.'. 
Note To enable verbose MSI logging, run the following command by substituting the actual package name and output log path:
msiexec /p <packagename> /l*vx! <path_of_output_log>

Cause


This problem occurs because the MakeCab.exe file does not support Unicode characters.

Resolution


To resolve this problem, install the service pack that is described in the following Microsoft Knowledge Base article:

2744025 Description of Forefront Unified Access Gateway 2010 Service Pack 3

Workaround


To work around this problem, log on for the service pack installation by using a user name that contains no Unicode characters.

More Information


During service pack installation, the Setup program creates a CAB file that contains the current Forefront UAG configuration files. It does this by calling a utility from the Microsoft Cabinet SDK into the MakeCab.exe file. MakeCab.exe does not support Unicode characters in file paths. Additionally, Forefront UAG uses the Temp folder under the user's profile directory to construct the CAB file. Therefore, if the user name of the currently logged-on user contains a Unicode character, Makecab.exe fails.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


For more information about software update terminology, click the following article number to go to the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates