Что нового

Как определить, установлена ли программа?

shas.1984

Новичок
Сообщения
18
Репутация
0
Здравствуйте, подскажите пожалуйста, скрипт, который бы определял, установлена ли заведомо известная программа (например Adobe Reader) на данный компьютер? или хотя бы направление задайте, куда рыть...
Спасибо!
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Ну я бы рыл в реестр ;) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall - вот тут лежит инсталленный софт и ещё куча информации про него. Перебрать можно с помощью RegEnumKey()

Код:
For $i = 1 To 500 ; 500 - от балды, для примера просто (это сколько софта перебрать)
    $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", $i)
    If @error Then ExitLoop
    MsgBox(0,0,$var)
Next


Тем же макаром прошерстить HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

Некоторого там может и не быть. Остальное получаем через WMIC:

Код:
wmic product get Name > soft.txt
Потом из файла забирать названия. У меня, например, он такой:

Код:
The Bat! v5.1.6.2 Русская Версия                                                                            
Пакет обеспечения совместимости для выпуска 2007 системы Microsoft Office  
Microsoft Office File Validation Add-In                                                                                  
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack                                                                      
Microsoft SQL Server Compact 4.0 SP1 x64 ENU                                                                             
Microsoft .NET Framework 4.5.1 (RUS)                                                                                     
Microsoft .NET Framework 4.5 Multi-Targeting Pack                                                                        
SharePoint Client Components                                                                                             
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.4148 False                                                     
Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022.0 False                                                        
Microsoft Visual C++ 2010 Redistributable - x64 10.0.40219                                                               
Microsoft SQL Server 2012 Express LocalDB                                                                                
Microsoft Visual C++ 2005 Redistributable - x64 8.0.61000                                                                
Oracle VM VirtualBox 4.2.6                                                                                               
Microsoft Visual C++ 2010 Redistributable - x86 10.0.40219                                                               
Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022 False                                                          
Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.21005                                                               
Microsoft Visual C++ 2013 x86 Additional Runtime - 12.0.21005                                                            
Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022 False                                                          
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack (ENU)                                                                
Microsoft Visual Studio 2010 Tools for Office Runtime (x64)                                                              
Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022.218 False                                                      
Open XML SDK 2.5 for Microsoft Office                                                                                    
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4048 False                                                     
Borland Delphi 7                                                                                                         
Microsoft Visual C++ 2005 Redistributable - x86 8.0.59193 False                                                          
Microsoft .NET Framework 4.5 SDK                                                                                         
Microsoft Visual C++ 2005 Redistributable - x64 8.0.51011 False                                                          
Microsoft Silverlight 5 SDK                                                                                              
Java 7 Update 60                                                                                                         
Microsoft SQL Server 2012 T-SQL Language Service                                                                         
Skype™ 6.16                                                                                                             
Adobe AIR                                                                                                                
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729 False                                                          
Microsoft SQL Server 2012 Management Objects  (x64)                                                                      
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161                                                           
Prerequisites for SSDT                                                                                                   
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.5570 False                                                     
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161                                                           
Microsoft SQL Server 2012 Management Objects                                                                             
Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022.0 False                                                        
Microsoft Visual C++ 2005 Redistributable - x64 8.0.58298 False                                                          
NVIDIA PhysX                                                                                                             
Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030                                                            
Adobe Muse CC 2014                                                                                                       
Microsoft Visual C++ 2005 Redistributable - x64 8.0.56336 False                                                          
Microsoft Web Deploy 3.5                                                                                                 
WCF RIA Services V1.0 SP2                                                                                                
Microsoft .NET Framework 4 Multi-Targeting Pack                                                                          
Adobe Muse                                                                                                               
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30411 False                                                          
Microsoft Visual C++ 2005 Redistributable - x64 8.0.50727.42 False                                                       
Microsoft System CLR Types for SQL Server 2012 (x64)                                                                     
Microsoft Office - профессиональный выпуск версии 2003                                       
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.4048 False                                                     
Google Update Helper                                                                                                     
Microsoft SQL Server 2012 Native Client                                                                                  
Microsoft Visual C++ 2005 Redistributable - x64 8.0.59192 False                                                          
Microsoft Games for Windows - LIVE Redistributable                                                                       
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.5570 False                                                     
Microsoft Visual C++ 2005 Redistributable - x86 8.0.58299 False                                                          
Entity Framework Tools for Visual Studio 2013                                                                            
Microsoft SQL Server 2012 Transact-SQL ScriptDom                                                                         
Microsoft Visual C++ 2005 Redistributable - x86 8.0.56336 False                                                          
Microsoft SQL Server Data Tools Build Utilities - enu (12.0.30919.1)                                                     
Microsoft .NET Framework 4.5.1                                                                                           
Microsoft SQL Server Data Tools - enu (12.0.30919.1)                                                                     
Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030                                                            
Microsoft Visual C++ 2010 Redistributable - x64 10.0.30319 False                                                         
Microsoft Visual C++ 2005 Redistributable - x86 8.0.61001                                                                
Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030                                                               
Microsoft Security Client                                                                                                
Microsoft System CLR Types for SQL Server 2012                                                                           
Microsoft Help Viewer 2.1                                                                                                
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148 False                                                     
Microsoft Visual C++ 2010 Redistributable - x86 10.0.30319 False                                                         
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17 False                                                       
Microsoft .NET Framework 4.5.1 SDK                                                                                       
Microsoft Silverlight                                                                                                    
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30411 False                                                          
Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030                                                               
Microsoft Visual C++ 2005 Redistributable - x86 8.0.51011 False                                                          
Microsoft Games for Windows - LIVE                                                                                       
Microsoft SQL Server System CLR Types (x64)                                                                              
Microsoft Visual Studio 2010 Tools for Office Runtime (x64) Language Pack - RUS                                          
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17 False                                                       
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729 False                                                          
Java Auto Updater                                                                                                        
Microsoft Visual C++ 2005 Redistributable - x86 8.0.50727.42 False                                                       
Microsoft SQL Server System CLR Types                                                                                    
Microsoft Identity Extensions                                                                                            
Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022.218 False                                                      
Microsoft Exchange Web Services Managed API 2.0
 

nowost

Знающий
Сообщения
178
Репутация
17
Можешь через WMI пример для определения винды

Код:
If (IsObj($aWMIService)) And (Not @error) Then
    Dim $Col_Items = $aWMIService.ExecQuery('Select * from Win32_OperatingSystem')
        Local $Obj_Items
        For $Obj_Items In $Col_Items
             $OperatingSystem[0][1] = $Obj_Items.caption
			 $OperatingSystem[1][1] = $Obj_Items.SerialNumber
        Next
 Else
	Return 0
 EndIf



Добавлено:
Сообщение автоматически объединено:

вот накидал вариант для определения списка софта
Код:
If (IsObj($aWMIService)) And (Not @error) Then
    Dim $Col_Items = $aWMIService.ExecQuery('Select * from Win32_Product')
        Local $Obj_Items
        For $Obj_Items In $Col_Items
             $Soft &= $Obj_Items.Name&@LF
        Next
 Else
	Return 0
 EndIf
 MsgBox('','',$Soft)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
shas.1984,
Еще так можно получить установленные программы и некоторые данные о них.
Код:
#include <Array.au3>
#include <WinAPIEx.au3>
#include <APIConstants.au3>

Local $tData, $hKey, $aCount, $aApp[1][4] = [['DisplayName', 'DisplayVersion', 'InstallLocation', 'UninstallString']], $hSubKey, $iCount

$tData = DllStructCreate('wchar[1024]')
$hKey = _WinAPI_RegOpenKey($HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Uninstall');$HKEY_CURRENT_USER
$aCount = _WinAPI_RegQueryInfoKey($hKey)
ReDim $aApp[$aCount[0] + 1][4]
For $i = 0 To $aCount[0] - 1
	$hSubKey = _WinAPI_RegOpenKey($hKey, _WinAPI_RegEnumKey($hKey, $i))
	If _WinAPI_RegQueryValue($hSubKey, $aApp[0][0], $tData) Then
		$iCount += 1
		$aApp[$iCount][0] = DllStructGetData($tData, 1)
		For $j = 1 To 3
			If _WinAPI_RegQueryValue($hSubKey, $aApp[0][$j], $tData) Then $aApp[$iCount][$j] = DllStructGetData($tData, 1)
		Next
	EndIf
	_WinAPI_RegCloseKey($hSubKey)
Next
_WinAPI_RegCloseKey($hKey)
If $iCount <> $aCount[0] Then ReDim $aApp[$iCount + 1][4]
_ArrayDisplay($aApp, $iCount)
 
Верх