Ich hab vor ner Woche mal was gebastelt was Python Automatisch installiert.
Der User muss bloß vorm Bildschirm sitzen und nix tun. Geht jetzt aber nur mit 3.1.1 kann ich aber noch schnell anpassen.
AutoIt
Code: Alles auswählen
func sendkey($keystr)
Send('{' & $keystr & ' down}')
sleep(500)
Send('{' & $keystr & ' up}')
EndFunc
Func _RegSearch(ByRef $sFound, $sRegPath, $sSearch)
Local $sKey, $sVal, $sVar, $i = 0, $j = 0
While True
$i += 1
$sKey = RegEnumKey($sRegPath, $i)
If @error Then ExitLoop
_RegSearch($sFound, $sRegPath & '\' & $sKey, $sSearch)
$j = 0
While True
$j += 1
$sVal = RegEnumVal($sRegPath & '\' & $sKey, $j)
If @error Then ExitLoop
$sVar = RegRead($sRegPath & '\' & $sKey, $sVal)
If StringInStr($sVar, $sSearch, 2) Then $sFound &= $sRegPath & '\' & $sKey & '\' & $sVal & @CRLF
WEnd
WEnd
Return
EndFunc
$sFound = ''
_RegSearch($sFound, 'HKEY_CURRENT_USER\Software\Python\PythonCore', '3.1')
If $sFound == '' Then
MsgBox(4096, 'Info', 'Python 3.1 wurde noch nicht installiert. Es wird Automatisch Installiert Drücken sie keine Taste auf der Maus und Tastatur!')
$title = 'Python 3.1.1 Setup'
Run('python-3.1.1.msi')
WinWait($title)
WinActivate($title)
Sleep(1000)
sendkey('TAB')
sendkey('TAB')
sendkey('TAB')
sendkey('DOWN')
sendkey('ENTER')
Sleep(1000)
sendkey('ENTER')
Sleep(1000)
sendkey('ENTER')
Sleep(500)
$run = True
While True
If ControlClick($title,"", "Finish") Then
$run = False
EndIf
WEnd
MsgBox(4096, 'Info', 'Die Installation ist abgeschlossen, sie können Maus und Tastatur wieder Benutzen!')
EndIf
FileDelete('python-3.1.1.msi')
FileDelete('install_python_3.1.1.exe')
Wenn es darum geht das man nix installieren will hilft dass nicht, aber man kann es in eine Andere Installationen Einbinden.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.