Link to home
Start Free TrialLog in
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
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!
Avatar of Rgonzo1971


How do you define dReg?

Avatar of sumit dubey


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.
Avatar of Rgonzo1971

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Maybe try

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

Open in new window

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.