Reputation: 19600
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
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
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
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