Exchange 2013 RTM CU2 Upgrade Failed

I was recently contacted regarding a problem with upgrading Exchange 2013 RTM CU1 (Build Number: 15.0.620.29) Multi-Role Servers to CU2  (Build Number: 15.0.712.24). The Customer got the same error on all his five Multi-Role Servers:  Mailbox service FAILED

PS L:\install2\2013 CU2\extracted> setup.exe /IAcceptExchangeServerLicenseTerms /m:upgrade
Welcome to Microsoft Exchange Server 2013 Cumulative Update 1 Unattended Setup
Languages
Mailbox role: Transport service
Client Access role: Front End Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Management tools
Client Access role: Client Access Front End service

Performing Microsoft Exchange Server Prerequisite Check

Configuring Prerequisites COMPLETED
Prerequisite Analysis COMPLETED

Configuring Microsoft Exchange Server

Language Files COMPLETED
Restoring Services COMPLETED
Language Configuration COMPLETED
Mailbox role: Transport service COMPLETED
Client Access role: Front End Transport service COMPLETED
Mailbox role: Client Access service COMPLETED
Mailbox role: Unified Messaging service COMPLETED
Mailbox role: Mailbox service FAILED
The following error was generated when “$error.Clear();
Install-MsiPackage `
-PackagePath ([System.IO.Path]::Combine($RoleLanguagePacksPath, “Setup\ServerRoles\UnifiedMessaging\MSSpeech_SR_TELE.ca-ES.msi”)) `
-PropertyValues (“ARPSYSTEMCOMPONENT=1 ALLUSERS=1″) `
-LogFile ([System.IO.Path]::Combine($RoleSetupLoggingPath, “InstallSpeech-ca-ES.msilog”))
” was run: “Couldn’t open package ‘C:\Program Files\Microsoft\Exchange Server\V15\bin\Setup\ServerRoles\UnifiedMessaging\MSSpeech_SR_TELE.ca-ES.msi’. This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package. Error code is 1619.”.

The Customer had logged on with an account with the right permissions to run the upgrade (Schema- and Enterprise Admin + Domain Admin) and it was run with administrative privileges (Run as Administrator) so that wasn’t the problem.

Looking at the text that was sent to me, besides from the obvious error, I few things caught my attention:

  1. Welcome to Microsoft Exchange Server 2013 Cumulative Update 1 Unattended Setup
  2. No indication of Organization Preparation or any stopping/starting of services
  3. The upgrade was run in Windows PowerShell

This was an error that I hadn’t seen before, so I decided to see if I could reproduce the problem in my lab where I had one single multi-role server, also on CU1, that hadn’t been upgraded yet.

So I did exactly what my customer had done and sure enough… “Got the exact same error
CU2_UpgradeError

So I did as I always do when installing or patching an Exchange 2007/2010/2013 Server, I ran the command from an elevated command prompt. This time, it was clear that I was running the CU2 update, the ORG needed to be prepared and services were stopped, BUT…
CU2_GrammarError 
…the Unified Messaging service failed with: “Cannot find path ´C:\Program Files\Microsoft\Exchange Server\V15\UnifiedMessaging\grammars´ because it doesn’t exist”.

So I created the missing folder and reran the upgrade and this time “The Exchange Server setup operation completed successfully”CU2_Success

At the time of this writing, the TechNet documentation on how to Upgrade Exchange 2013 to the Latest Cumulative Update refers to Install Exchange 2013 Using Unattended Mode that doesn’t have an example on how to run an upgrade (/m:upgrade), but it does mention to run setup.exe in a command prompt.

Some day, if I don’t forget it, I will test an Exchange 2013 Build upgrade using the Setup Wizard. There is a first thing for everything, right?

Comments

  1. Here’s the error log:
    The following error was generated when “$error.Clear();
    if (($RoleIsDatacenter -ne $true) -and ($RoleIsDatacenterDedicated -ne $true))
    {
    if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
    {
    $sysMbx = $null;
    $name = “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}”;
    $dispname = “Microsoft Exchange”;
    $mbxs = @( get-mailbox -arbitration -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
    if ( $mbxs.length -eq 0)
    {
    $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
    if ($dbs.Length -ne 0)
    {
    $arbUsers = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
    if ($arbUsers.Length -ne 0)
    {
    $sysMbx = enable-mailbox -Arbitration -identity $arbUsers[0] -DisplayName $dispname -database $dbs[0].Identity;
    }
    }
    }
    else
    {
    if ($mbxs[0].DisplayName -ne $dispname )
    {
    set-mailbox -Arbitration -identity $mbxs[0] -DisplayName $dispname -Force;
    }
    $sysMbx = $mbxs[0];
    }

    # Set the Organization Capabilities needed for this mailbox
    if ($sysMbx -ne $null)
    {
    Write-ExchangeSetupLog -Info (“Setting mailbox properties.”);
    set-mailbox -Arbitration -identity $sysMbx -UMDataStorage:$true -Force;

    # No RetentionPolicy assigned to E-Discovery arbitration mailbox currently, we need to set it here.
    # This can be remove after BUG(O15#2555914) is fixed.
    if ($sysMbx.RetentionPolicy -eq $null )
    {
    $arbitrationRetentionPolicy = @(Get-RetentionPolicy -DomainController $RoleDomainController | where {$_.Name -eq ‘ArbitrationMailbox’});
    set-mailbox -Arbitration -identity $sysMbx -RetentionPolicy $arbitrationRetentionPolicy[0].Identity -Force;
    }
    }
    else
    {
    Write-ExchangeSetupLog -Info (“Cannot find E-discovery arbitration mailbox with name=$name.”);
    }
    }
    else
    {
    write-exchangesetuplog -info “Skipping creating Discovery Arbitration Mailbox because of insufficient permission.”
    }
    }
    ” was run: “Database is mandatory on UserMailbox.”.

    on 93% of Mailbox Service role.
    PLS someone helps me, also tomorrow I’m FIRED! :(

  2. Same problems here in Italy… Tried the 6th time but now in CMD! Let’s see…

  3. I had the same issue installing Exchange 2013 SP1. I am appalled by this release which I have been trying to install for 3 days now. It has fallen over 8 times with different causes. My installation is fairly simple. Dreadful quality… Now to try again for the 9th time (every time it takes 6 hours!)

    • Peter, running the upgrade in Windows PowerShell will create problems if the syntax is not correct.
      You would need to run: .\setup /IAcceptExchangeServerLicenseTerms /m:upgrade
      Note the “.\” before setup.

      Personally I always start an upgrade in an elevated command prompt (CMD), like this: setup /IAcceptExchangeServerLicenseTerms /m:upgrade

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: