OK, I'm sure it is staring me right in the face, but I can't see it. \:\)

I couldn't find any UDFs to check installed .net versions. So, I was referencing Determine Which .NET Framework Versions Are Installed. I created:
 Code:
Function CheckDotNet(options $strComputer)
   ; Function:   CheckDotNet
   ;
   ; Author:     Brad Van Orden
   ;             Based on Microsoft Developer Network article:
   ;             How to: Determine Which .NET Framework Versions Are Installed
   ;
   ; Syntax:     CheckDotNet(\[{$strComputer])
   ;
   ; Parameters:  Optional name of remote system to query.
   ;              If omitted, will query the current system.
   ;
   ; Returns:    Two dimensional array.  The first dimension will be the major
   ;             version number.  The second the complete version.
   ;
   ; Dependencies: None
   ;
   DIM $strComputer, $strKey, $intIndex, $strKeyName, $strVers, $arrVer[0,1]
   ;
   If $strComputer = ""
      $strComputer = "."
   EndIf
   ;
   $strKey = "\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"
   $intIndex = 0
   If KeyExist($strKey)
      $strKeyName = EnumKey($strKey, $intIndex)
      While Not @ERROR
         If $strKeyName <> "CDF"
            ; Want to ignore the CDF key
            REDIM PRESERVE $arrVer[$intIndex, $intIndex + 1]
            If Left($strKeyName, 2) = "v1"
               ; The version 1 setup is different.  Need to treat it separately.
               $arrVer[$indIndex, 0] = Left($strKeyName, 2)
               $arrVer[$intIndex, 1] = Substr($strKeyName, 2)
               $intIndex = $intIndex + 1
            Else
               If $strKeyName <> "v4.0"
                  ; Ignore that subkey
                  If $strKeyName = "v4"
                     $strVers = ReadValue("\\" + $strComputer + $strKey + "\Full", "Version")
                     $arrVer[$intIndex, 0] = $strKeyName
                     $arrVer[$intIndex, 1] = $strVers
                     $intIndex = $intIndex + 1
                  Else
                     $strVers = ReadValue("\\" + $strComputer + $strKey, "Version")
                     $arrVer[$intIndex, 0] = $strKeyName
                     $arrVer[$intIndex, 1] = $strVers
                     $intIndex = $intIndex + 1
                  EndIf
               EndIf
            EndIf
         EndIf
      Loop
   EndIf
   $CheckDotNet = $arrVer
EndFunction


I then attempted to call it with:
 Code:
Break On
DIM $SO
$SO = SetOption('Explicit',          'On')
$SO = SetOption('NoMacrosInStrings', 'On')
DIM $arrDotNet[0,1], $strFile, $intI, $intErr
$strFile = "c:\temp\dotnet.ini"
$arrDotNet = CheckDotNet()
For $intI = 1 to Ubound$($arrDotNet)
   $intErr = WriteProfileString($strFile,"localhost",$arrDotNet[$intI,0],$arrDotNet[$intI,1])
Next
but keep getting :
 Code:
ERROR: error in parameterdefinition of [checkdotnet]!
Script:U:\check_dotnet.kix
Note: I might have some typos. I can't directly upload the script. Anyone point out my mistake? Thanks!