Tuesday, October 13, 2015

Missing LWA (Skype for Business Web App) Directory After S4B Install

Hello members of the growing Skype for Business community! My team lead is out of the country on an extended sabbatical, so things have been a little busy on this end. Busy is good, of course, as it means business is chugging right along in our case, but it also means less time for putting all my thoughts and deployment adventures into blog posts. Today, however, I have carved out a moment to share a brief troubleshooting tip on an odd problem I ran into on recent Skype for Business Standard Edition deployment.

The Build


I had a very basic Skype for Business build recently. All operating systems were running Windows Server 2012 R2. It was comprised of:
  • A single Standard Edition Skype for Business Front End
  • A single Edge Server
  • A single Reverse Proxy (IIS with ARR)
  • No Dialin
  • No Enterprise Voice
  • No Persistent Chat
  • No Office Web Apps
As you can see, this was a VERY straightforward build.

The Problem


Once the build was completed, however, and testing began, we ran into an issue in which a user tried to join a meeting via an email invite, and they clicked on the option to Join Using Skype for Business Web App instead, but ran into an error upon doing so.


The error stated: "Server Error in '/' Application. The resource cannot be found. Description: HTTP 404. The resource you are looking for..." 


Needless to say, I found this odd, especially on a fresh build. Oh well, time to dig in.

The Troubleshooting


Alright, so as with any error, you should start by actually reading the error, and trying to understand what it might be telling you. In our case, we are specifically being told that there is no resource at: '/lwa/WebPages/LwaClient.aspx', which is the client page for those using the Skype for Business Web App as their meeting client. 

It can be very tempting to skip over the obvious implications of an error and jump straight into the complexities, but with how often I have found the "simple" or "obvious" things to be the culprit, I think it is always best to start with them. So, before we get started with verifying DNS, testing our networking config, and pouring through Reverse Proxy configs, we need to go to our Front End, open up the IIS Manager, and verify that the LWA directory is present.

  1. Start -> Administrative Tools -> Internet Information Services (IIS) Manager
  2. Within the IIS Manager, expand the server name node, then expand Sites, and finally expand the site named Skype for Business Server External Web Site. This is the site we should be hitting when joining a meeting from outside the environment.
  3. Verify the 'lwa' directory is present, and if is, verify that the 'WebPages' directory is present beneath it, and finally that the LwaClient.aspx page is listed in the 'WebPages' directory while using "Content View" in the middle pane.
In my case, the 'lwa' directory was completely absent; simply not there! This was a fresh install, mind you, without errors. So, now I know why we are seeing that error - the directory that is being attempted does not exist. 

What next? Now we need to go to the installed Programs and Features and verify that the Skype for Business Server 2015, Skype for Business Web Application shows as installed.

  1. Start -> Control Panel -> Programs -> Uninstall a program.
  2. Scroll down and verify the Skype for Business Server 2015, Skype for Business Web Application is installed.
Ok, so, in my case, it is installed. That is odd. It shows as installed, BUT, in my case, the actual directory is not present in the IIS web site. This sounds to be a bit like something went wrong during the install, and this particular component did not fully install. SO, what do we do?

The Solution


Ok, in order to reinstall this component all over again, without messing with the rest of our config, we will perform the below steps and hope that it works:

  1. Navigate to your Skype for Business Server 2015 installation media, and then to this directory within it: Setup -> amd64 -> Setup.
  2. Run the EnterpriseWebApp.msi.
  3. On the Welcome screen, click Next
  4. As you can see, our only option now is to Remove the Web App, since it detects that it is already installed. 
  5. Once the removal is finished, we can close this wizard. Next we will navigate to C:\Program Files\Skype for Business Server 2015\Deployment\, and run the Bootstrapper.exe. This will go through and detect that we should have the Web App, but that it is not installed, and it will re-install it from scratch. In my case, it completed without errors. 
Now, let's go back and look in IIS Manager for the 'lwa' directory to see if it is present:


BOOM!!! There it was! As you can see, I drilled down into the WebPages directory and verified the presence of the LwaClient.aspx file. The last thing left to do was to try browsing: https://skypeweb.domain.com/lwa/WebPages/LwaClient.aspx. Lo and behold, no more error! Of course, your experience at this point could be different, if there are any other configuration problems at the previously mentioned DNS, networking , or Reverse Proxy levels. And, this experience should not be the standard; that directory is not normally missing. Something was just a bit funky this time.

Well, in case any of you run into the same thing in the future, I hope these steps help you get to the bottom of it!

Stay techy, my friends!



2 comments:

  1. Can i use any version of Steam_api.dll? I've founded it here http://fix4dll.com/steam_api_dll . Or i should only reinstall my windows components to get this file? Thanks for the answer. "

    ReplyDelete
  2. If you find little difficulties in finding the name, you can go to free online resource that will help you brain storm a new domain name and see the availability for the domain name you want. Good Prdirectory london

    ReplyDelete