Skype for Business 2015 In-Place Upgrade Step by Step

If you have a purely Lync Server 2013 environment you can upgrade to Skype for Business Server 2015 using the new In-Place Upgrade feature. In-place upgrade provides a one-click solution that backs up certificates, uninstalls server components, upgrades local databases, and installs the Skype for Business Server 2015 roles. In-place upgrade seeks to preserve existing hardware and server investments, reducing the overall cost to deploy Skype for Business Server 2015.

If you have OCS you will first need to migrate to Lync 2013, then decommission the old servers before upgrading. If you have a purely Lync 2010 environment, you can migrate directly to Skype for Business. To learn more about the other deployment options see the following articles:

Update

Check out my article The finer details of a Skype for Business In-Place Upgrade to learn more about the upgrade process and things you should consider.


In-Place Upgrade Summary

Upgrade from Lync Server 2013 to Skype for Business Server 2015 using the following steps:

  1. Ensure you have recent backups of your servers and SQL databases
  2. Make sure all services that are to be upgraded are in a running state
  3. Upgrade and publish the topology file using the topology builder
  4. Stop all services on all Front End servers
  5. On each Front End server, start the In-Place Upgrade
  6. When the upgrade is complete, restart all services:
    • For the Front End pool, restart services using the command Start-CsPool
    • For non-Front End servers, use Start-CSWindowsService.

Important!

  • If you have paired pools, do not unpair them before the upgrade
  • Once you start to upgrade a server pool, you must complete the upgrade of the entire pool. Skype for Business Server doesn’t support having only a portion of the pool upgraded
  • Upgrade the topology from the inside to the outside. Upgrade all your pools first, then the edge servers, and finally the Central Management Store (CMS) pool
  • If you use Kerberos authentication for Web Services, you must reassign Kerberos accounts and reset the password after the In-Place Upgrade is complete. To learn how to do this, see Setting up Kerberos authentication
  • Be sure to uninstall LRS Admin tool for Lync Server 2013 before running In-Place Upgrade. The LRS Admin Tool for Lync Server 2013 cannot coexist with Skype for Business Server 2015. After running In-Place Upgrade install the new LRS Admin tool
  • Support for coexistence – You can run Skype for Business Server in the same topology as Lync Server 2013 or Lync Server 2010. But you can’t run both Lync Server 2013 and Lync Server 2010 in the same topology as Skype for Business Server
  • Skype for Business Server 2015 doesn’t support an In-Place Upgrade of a Lync Server 2010 or Lync Server 2013 Survivable Branch Appliance (SBA), however they can coexistence (learn more below)

Tip: In-place upgrade does not support high availability or disaster recovery for Skype for Business Server. To avoid interrupting users’ services, use the Move users method to upgrade.

 

In-Place Upgrade Options

In-place upgrade involves taking the Lync Server 2013 pool offline and upgrading it to a Skype for Business Server 2015 pool. There are two options for In-Place Upgrade:

  • The Move User method, which requires no downtime for users
  • The Offline method, which requires downtime

Move User Method

The Move User method allows you to upgrade a Lync 2013 server pool without any user downtime. This is achieved by first moving all users from the pool to be upgraded to another pool in the topology, then taking the pool offline and performing the upgrade:

  1. Move users to another pool before you start the upgrade
  2. As part of Move Users you also will need to migrate the global conference directories associated with the primary pool. PSTN dial-in conferencing will still resolve ConferenceID to the pool being upgraded, instead of the paired pool. So you need to move Conference Directories, if you still want PSTN conferences scheduled in the pool to be accessible during upgrade
  3. Follow the In-Place Upgrade Process outlined below
  4. Move users back

 

Offline Method

The Offline Method takes the pool and users offline to perform the upgrade.

Upgrade Prerequisites

Install Server Prerequisites

Before you start the upgrade process you will need to prepare your Lync 2013 environment. The following prerequisites are in addition to what should already be in place to support Lync 2013.

On each server that is servicing the pool that you’re going to upgrade:

  • Install the latest Lync Server 2013 updates – see here (at a minimum you require CU5 5.0.8308.738 but the latest is always best)
  • Apply all Windows Updates ensuring the following are included:
  • Windows PowerShell 3.0 (included with Server 2012 or Server 2012 R2) – get it here
  • SQL server 2012 should be at SP1 – learn how to check this here
  • All other prerequisites should have already be met when Lync 2013 was deployed

Install Administration Tools

In order to upgrade your Lync 2013 topology to Skype for Business you will need to install the Administration Tools. These tools cannot be installed on a server running Lync Server 2013 or any server that the Lync Core Components installed.

  1. Start setup (Setupamd64setup.exe) from your Skype for Business media and follow the prompts to install the Core Components
  2. During installation you can choose whether or not you want to check for product updates before installing:
  3. Once installed run the “Skype for Business Server 2015 Deployment Wizard” and select “Install Administration Tools”:
  4. Once installed you should have the following management tools:


Upgrade Topology

Important!

Before you upgrade your topology, all services must be running for the pools you plan to upgrade. This is so the topology changes will be replicated to the local database of the servers in the pool.

  1. Open the Skype for Business Server Topology Builder
  2. Right-click a Lync Server 2013 pool (this could be a Front End or Edge Pool etc), select Upgrade to Skype for Business Server 2015, and follow the steps
  3. From the Topology Builder right click the top node of the tree and select “Publish Topology”
  4. If you have Archiving or Monitoring enabled for the Front End pool you are upgrading, choose to install the databases
  5. Verify that the changes to the topology have replicated to your environment. You can do this by running the PowerShell command -> Get-CsManagementStoreReplicationStatus

For more information and additional upgrade options see here.

Tip: Save a copy of your topology file before you upgrade. After you upgrade, you will not be able to downgrade the topology.

Upgrade Server

On each server that is servicing the pool that you’re going to upgrade i.e the pools you have already upgraded in the Topology Builder:

  1. Stop all Lync services
    • Run the PowerShell command Disable-CsComputer -Scorch to stop and disable services. This ensures services don’t start after a reboot.
  2. Run the In-Place Upgrade by starting setup (Setupamd64setup.exe) from your Skype for Business media, and follow the prompts
  3. If you are promoted to reboot the installer will continue where it left off
  4. When the In-Place Upgrade completes successfully, you see the following message:
  5. Remember to repeat for ALL servers in the pool!
Once you have upgraded all your servers you can start you services:
  • For Front End pools run the PowerShell command -> Start-CsPool
  • To start servers in all other pools run the PowerShell command -> Start-CsWindowsService
 
Tip: If you don’t want to upgrade your existing Archiving and Monitoring databases, remove the dependency before you upgrade the topology. If you want to create new Archiving and Monitoring databases, during the upgrade, you can create a new SQL store and associate it with the pool. You can find the steps on how to do this in the topic, Upgrade to Skype for Business Server 2015

About Survivable Branch Appliances

Skype for Business Server 2015 doesn’t support an In-Place Upgrade Survivable Branch Appliance (SBA) or Survivable Branch Server (SBS), however they can coexist with Skype for Business Server.

Use this process if you want to use your existing Lync Server 2010 or Lync Server 2013 SBA/SBS when you upgrade your Front End pool to Skype for Business Server 2015.

  1. Move branch users that are on SBA/SBS to another pool
  2. Remove SBA/SBS from your topology to disassociate the existing Front End pool as the backup registrar
  3. Use the In-Place Upgrade to upgrade the Lync Server 2013 Front End pool to Skype for Business Server 2015. If you’re running Lync Server 2010 on your Front End pool, we recommend that you first upgrade to Lync Server 2013, and then upgrade to Skype for Business Server 2015 by using the new In-Place Upgrade feature. For more information, see Migration from Lync Server 2010 to Lync Server 2013
  4. Add your existing SBA/SBS back into your topology
  5. Associate the upgraded Front End pool to the SBA/SBS as a backup registrar
  6. Move the branch users back into the SBA/SBS.

Update – Microsoft now offers this guidance:

Skype for Business Server 2015 doesn’t support an In-Place Upgrade of a Survivable Branch Appliance (SBA) or a Survivable Branch Server (SBS). However, we do support coexistence of Skype for Business Server datacenters with Lync Server 2010 or Lync Server 2013 SBA/SBS.
When planning for an In-Place Upgrade of a Lync Server 2013 Front End (FE) pool with an associated branch, you can leave the existing users on the Lync Server 2013 SBA/SBS. During the upgrade, the SBA/SBS users will go in resiliency mode and will return to normal functionality after the upgrade has completed. For more information about the users’ experience during the resiliency mode, please see Branch-site resiliency features in Lync Server 2013.
When migrating a Lync Server 2010 topology to Skype for Business Server 2015, the SBA/SBS must re-added to the topology, similar to the migration to Lync Server 2013. For the required steps, please read Connecting Survivable Branch Appliance to Lync Server 2013 Front End pool.

 

Andrew Morpeth
Andrew Morpethhttps://ucgeek.co/author/amorpeth/
Andrew is a Modern Workplace Consultant specialising in Microsoft technologies based in Auckland, New Zealand; Andrew is a Director and Professional Services Manager at Lucidity Cloud Services and a Microsoft MVP.

Related Articles

11 COMMENTS

  1. FINALLY Microsoft fixed its issues with my VLSC and I get the download. now I am running into an upgrade issue I cant find an answer to… I was able to upgrade and publish the topology from a non-lync machine as suggested. now on one of my lync FE servers when I try to do the upgrade it gets to the step "Uninstalling roles" and it failes. the error at the bottom says "Error encountered: Error returned while installing Server.msi(RegistrarStoreUpdate, Feature_Server, Feature_Server_Update), code 1638. Please consult log at C:Usersa-mmenzieAppDataLocalTempRemove-Server.msi-RegistrarStoreUpdate,Feature_Server,Feature_Server_Update-[2015_05_11][14_45_25].log"

    can anyone help???

    • MSI (s) (D8:6C) [08:33:23:827]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
      Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
      {42F4AB5F-5643-4AF5-88C7-B523EA1D6510}
      MSI (s) (D8:6C) [08:33:23:827]: Note: 1: 1729
      MSI (s) (D8:6C) [08:33:23:843]: Product: Microsoft Lync Server 2013 — Configuration failed.

      MSI (s) (D8:6C) [08:33:23:843]: Windows Installer reconfigured the product. Product Name: Microsoft Lync Server 2013. Product Version: 5.0.8308.884. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 1638.

      MSI (s) (D8:6C) [08:33:23:858]: MainEngineThread is returning 1638
      MSI (s) (D8:18) [08:33:23:858]: No System Restore sequence number for this installation.
      MSI (s) (D8:18) [08:33:23:858]: User policy value 'DisableRollback' is 0
      MSI (s) (D8:18) [08:33:23:858]: Machine policy value 'DisableRollback' is 0
      MSI (s) (D8:18) [08:33:23:858]: Incrementing counter to disable shutdown. Counter after increment: 0
      MSI (s) (D8:18) [08:33:23:858]: Note: 1: 1402 2: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerRollbackScripts 3: 2
      MSI (s) (D8:18) [08:33:23:858]: Note: 1: 1402 2: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerRollbackScripts 3: 2
      MSI (s) (D8:18) [08:33:23:858]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
      MSI (c) (0C:78) [08:33:23:858]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
      MSI (c) (0C:78) [08:33:23:858]: MainEngineThread is returning 1638
      === Verbose logging stopped: 5/12/2015 8:33:23 ===

  2. i could not post the whole log here cause its too big. i tried to get the section that leads up to the error:

    MSI (s) (D8:6C) [08:33:23:827]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
    Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
    {42F4AB5F-5643-4AF5-88C7-B523EA1D6510}
    MSI (s) (D8:6C) [08:33:23:827]: Note: 1: 1729
    MSI (s) (D8:6C) [08:33:23:843]: Product: Microsoft Lync Server 2013 — Configuration failed.

    MSI (s) (D8:6C) [08:33:23:843]: Windows Installer reconfigured the product. Product Name: Microsoft Lync Server 2013. Product Version: 5.0.8308.884. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 1638.

    MSI (s) (D8:6C) [08:33:23:858]: MainEngineThread is returning 1638
    MSI (s) (D8:18) [08:33:23:858]: No System Restore sequence number for this installation.
    MSI (s) (D8:18) [08:33:23:858]: User policy value 'DisableRollback' is 0
    MSI (s) (D8:18) [08:33:23:858]: Machine policy value 'DisableRollback' is 0
    MSI (s) (D8:18) [08:33:23:858]: Incrementing counter to disable shutdown. Counter after increment: 0
    MSI (s) (D8:18) [08:33:23:858]: Note: 1: 1402 2: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerRollbackScripts 3: 2
    MSI (s) (D8:18) [08:33:23:858]: Note: 1: 1402 2: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerRollbackScripts 3: 2
    MSI (s) (D8:18) [08:33:23:858]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
    MSI (c) (0C:78) [08:33:23:858]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
    MSI (c) (0C:78) [08:33:23:858]: MainEngineThread is returning 1638
    === Verbose logging stopped: 5/12/2015 8:33:23 ===

  3. Hi Andrew .

    The bottom section of your blog regarding SBAs advises that all SBAs needed to be removed and readded to the topology for all scenarios.
    Following Technets guidance, if you are performing and in-place upgrade of Lync 2013 to SFB, users can remain on the SBA attached to the Lync 2013 pool, go into resilience mode while the update occurs and then reestablish full functionality once the pool has been upgraded.

    https://technet.microsoft.com/en-gb/library/dn951396.aspx

  4. Hi,

    I tried to install Skype for Business server 2019 in Windows server 2016. We got errors while installation, please help us to sort out this issue.

    Regards,

    Navinkumar S

    Error Message from Server.msp—————————-
    RegisterPerfmon: Converting DLL path to short format: C:\Program Files\Skype for Business Server 2019\Server\Core\McuFactoryPerf.ini
    RegisterPerfmon: RegisterPerfmon running command: ‘lodctr “C:\PROGRA~1\SKYPEF~1\Server\Core\MCUFAC~1.INI”‘
    RegisterPerfmon: Entering RegisterPerfmon in C:\Windows\Installer\MSIBAF3.tmp, version 3.10.2516.0
    RegisterPerfmon: Converting DLL path to short format: C:\Program Files\Skype for Business Server 2019\Server\Core\DataCollectionPerf.ini
    RegisterPerfmon: RegisterPerfmon running command: ‘lodctr “C:\PROGRA~1\SKYPEF~1\Server\Core\DATACO~1.INI”‘
    RegisterPerfmon: Entering RegisterPerfmon in C:\Windows\Installer\MSIBBCF.tmp, version 3.10.2516.0
    RegisterPerfmon: Converting DLL path to short format: C:\Program Files\Skype for Business Server 2019\Server\Core\SLAPerf.ini
    RegisterPerfmon: RegisterPerfmon running command: ‘lodctr “C:\PROGRA~1\SKYPEF~1\Server\Core\SLAPerf.ini”‘
    RegisterPerfmon: Entering RegisterPerfmon in C:\Windows\Installer\MSIBC6C.tmp, version 3.10.2516.0
    RegisterPerfmon: Converting DLL path to short format: C:\Program Files\Skype for Business Server 2019\Server\Core\BusyOptionsPerf.ini
    RegisterPerfmon: RegisterPerfmon running command: ‘lodctr “C:\PROGRA~1\SKYPEF~1\Server\Core\BUSYOP~1.INI”‘
    RegisterPerfmon: Entering RegisterPerfmon in C:\Windows\Installer\MSIBD09.tmp, version 3.10.2516.0
    RegisterPerfmon: Converting DLL path to short format: C:\Program Files\Skype for Business Server 2019\Server\Health Agent\RtcHealthAgentPerf.ini
    RegisterPerfmon: RegisterPerfmon running command: ‘lodctr “C:\PROGRA~1\SKYPEF~1\Server\HEALTH~1\RTCHEA~1.INI”‘
    CustomAction CA_ExtendExpirationTimer returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
    ——————– End Error Message from Server.msp ———————–
    failure code 1603
    Error returned while installing Server.msi, code 1603. Error Message: A fatal error occurred during installation. For more details please consult log at C:\Users\Administrator.LYNC\AppData\Local\Temp\ApplyPatch-Server.msp-[2018_05_31][12_19_50].log or contact support.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Andrew Morpeth
Andrew Morpethhttps://ucgeek.co/author/amorpeth/
Andrew is a Modern Workplace Consultant specialising in Microsoft technologies based in Auckland, New Zealand; Andrew is a Director and Professional Services Manager at Lucidity Cloud Services and a Microsoft MVP.

Latest Articles