503 error, caused by `iis_ssi.dll failed to load` in the Event Viewer (eventlog) - iis

I'm getting this error in the event log (EventViewer):
The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
OS is Windows2012 Server. How to fix it?

You need to add SSI in Server Manger. Follow these steps:
Add Roles and Features
In Server Roles, expand Web Server (IIS)
Expand Application Development
Select Server Side Includes

For Windows 2012r2 Operating systems, to be more precise following this step:
Open Server Manager Dashboard
Click on Add Roles and Features
Expand Web Server IIS (if not already selected)
Expand Web Server
Expand Application Development and ensure that all unchecked boxes are selected.
Click Next on the select feature windows to advance
In the Confirm installation selection select specify an alternate source path for the installation CD such as F:\sources\sxs to complete the installation.

Related

IIS 10 Error 500.19 (0x80070021) - Lock Violation

I have an application I am trying to migrate from Server 2012 IIS 8 to Server 2016 IIS 10. When I initially move everything over I am receiving the attached error message.
I have read through several stack exchange posts and it basically says the section needs to be unlocked. I have unlocked the section via the command prompt command and via the IIS manager.
The section shows unlocked
This issue happens only with Modules which are listed as Native.
To resolve this error you need to unlock this module from the server level.
Open PowerShell as administrator and run this command.
Remove-WebConfigurationLock -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/modules/add[#name='WindowsAuthenticationModule']"
After unlocking this restart the iis server and try to access the site again.
You can directly unlock this setting using iis manager GUI option.
Select server name from the iis server node and then select module from feature view.
in modules feature, select which module you want to unlock and then right-click on it and select unlock.
and then restart iis server.

msdeploy.axd returns 404

I'm trying to setup webdeploy on IIS8, but why am I getting 404 when accessing both https://[servername]:8172/msdeploy.axd and https://localhost:8172/msdeploy.axd locally.
I've installed management service.
I've installed webdeploy 3.5 using web platform installer. In Program and Features a changed the instalation of webdeploy to include all features including the handler.
In IIS Manager I've chosen Configure Web Deploy Publishing for default website's context menu.
I've restarted management service.
when i tried https://[servername]:8172/msdeploy.axd I was asked to enter credentials and accept the certificate. after that I got 404.
I've uninstalled webdeploy and installed using MSI manually including all features.
restarted entire server.
getting 404.
I don't believe you can open the service from a browser. I attempted that against a dev server that we deploy to many times a day and also received a 404. I would try deploying from VS instead as a test.
Also if anyone comes here and is using Visual Studio Publish dialog and the "Validate Connection" button fails: do NOT use the button when creating. Just click Ok, then Edit (in More actions menu).
In the Connection tab, click Validate Connection. This time it will asks you to accept an invalid certificate (since you likely self-signed it on your server). Accept it and the connection should go through.

unable to launch iis express web server port 80 is in use

I have MVC4 web application project in visual studio 2010. When I want to start it, I have the following error:
Unable to launch the IIS Express Web server: Port"80" is in use.
The problem came after changing the property "Use Local IIS Webserver"
http://blog.lextudio.com/2012/10/port-already-in-use-then-who-uses-it/
If you already have something monitoring port 80 (such as full IIS), then you cannot use another thing to monitor the same port.
Thus, if you do want to use IIS Express, make sure in Project Url: field you specify another port number other than 80.
In VS 2013:
Go to your Web Project Properties, Web Tab.
Select "IIS Express" from the dropdown.
Enter a project URL, such as http://localhost:64510/
If you have "Override application root URL" checked, uncheck it.
The port is probably in use. I usually end the iisexpress.exe. This works if for some reason the port is open and you want to close it.
CTRL+ALT+DEL -> Task Manager ->End process for iisexpress.exe
I just had this happen to me, and didn't understand why as everything had worked fine until restarting my machine. Seems that the full IIS service was running, but only within the manager had it been STOPPED, so when I restarted it turned back on.
FIX IT THIS WAY:
Open up the Internet Information Services (IIS) Manager (use search programs and files, too. See image)
Right click on localhost (top level, left pane), select STOP. Not called 'localhost'? This will probably be called your machine name, but if you hover over the top level on the left pane, you should see 'https://localhost/'. This is what you want. Right click and select STOP.
Now, this is assuming you only want to run IIS Express sites, as anything that required the full IIS won't be running. You should be good to go!
If IIS is running and you are using IIS Express you should stop IIS for it to work.
Such error can appear when YourApp.csproj file contains conflicted settings.
<!-- conflicted settings -->
<UseIISExpress>true</UseIISExpress>
...
<IISUrl>http://localhost/application/</IISUrl>
If you want to use IIS Express you should change IISUrl to http://localhost:11222/ or another free port.
<!-- settings for IIS Express -->
<UseIISExpress>true</UseIISExpress>
...
<IISUrl>http://localhost:11222/</IISUrl>
If you want to use IIS you should set UseIISExpress to false.
<!-- settings for IIS -->
<UseIISExpress>false</UseIISExpress>
...
<IISUrl>http://localhost/application/</IISUrl>
Another answer does mention this, however, if you're using IIS Express within Visual Studio AND have IIS enabled in Windows Features; It will be the "Default IIS Site" that is using port 80. Simple open IIS and stop the site running by right-clicking on the top node.
Sql Server could also be the culprit. I stopped Sql Server and it freed up the port.

IIS7 Authentication problem

I have deployed a web site to a Win 2008 Web server with IIS7. The site works fine on a Win 2003 Standard server with IIS6. On the 2008 box, whenever I request a page (htm or aspx) from a folder named Reports, I get challenged with the Windows Authentication dialog box.
I have Anonymous Authentication and Forms Authentication enabled on the site. I applied Full Control permissions to the root of the site for both NETWORK SERVICE and IIS_IUSRS, but that hasn't make a difference.
Like a previous post already mentioned, here are the detailed steps to fix this:)
If there is a folder in the application named "Reports" and SQL Server Reporting Services are installedon the server, then Reporting Services Virtual Directory folder that is also named "Reports" will be in conflict with the application "Reports" folder.
To fix this open Reporting Services Configuration Manager (Start->All Programs->MS SQL Server->Configuraton Tools) and change the Virtual Directory under the "Report Manager URL" in the menu on the left.
Did you install MSSQL Reporting Services on your new machine? It'll use the Reports folder for the reporting toolkit (default setting) and under MSSQL 2008 you can't enable anonymous Access out of the box.
whats is the authentication mode in your web.config, verify that is not in Windows
<authentication mode="Windows" />
also be sure to disable integrated windows authentication in iis
You could try running FileMon from SysInternals to see if it is the file system that is sending back the "access denied".
Quote from another forum that solved this issue for me:
"SQL Server Reporting Services creates a folder called Reports by default if you install it on IIS. If you install SQL 2008 then Reporting Services doesn't need to use IIS and instead will try to reserve the URL with the HTTP.Sys service.
I believe this is the cause of the conflict you are seeing. What you could try is changing the URL that Reporting Services uses via the SQL Server Reporting Services Configuration Manager."
Well speaking on the same subject here, yesterday I was deploying my application on Windows Server 2008 running IIS7 w/MSSQL 2008 on there too. In my website's tree structure I had a folder named Reports that had a subfolder in it, and then the actual pages. It looked like this "Reports/SalaryReports/SalaryReport.aspx" The interesting thing was that when I clicked on a hyperlink to go to "Reports/SalaryReports/SalaryReport.aspx" I got a username/password prompt from my server. This did not happen on the VS development server when I ran the application on the development machine. So I was like hmm? I looked at the code-behind in SalaryReport.aspx and did not find anything unusual. So then I put a Default.aspx directly in the Reports folder (thinking maybe it was something wrong with the authentication going two nodes down from the root to get to SalaryReport.aspx) but the server still requested username/password even though there was no security settings applied to this new Default.aspx. So I figured it must be that the folder is named "Reports", so I renamed it to "Reports1" and bigno! Everything worked!....I will still look further in this issue today, but it seems that either an IIS 7 HttpModule (not one of mine) is trying to "reserve" the folder that is named "Reports" for itself or something else...I'll look into the SQL Server Reporting services as the above post mentioned...
Anyways, just wanted to share:)
I'm supposing you don't have a SQL Reporting Services running on the same server:
1 - Give rights to user "IUSR" and the user that's running your application pool.
2 - Overwrite child folder permissions and ownership.
2 - Check if there's a web.config file on that folder setting different access rules.

Retrieving the COM class factory for component failed

I am using an excel object (COM component) for excel manipulation. It works fine on my PC, but when I deploy the application to our Intranet I am getting this error:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005
I am using windows authentication and impersonate=true in my web.config.
I made all the settings in component service but it still gives the same error.
Please help
I had the same error when I deployed my app. I've got solution from this site: Component with CLSID XXX failed due to the following error: 80070005 Access is denied
Here is this solution:
In DCOMCNFG, right click on the My Computer and select properties.
Choose the COM Securities tab.
In Access Permissions, click Edit Defaults and add Network Service to it and give it Allow local access permission. Do the same for < Machine_name >\Users.
In Launch and Activation Permissions, click Edit Defaults and add Network Service to it and give it Local launch and Local Activation permission. Do the same for < Machine_name >\Users.
*I used forms authentication.
This did the trick for me:
(solution from the msdn forum)
goto Controlpanel --> Administrative tools-->Component Services -->computers --> myComputer -->DCOM Config --> Microsoft Excel Application.
right click to get properties dialog. Goto Security tab and customize permissions accordingly.
In Launch and Application Permissions, select Customize, Edit. Add the user / group that calls the application.
There's one more issue you might need to address if you are using the Windows 2008 Server with IIS7. The server might report the following error:
Microsoft Office Excel cannot access the file 'c:\temp\test.xls'. There are several possible reasons:
The file name or path does not exist.
The file is being used by another program.
The workbook you are trying to save has the same name as a currently open workbook.
The solution is posted here (look for the text posted by user Ogawa): http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required
You will also get this error when there are stale EXCEL.EXE processes in the system (Use Task Manager --> Processes tab to view these.)
Kill all those instances and the application would work normally.
I have Done the Following Things in IIS 8.5 (Windows Server 2012 R2)Server and its Worked in My Case Without Restart:
Selecting The Application Pool That Connected to The Application in IIS
And Right Click --> Advanced Settings --> Process Model --> Select Local System Instead of Recommended ApplicationPoolIdentity
And Make Sure C:\Windows\SysWOW64\config\systemprofile\desktop Have Enough Access For Users.
Refresh the Website Link that Connected With this Pool
In case it helps somebody:
I am running Windows 7 64-bit and I wanted to register a 32-bit dll.
First I tried: regsvr32 <path\name.dll> and got the following error:
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {A1D59B81-C868-4F66-B58F-AC94A4A7982E} failed due to the following error: 80040154.
Then I tried to add the application through the Component Services (Run->DCCOMCNFG) and got the following error:
System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {A1D59B81-C868-4F66-B58F-AC94A4A7982E} failed due to the following error: 80070005.
There are many links to solving it but what worked for me was:
Console Root -> Component Services -> Computers -> My Computer -> COM+ Applications -> your_application_name -> Properties: Security tab: Authorization: Uncheck 'Enforce access checks for this application'.
I don't know what it does.
I can understand your pain. In my case the error got resolved by performing below steps:
Start > Run > dcomcnfg.
Open the folder DCOM Config and Select Component Services > Computers > My Computer > DCOM Config.
Select “Microsoft Office Word 97 – 2003 document”/”Microsoft Excel Application” and go to its properties.
In "Security" tab set “Launch and Activation Permissions” need to be Customize (Authorized user).
Now go to IIS and select application pool of the Web and go to its Advanced Settings and select “NETWORK SERVICE” as identity user.
Hope this helps.
The CLSID you describe is for the Microsoft.Office.Interop.Excel.ApplicationClass. This class basically launches excel.exe through InprocServer32. If you don't have it installed then it will return the error message you received above.
For IIS 8 I did basically the same thing as Monic. Im running my application as its own app pool on an x64 machine 1.In DCOMCNFG, right click on the My Computer and select properties.
2.Choose the COM Securities tab.
3.In Access Permissions, click Edit Defaults and add iis apppool\myapp to it and give it Allow local access permission. Do the same for iis apppool\myapp
4.In launch and Activation Permissions, click Edit Defaults and add iis apppool\myapp to it and give it Local launch and Local Activation permission. Do the same for iis apppool\myapp.
additionally I had to make the folders outlined under C:\Windows\SysWOW64\config\systemprofile\Desktop and give read \ write permissions to iis apppool\myapp also
I'm getting this same error when trying to export a csv file from Act! to Excel. One workaround I found was to run Act! as an administrator.
That tells me this is probably some sort of permission issue but none of the previous answers here solved the problem. I tried running DCOMCNFG and changing the permissions on the whole computer, and I also tried to just change permissions on the Excel component but it's not listed in DCOMCNFG on my Windows 10 Pro PC.
Maybe this workaround will help someone until a better solution is found.
If you run the app from the Task Scheduler, it helps to check option in General parameters "Run with highest privileges".

Resources