Chau Chee Yang
Chau Chee Yang

Reputation: 19600

Deploy Delphi ISAPI dlls compiled with runtime packages

I have a ISAPI application written with Delphi. The application is compiled with runtime packages. Basically, all related bpls should deploy to an ISAPI enabled directory as well in order to get the ISAPI dll works. However, I always face errors when invoke ISAPI dll.

If my ISAPI dll doesn't compile with runtime packages, then it works fine.

The runtime packages should be the cause of the problems. The only solution so far I have is add the runtime packages path to system environment variable: %path% and restart the PC.

Is there any other solution available by not altering the environment variable?

I am using Windows 7 and IIS 7 and Delphi 2010.

Upvotes: 1

Views: 1980

Answers (3)

skamradt
skamradt

Reputation: 15538

The BPL files MUST be in the system path of the machine OR in the directory of the executable (which in this case I believe is svchost.exe?). Now, the fun part. As each application is launched it grabs a snapshot of the environment at that time. If you add to the path, you will have to reboot the machine for it to become active, OR restart the application (which in this case involves restarting the OS).

Upvotes: 0

Ben Ziegler
Ben Ziegler

Reputation: 431

For the case where the ISAPI DLL and the runtime bpl's are in the same directory, check the file permissions on your ISAPI DLL and the runtime .bpl files, and make sure that the Internet Guest account has read+execute access to them.

Upvotes: 1

Michał Niklas
Michał Niklas

Reputation: 54292

Have you tried placing .bpl files in directory where ISAPI dll is?

If this do not work then create installer for your ISAPI and this installer should copy all needed .bpl files to Windows system directory (you can get it using GetSystemDirectory() API function, usually this is <WindowsDir>\system32). For InnoSetup this is {sys} file destination.

Upvotes: 0

Related Questions