Войти

Показать полную графическую версию : Определение ключа в реестре всегда возвращает false


dasgespenst
02-03-2016, 23:16
Пробовал разные варианты, но дотнет все равно начинает устанавливаться несмотря на наличие ключа.

Function RegKeyExists(Key)
Dim oShell, entry
On Error Resume Next

Set oShell = CreateObject("WScript.Shell")
entry = oShell.RegRead(Key)
If Err.Number <> 0 Then
Err.Clear
RegKeyExists = False
Else
Err.Clear
RegKeyExists = True
End If
End Function

Sub nt51
If RegKeyExists("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4") Then
else
WScript.CreateObject("WScript.Shell").Run ("C:\distr\dotNetFx40_Full_x86_x64.exe /quiet /norestart")
End if
End Sub

nt51

Iska
03-03-2016, 08:34
Пробовал разные варианты, »
А такой:
If RegKeyExists("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\") Then
?

Ну, а вообще-то правильный путь чуть длиннее:
Практическое руководство.Определение установленных версий платформы .NET Framework (https://msdn.microsoft.com/ru-ru/library/hh925568(v=vs.110).aspx)
В этой статье приведены сведения о том, как узнать, какие версии и пакеты обновления Microsoft .NET Framework установлены на компьютере (https://support.microsoft.com/ru-ru/kb/318785)

dasgespenst
03-03-2016, 11:02
Теперь работает, я как на reg query запрашивал написал ключ.

dasgespenst
03-03-2016, 14:21
А как правильно написать вот эту строчку?

Return = WshShell.Run("schtasks /Create /RU " & ""NT AUTHORITY\SYSTEM"" & " /SC ONSTART /TN OpenHardwareMonitor /TR " & sSystemDrive & """\distr\openhardwaremonitor\OpenHardwareMonitor.exe""", 1, true)

schtasks /Create /RU "NT AUTHORITY\SYSTEM" /SC ONSTART /TN OpenHardwareMonitor /TR %systemdrive%\distr\openhardwaremonitor\OpenHardwareMonitor.exe

sSystemDrive определен.

Iska
03-03-2016, 16:34
With WshShell
Return = .Run("""schtasks.exe"" /Create /RU ""NT AUTHORITY\SYSTEM"" /SC ONSTART /TN OpenHardwareMonitor /TR """ & .ExpandEnvironmentStrings("%SystemDrive%") & "\distr\openhardwaremonitor\OpenHardwareMonitor.exe""", 1, True)
End With

dasgespenst
03-03-2016, 16:59
А что означают две двойные кавычки ""?

Iska
03-03-2016, 18:14
А что означают две двойные кавычки ""? »
Внутри текстовой строки они означают одну результирующую кавычку.




© OSzone.net 2001-2012