Thursday, April 28, 2016

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

If you get the error:

HTTP Error 500.22 - Internal Server Error

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.


Looks like you upgraded recently your project to a newer version.
To solve this problem, follow the next steps:
* In Visual Studio, select your web project
* In the properties section set the Managed Pipeline Mode to Classic
* Compile and re-run the web application



Tuesday, February 23, 2016

MVC error on IIS 7 and 7.5 The Web server is configured to not list the contents of this directory.

If you get the error:The Web server is configured to not list the contents of this directory.

It is because the MVC URLs end without .aspx, these will not be picked up by IIS and run through the intergrated pipeline and therefore you will end up with 404 not found errors.
Another possible cause is you are using a .Net 4.5 application on a server where it was installed after IIS.

To solve this problem consider how much traffic you will have on your site, if you are not going to have a lot of traffic use the attribute runAllManagedModulesForAllRequest with true value, but keep in mind all your registered HTTP modules run on every request, not just managed requests (e.g. .aspx). This means modules will run on ever .jpg .gif .css .html .pdf etc.

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

But if you are going to have a lot of traffic it is better to add the routing module:

<system.webServer>
    <modules>
      <remove name="UrlRoutingModule-4.0" />
      <add name="UrlRoutingModule-4.0" 
           type="System.Web.Routing.UrlRoutingModule" 
            preCondition="" />
    </modules>
  </system.webServer>

Another solution is to install a patch from Microsoft that enables certain IIS 7.0 or IIS 7.5 handlers to handle requests whose URLs do not end with a period.
This is the link to download this patch:

https://support.microsoft.com/en-us/kb/980368


Wednesday, January 20, 2016

SSIS Error: The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.

If you get the error:

Error: The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.

If the problem is in your development studio, you can fix it by running the package in 32 bit mode on your project:

  1. Right-click your solution
  2. Click 'Properties'
  3. Select 'Debugging' node
  4. Set 'Run64BitRuntime' property to False
  5. Save and re-run your solution
  6. Click Apply
  7. Re-run your package

If the problem is in your SQL server put your package in a job and change the run time to 32bit:

  1. Go to SQL Serve Agent option
  2. Right click on Jobs and select 
  3. Go to steps and click on New
  4. Fill out the options with your package information
  5. Click on configuration
  6. Click on Advance
  7. Check on 32 bit
  8. Click on OK
  9. Complete your job and run it