​​I recently upgraded our Lync 2013 infrastructure to Skype for Business 2015.  Starting out I thought this would be easy, right?  It is nothing more than just a big cumulative update for Lync 2013 server, just hit next, next, finish, and you are done.  While the upgrade was fairly easy, there was a little more to it than just hitting next a bunch of times.  It also took a lot longer than I had expected it to take.  I spent around 8 hours updating 2 front end servers, 2 edge servers, and 1 persistent chat server.

The first problem that I encountered was when I downloaded the topology on a non-Lync 2013 machine and tried to upgrade the topology to include Skype for Business 2015.  When I pushed out topology I started getting errors in the logs and none of the Lync 2013 servers would update topology.  The errors in the event viewer showed that the databased version was 10.15, however the expected version was 10.13. 

I did some searching and came across another blog from someone having the same issue. It seems that when I upgraded the topology on the non-Lync 2013 server, it put a flag in the Lync databases marking it as version 15.  To fix this, I needed to change the flag back to version 13, replicate topology, and then I could change it back to version 15 and leave it there.

Using SQL Management Studio on the SQL server hosting the Lync databases, I opened the Xds database and then the dbo.DbConfigInt table.  I modified the DbVersionSproc value from 15 to 13.  On one of the Lync 2013 servers I then ran Invoke-CsManagementStoreReplication to force replication.  I checked replication by running Get-CsManagementStoreReplicationStatus until all servers in the topology showed that they were updated.

The next issue I encountered was that the SQL Express installation on each server needed to be upgraded from 2008 to at least 2012 SP1.  This required installing SQL Express 2012 SP1, rebooting, updating the rtclocal database, rebooting, updating the lynclocal database, and then rebooting a final time.  To upgrade the rtclocal and lynclocal databases I ran the below commands.

.\SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=RTCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

.\SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=LYNCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

Once I upgraded the SQL Express version on each server, I ran the Skype for Business 2015 installer on the first front end.  During this part of the process it checks for updates, pulls them down, and tries to install them.  The installer was trying to download a hotfix labeled kb2858668 but was failing.  Click here to see Microsoft’s KB article and download the hotfix.  I manually installed the hotfix on the servers and then I was able to successfully run the Skype for Business 2015 installer on each front end.​

Tech Talk Live Blog Comment Guidelines:

One of our main goals at Tech Talk Live is to build a community. It is our hope that this blog can be a forum for discussion around our content. We see commenting as an integral part of this community. It allows everyone to participate, contribute, connect, and share relevant personal experience that adds value to the conversation. Respect counts. We believe you can disagree without being disagreeable. Please refrain from personal attacks, name calling, libel/defamation, hate speech, discriminatory or obscene/profane language, etc. Comments should keep to the topic at hand, and not be promotional or commercial in nature. Please do not link to personal blog posts, websites, or social media accounts that are irrelevant to the conversation. This is considered self-promotion. We welcome links that help further the conversation and reserve the right to delete those we deem unnecessary. The appearance of external links on this site does not constitute official endorsement on behalf of Tech Talk Live or Lancaster-Lebanon Intermediate Unit 13. You are solely responsible for the content that you post – please use your best judgment. We reserve the right to remove posts that do not follow these guidelines.