SOLUTION: Lync 2013 Web Scheduler failed to start

SOLUTION: Lync 2013 Web Scheduler failed to start

Applies to Lync 2013 Server.

Problem:
You enabled Lync 2013 Web Scheduler feature for meetings (that is embedded in to the product) with Set-CsSimpleUrlConfiguration command (see more info) but when you connect to https://scheduler.internal.contoso.com you got the following error after sign in to the Lync Web Scheduler web page:

Lync Web Scheduler failed to start. Please contact your system administrator.

and also if you hit refresh button you got the following error in the page.

Could not load file or assembly ‘Microsoft.Rtc.Internal.WebScheduler’ or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.BadImageFormatException: Could not load file or assembly ‘Microsoft.Rtc.Internal.WebScheduler’ or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly ‘Microsoft.Rtc.Internal.WebScheduler’ could not be loaded.

In IIS log you got the following: (http 500 error)

2013-06-14 13:22:19 ::1 POST /Scheduler/Handler/WebSchedulerHandler.ashx – 443 – ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET4.0C;+.NET4.0E;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729) 500 19 3 2

Cause:
On Lync 2013 Front End Server one of your colleagues might delete/misconfigured  /scheduler  application under  Lync Server External and  Lync Server Internal sites. Or your colleague might mistakenly install Lync 2010 web scheduler msi. (If so uninstall it first) And you may end up with to deal with the problem!

Resolution:
1-  Make sure /scheduler application  points to C:\Program Files\Microsoft Lync Server 2013\Web Components\Web Scheduler\int for the lync server internal site and C:\Program Files\Microsoft Lync Server 2013\Web Components\Web Scheduler\ext for the Lync Server External site. (not C:\Program Files\Microsoft Lync Server 2010… directory!)
Don’t trust the IIS console view just select  /scheduler application right-click and check Physical Path field.

2-  Make sure CSExtWebSchedulerPool and CSIntWebSchedulerPool application pools are set to :net Frame Work V 4.0
Go to Application Pools in IIS select CSExtWebSchedulerPool and CSIntWebSchedulerPool click basic settings set  .Net Frame Work V4.0 (This step solves the Could not load file or assembly … error)

3-  Make sure /scheduler/handler application points to C:\Program Files\Microsoft Lync Server 2013\Web Components\Web Scheduler\int \Handler for the lync server internal site and C:\Program Files\Microsoft Lync Server 2013\Web Components\Web Scheduler\ext\Handler for the Lync Server External site. (not C:\Program Files\Microsoft Lync Server 2010… directory!)
Don’t trust the IIS console view just select  /scheduler/handler application right-click and check Physical Path field.

4-  Make sure /scheduler application and /scheduler/handler  applications runs in CSExtWebSchedulerPool for external site and  CSIntWebSchedulerPool for internal site.
Using IIS console select /scheduler application and /scheduler/handler  application, select Basic Settings on Actions pane and select CSExtWebSchedulerPool for external site and  CSIntWebSchedulerPool for internal site

5- after changes run iisreset and it works

More Information:
How to Enable Lync 2013 Web Scheduler feature:
Run the following Commands in Lync 2013 Server Management Shell

$urlEntry = New-CsSimpleUrlEntry -Url https://scheduler.internal.contoso.com
$simpleUrl = New-CsSimpleUrl -Component “WebScheduler” -Domain “*” -SimpleUrlEntry $urlEntry –ActiveUrl https://scheduler.internal.contoso.com
Set-CsSimpleUrlConfiguration -SimpleUrl @{Add=$simpleUrl} -Verbose
Enable-CsComputer
You may need to run Enable-CsTopology too.

Note: If you want to remove webscheduler simple URL just run the following:
set-CsSimpleUrlConfiguration -SimpleUrl @{Remove=$simpleUrl} -Verbose

Advertisements
Gallery | This entry was posted in Lync 2013 and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

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