Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/rassie.dk/blog.rassie.dk/wp-content/themes/suffusion/functions/media.php on line 666

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/rassie.dk/blog.rassie.dk/wp-content/themes/suffusion/functions/media.php on line 671

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/rassie.dk/blog.rassie.dk/wp-content/themes/suffusion/functions/media.php on line 684

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/rassie.dk/blog.rassie.dk/wp-content/themes/suffusion/functions/media.php on line 689

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/rassie.dk/blog.rassie.dk/wp-content/themes/suffusion/functions/media.php on line 694
Lync 2013 upgrade | Rasmus' Ramblings on IT and other stuff
Dec 142012
 

I have recently begun the process of migrating my workplace’s Lync infrastructure from Lync 2010 to Lync 2013. It is not a trivial process, but easier than my previous upgrade from OCS 2007 R2 to Lync 2010. That involved a number of calls to Microsoft Premier support, and using ADSI Edit to delete some old entries left by a previous installation of Live Communications Server 2005.

The tools to configure and deploy Lync 2013 are very similar to the Lync 2010 tools, so at least the interface is familiar if you know Lync 2010.

As before, it’s not possible to upgrade in-place, you must install the Lync 2013 servers side-by-side and then move users from Lync 2010 to 2013.

During the upgrade I ran into a few problems.

When prepping the domain I got an error about the AD groups already existing. “Well, doh! of course they do, I have a Lync 2010 installation.” was my first thought.

Luckily, that is easily worked around by forcing the domain prep wizard to use the domain by entering the domain name instead of just using the local domain – even though it’s the same. But apparently manually entering the domain name will force the domain prep to allow existing CS groups.

My next problem was a bit more complicated to fix.

Lync 2013 frontend server requires IIS with some specific features installed. The list of features as written by the installer bootstrapping program:

Static Content, Default Document, HTTP Errors, ASP.NET, .NET Extensibility, Internet Server API (ISAPI) Extensions, ISAPI Filters, HTTP Logging, Logging Tools, Tracing, Client Certificate Mapping Authentication, Windows Authentication, Request Filtering, Static Content Compression, Dynamic Content Compression, IIS Management Console, IIS Management Scripts and Tools

Yes, it’s written just like above when you haven’t installed all the IIS features. Even if you have installed some of them, they are all listed in the error message.

Windows Server 2012 has a lot of IIS features, the above are a little more than half of them. After a lot of trial and error, I found out that the missing features were “.NET Extensibility 3.5” and “ASP.NET 3.5” – the required feature list just says “.Net Extensibility” and “ASP.NET”.

So check both of them if you want to be sure to have the necessary .NET and ASP.NET integration in IIS.

Why the 3.5 versions of .NET Extensibility and ASP.NET are required, I don’t know. Other requirements of Lync 2013 on Windows Server 2012 include .NET 4.5. Well, I guess that’s just the way it is, and now that I found the problem and solution, I’m happy to have installed the Lync frontend.

By the way, Curtis Johnstone has a Powershell one-liner which installs all the IIS pre-requisites, in his blog post Tips for Installing the Lync 2013 Server Preview.

Well, I got Lync installed, added a test user to the new pool, and tested communication between users homed on each of the two pools, as well as external access to the new pool via the Lync 2010 edge server. When that all works, you can start moving users.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)