Avatar of sumit dubey
sumit dubey
 asked on

VB Script Run time error : Object not a collection

I am running some installer on my machine which is giving me error on 78th line. I don't know how to fix hence providing you code snippet from line number 74 to 84:
==========================================================
Function GetInstanceNames
      strKeyPath = "SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names"
      dReg.EnumKey  HKEY_LOCAL_MACHINE,strKeyPath,subkeys
      IsSQLsubkeyFound = FALSE
      FOR EACH subkey IN subkeys
            'WScript.echo subkey
            IF subkey = "SQL" THEN
                  IsSQLsubkeyFound = TRUE
                  EXIT FOR
            END IF
      NEXT
===================================================
Note : This script basically checks for the sql instance name and then installs simulator installer. This vb script works fine when I have MSSQLSERVER 2008 Express installed on my machine. However currently I have installed MSSQL Server 2012 and having this error. Screenshot attached, in case more info is required please let me know. Thanks!
error-1.jpg
VB Script

Avatar of undefined
Last Comment
sumit dubey

8/22/2022 - Mon
Rgonzo1971

Hi,

How do you define dReg?

Regards
sumit dubey

ASKER
Hi Rgonzo,

I could find below code which probably talks about "d.Reg" :

Set dReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\default:StdRegProv")

Apologies in advance if the question is not clear to you. Actually the code was written long back and I am here just to use it as an installer.
ASKER CERTIFIED SOLUTION
Rgonzo1971

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Rgonzo1971

Maybe try

If Not IsNull(subkeys) Then
For Each subkey In subkeys
    WScript.Echo subkey
Next
End If

Open in new window

Your help has saved me hundreds of hours of internet surfing.
fblack61
sumit dubey

ASKER
Thanks Rgonzo, the code snippet given by you eliminated previous error (run time error). However now I am having another error as "SQL Instances are not available". Then I checked in registry and found there is no instance name under "SOFTWARE\Microsoft\Microsoft SQL Server" path. May be now I need to check my SQL installation and registry settings. Thanks for your time and help, I will get back to you in case of any further issue.