Hi all.
Has anyone tried running Windows Server 2008 / IIS7 x64 and used classic ASP COM/DLL objects?
Whenever I want to use either Gflax (any version) or any other new object (using pages which work on 2K3 x86), I get this error:
Microsoft VBScript runtime error '800a01ad'
ActiveX component can't create object
I've done some Google-searching, but can't come up with a working solution...
Windows Server 2008 and classic COM/DLL objects
Moderators: helmut, XnTriq, xnview
Re: Windows Server 2008 and classic COM/DLL objects
Since no one else has answered this question, I guess I'll have to do so my self...
2 issues:
1 - Windows Server 2008 x64 won't run x86 components
Microsoft has a page explaining this, and (almost) how to fix it. I write "almost", because they have a syntax error; trying to put a string value into a boolean container. The way to fix it, is to run this line in C:\inetpub\AdminScripts\:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
2 - File missing
Running Dependency Walker, I found out that gpsvc.dll was missing from the %windir%\System32 folder. I haven't removed it, and the Win2K8 install isn't even 1 month old. I checked my Vista box, which does have the file. So I copied the from my Vista x86 box (shame on me) - and now even Dependency Walker doesn't complain about missing files...
And....all my COM objects, including Gflax, are working.
However, should you have any kind of type or the alike in your ASP / VBscripting, IIS won't tell you where any longer (by default). You have to tell IIS to send you the errors. This is how to:
2 issues:
1 - Windows Server 2008 x64 won't run x86 components
Microsoft has a page explaining this, and (almost) how to fix it. I write "almost", because they have a syntax error; trying to put a string value into a boolean container. The way to fix it, is to run this line in C:\inetpub\AdminScripts\:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
2 - File missing
Running Dependency Walker, I found out that gpsvc.dll was missing from the %windir%\System32 folder. I haven't removed it, and the Win2K8 install isn't even 1 month old. I checked my Vista box, which does have the file. So I copied the from my Vista x86 box (shame on me) - and now even Dependency Walker doesn't complain about missing files...
And....all my COM objects, including Gflax, are working.
However, should you have any kind of type or the alike in your ASP / VBscripting, IIS won't tell you where any longer (by default). You have to tell IIS to send you the errors. This is how to:
- Open the IIS7 manager
- Expand server name.
- Expand "Sites"
- Select the site/domain name which you want to edit.
- Doubleclick "ASP"
- In the new window, expand "Compilation"
- Expand "Debugging properties"
- Make sure the following are set to "true"
- Catch COM component exceptions.
- Enable client side debugging.
- Send errors to browser. - Now click "Apply" to your upper right, under "Actions".
- Select/click on your domain name again.
- Doubleclick "Error pages"
- Select "500 - %SystemDrive%\InetPub...
- On your right, under actions, click "edit feature settings"
- Select "Detailed errors"
- Click "OK"