image image Home   About   Downloads   Support   Links   Contact  
image





Copyright
2002 - 2013
Atozed Computer
Software Ltd.

image
Buy Online   Download Support  FAQ Questions
Atozed Home  »  Archive  »  IntraWeb  »  FAQ  »  ISAPI

ISAPI Deployment FAQ


You are now reading archived content.
Content in this area may be out of date, but is provided for archival purposes.


My Standalone application works fine, but when I deploy as an ISAPI I get an error: -214746759

This error normally indicates one of two things:

1. You are using COM and have not set ComInitialization to ciMultiThreaded in the ServerController. For ISAPI this needs to change from ciNormal to ciMultiThreaded.
2. You do not have the exports clause in your DPR project file. Due to ISAPI pooling, this clause needs to be set explicitly in the DPR whether or not you use ISAPI pooling. Check the Migration Guide in the manual for more information regarding this.

How do I deploy to IIS 5?

This is covered in depth in the IntraWeb manual.

How do I deploy to IIS 6 (Windows 2003)?

This is not yet described in the manual, please see the IIS 6 FAQ for the required steps.

Is there any way to update my ISAPI application?

Microsoft does not provide good remote management for ISAPI applications. You may wish to try the IWServerManager  which comes with IntraWeb or the ISAPI Loader.

When deploying as ISAPI, the following error occurs: EOSError with message "System Error. Code: 5. Denied Access".

Delete the cache directory and restart, or grant the cache directory read / write access by IUSR_<machine name> or the user the ISAPI is set to run as.

When I convert my application to ISAPI it no longer works?

In most cases it is a permissions problem with your code. Since we cannot know what every user's code does, we cannot tell you exactly how to fix it. Please try the following steps:

  1. Try to deploy the GuessDLL demo. If it works, there is a problem with your code in your application, very likely permissions or local configuration.
  2. Try setting the application directory, files and subdirectories to "Everyone, full control"
  3. Try to run your application as the admin user (configured from IIS console). If it works, it is a permissions problem.
  4. If your application is still failing you will need to debug the ISAPI DLL directly. This article on Borland's CodeCentral shows how to do that with IIS5. In genral debugging ISAPIs is more easy with Sambar though, there you just need to set sambar.exe as the ISAPI dll's host application.

If you determine the issue to be permissions, after you have it working with increased permissions you should then fix the problem code, or lower the permissions again and explicitly allow the extra permissions needed. Leaving the permissions fully open as configured during testing is a very large security hole.

How do I deploy a Delphi 2005 ASP.NET assembly built with Intraweb into IIS?

First of all, make sure the NET framework is installed on the deployment machine and that the ASP.NET handlers are configured in IIS. Now, assuming the assembly to deploy is the .NET Guess demo that ships with Intraweb for Delphi 2005, follow this steps:

For IIS5:

1) Build the project (for the typical installation, project path is: C:\Program Files\IntraWeb for Delphi 2005\Demos\NET\Guess).

2) Create a new virtual directory in IIS. It can be a subfolder of the wwwroot or located somewhere else on the disk. For example, create a new subfolder called Guess in wwwroot and create a virtual directory named Guess to point at it. Allow 'Scripts and Executables' execute permission for the virtual directory.

3) Copy Guess.dll and web.config to the newly created virtual dir.

4) Test the application by this URL:

http://localhost:IIS_PORT/Guess/intraweb.aspx

It should display the main form.

For IIS6:

Check the FAQ entry called 'How do I deploy an ISAPI DLL under IIS6'  under IIS6 FAQ then continue with steps 3 and 4.

I deployed the Delphi 2005 Intraweb ASP.NET assembly according to the steps in the FAQ, but when using the application I get a message saying 'File or assembly <xx>, or one of its dependencies, was not found'.

This means that some of the dependant assemblies of your application were not found. Check that the dependant assemblies are in the GAC. Copy the ones which are not there in the same location as your application.