JohnRichard Try this:  #include <Array.au3> ;Only for array displaying
Local $strComputer, $strInput
$strComputer = (InputBox("List software","Enter COMPUTER NAME to query list of installed programs."))
If $strComputer = '' Then
	$strComputer = "\\" & @ComputerName & "\" ;current computer
Else
	$strComputer = "\\" & $strComputer & "\"
EndIf
$return = _SoftwareInfo($strComputer)
_ArrayDisplay($return, "Installed Programs")
Func _SoftwareInfo($computer = $strComputer)
	Local Const $regkey = $computer & 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
	Local $key, $Count = 0, $avArray[1]
	
	While 1
		$Count = $Count + 1
		$key = RegEnumKey($regkey, $Count)
		If @error Then ExitLoop
		
		$line = RegRead($regkey & '\' & $key, 'Displayname')
		If @error Then ContinueLoop
		
		$line = StringReplace($line, ' (remove only)', '')
		$avArray[0] += 1
		ReDim $avArray[$avArray[0] + 1]
		$avArray[$avArray[0]] = $line 
	WEnd
	
Return $avArray
EndFunc