The following are my notes from recently upgrading Lync 2013 Enterprise Edition to Skype for Business 2015 Enterprise Edition.  Our production environment consisted of all Microsoft Server 2012 R2 virtual servers running in a VMware environment.  Our database back-end servers are Microsoft SQL Server 2012.

Pre-requisites

Ensure all servers are fully patched up.  I ran updates July 16th, 2015 after Patch Tuesday and the servers running IIS 8+ were still needing the hotfix outline here (https://support.microsoft.com/en-us/kb/2982006).

Edge Servers

Install Microsoft .Net Framework 3.5 if you have not already.  You may also check for updates after you install .Net 3.5 as there will be updates available.  However, these updates will not prevent the successful installation of Skype for Business 2015.

Front-end Servers, Persistent Chat, File Stores, Database Back-ends

No additional installs.

  1. Connect to computer in the topology that does not have Lync OCSCore or any other Lync components installed. I used a database back-end.  If you try this from a computer in the topology, you will get this error message:

You cannot perform this upgrade until you have used Skype for Business Server 2015, Topology Builder to upgrade the Lync Server 2013 Pools and then publish the upgraded topology. If you have already published an updated topology those changes might not have replicated to this computer. You can force an immediate replication by running the Invoke-CsManagementStoreReplication cmdlet. You can also use the Export-CsConfiguration and Import-CsConfiguration -LocalStore cmdlets to copy the updated topology to this computer. For more information, see the appropriate cmdlet help topic.

 

You cannot perform this upgrade until you have used Skype for Business Server 2015, Topology Builder to upgrade the Lync Server 2013 Pools and then publish the upgraded topology. If you have already published an updated topology those changes might not have replicated to this computer. You can force an immediate replication by running the Invoke-CsManagementStoreReplication cmdlet. You can also use the Export-CsConfiguration and Import-CsConfiguration -LocalStore cmdlets to copy the updated topology to this computer. For more information, see the appropriate cmdlet help topic.

Skype Servers Running IIS 8+ Require a Hotfix

To correct this, go to https://support.microsoft.com/en-us/kb/2982006 and download the hotfix.  Depending on when you attempt this, it may already be available via Windows Update.  I recommend saving this file on your file store for easy access across any of your Lync servers running IIS.

On Step 4, to stop all services Microsoft recommends using, Disable-CsComputer –Scorch.  Make sure you are running the Lync Server Management Shell as an administrator or it will fail.  Disregard the message about running this directly and using bootstrapper –Scorch instead.

Edge Servers

When starting the install on your edge servers, you will get an error prompting you to install Microsoft .Net Framework 3.5.

When starting the install on your edge servers, you will get an error prompting you to install Microsoft .Net Framework 3.5.

Skype Edge Pool Servers Require Microsoft .Net Framework 3.5

When trying to install this, you may get an error message about winrm.  When running winrm qc from an elevated powershell, you get a message about your edge server not being resolvable.  I received this because I enabled the internal adapter to grab the IIS hotfix and a new DNS record with a DHCP IP address was created.  The quick fix is to enable the network adapters as they should be normally and restart.  This clears any issues with your edge server IP address being different from what is in your host file or in your DNS records.  Otherwise, you can clear out any DNS records you have and make sure any artifacts are cleared.

Front-end Error

This error was received on one of the front-ends and on none of the other machine types, i.e. edge pool, persistent chat pool, or Lync file store.

Error encountered: Error returned while installing Server.msi(RegistrarStoreUpdate, Feature_Server, Feature_Server_Update), code 1638. Please consult log at C:\Users\\AppData\Local\Temp\Remove-Server.msi-RegistrarStoreUpdate,Feature_Server,Feature_Server_Update-[2015_07_18][15_28_15].log

Error encountered: Error returned while installing Server.msi(RegistrarStoreUpdate, Feature_Server, Feature_Server_Update), code 1638.

Error encountered: Error returned while installing Server.msi(RegistrarStoreUpdate, Feature_Server, Feature_Server_Update), code 1638.

This is trying to remove the server roles but is failing for an unknown reason, perhaps because the server no longer knows what roles it should have.

Trying Disable-CsComputer –Scorch again in case something was missed provides the same results as before with no errors.

In the powershell when you run Disable-CsComputer –Scorch, it tells you to instead do this as bootstrapper.exe –Scorch.  If you try this, you may get a message that bootstrapper has no idea what –Scorch is.  Don’t worry about this.

Checked Lync services and made sure none were running.

You should be able to go into Programs and Features and remove the Lync roles one at a time, leaving Core for last.  For this upgrade, this allowed the install to continue and completely successfully.

You will then manually need to go through the Skype for Business Server 2015 – Deployment Wizard to:

  1. Install Local Configuration Store
  2. Setup or Remove Skype for Business Server Components
  3. Request, Install, or Assign Certificates
Certificates

Your certificates from Lync 2013 can be re-used and in this case you will just need to re-assign them.  Otherwise, the certificates will already be installed.

Post-install

Skype for Business 2015 Upgrade installs Microsoft SQL Server 2014 as the local data store.  There will be Microsoft updates available, including Service Pack 1.  It is recommended that you keep your servers completely patched and apply these updates.

 

Reference: “Upgrade to Skype for Business Server 2015”; Microsoft TechNet; https://technet.microsoft.com/en-us/library/dn951371.aspx; Retrieved July 16th, 2015