1

We have followed Microsoft's instructions for installing the Indexing Service in Windows 2008 R2 (64-bit).

After installing, I've confirmed that the ixsso.dll (v6.1.7601.17514) is located in C:/Windows/System32 folder. I believe that this is a 64-bit version of this dll (please let me know if you determine otherwise).

I've also confirmed that the indexing service is running and catalogs have successfully built.

However, we receive an error when implementing the following line of code (classic ASP, VBScript) to programmatically instantiate the object that corresponds to this dll:

 set objQuery = Server.CreateObject("IXSSO.Query")

We receive the following VBScript runtime error:

ActiveX component can't create object

I'd appreciate any help on troubleshooting this issue. Thanks in advance!

Bond
  • 16,071
  • 6
  • 30
  • 53
cjo30080
  • 534
  • 2
  • 7
  • 18
  • Try instantiating it using WSH on your web server. Just create a one-line `.vbs` file like above but without `"Server"`. Run your VBS file using `wscript.exe` found in `\System32` and the one found in `\SysWow64` to see if it works when running under either a 64 or 32-bit host. – Bond Aug 28 '15 at 16:42
  • Thanks for this suggestion. FYI, the dll is not located in SysWow64. Only System32. Is that a problem? – cjo30080 Aug 28 '15 at 16:50
  • Not a problem. I want you to use the `wscript.exe` found in both folders, just to see if one works vs the other. – Bond Aug 28 '15 at 16:51
  • I created a file with the following script: set objQuery = CreateObject("IXSSO.Query") WScript.Echo "Hello World!" WScript.Quit ... I ran this file from the desktop by double-clicking on it (defaults to 64-bit?) and got the "Hello World" message, seeming to indicate that the CreateObject line worked. Sorry. How do I run this vbs file using the 32-bit version of wscript.exe? – cjo30080 Aug 28 '15 at 17:13
  • You can just open a command prompt and navigate to `\SysWow64` and run `wscript.exe c:\path\to\your.vbs`. But it sounds like it works under a 64-bit host so perhaps your ASP application is using the 32-bit ISAPI module. – Bond Aug 28 '15 at 17:15
  • Thanks. FYI, I ran it against the 32-bit version of WSH and received the "ActiveX component can't create object error." – cjo30080 Aug 28 '15 at 17:19
  • In IIS Manager, open the `ISAPI and CGI Restrictions` applet and make sure ASP is mapped to `%windir%\system32\inetsrv\asp.dll` and that it's set to `Allowed`. – Bond Aug 28 '15 at 17:21
  • Yes. "Active Server Pages" is mapped to C:\Windows\System32\inetsvr\asp.dll and set to "Allowed". However, there are also two descriptions for "Indexing Service" in this applet.They both map to dlls in the System32 folder: webhits.dll and idq.dll. The applet indicates that these dlls are "Not Allowed" – cjo30080 Aug 28 '15 at 17:32
  • I don't think those need to be allowed. Do you know if your application pool is set to `Enable 32-bit Applications`? If so, you may need to disable that in order to create the 64-bit COM object you're using. – Bond Aug 28 '15 at 17:45
  • Thanks again. I double-checked, and no, enable 32-bit is not set to True. BTW, did this exercise confirm that the dll is, in fact, a 64-bit component? (I appreciate all of your help so far.) – cjo30080 Aug 28 '15 at 17:53
  • Yeah, it loaded using the 64-bit version of `wscript.exe` so the component is properly registered or you would have received an error when running your vbs file. Your ASP application either doesn't have permission to instantiate the 64-bit component or it's running as a 32-bit app and, therefore, trying to instantiate a 32-bit version of it. – Bond Aug 28 '15 at 17:56
  • Very helpful. Thanks so much. I'm moving forward with this information and will update this case with resolution. – cjo30080 Sep 02 '15 at 21:21

0 Answers0