Teamviewer 8 Host Silent Install - Tobi's Welt

Teamviewer 8 Host Silent Install

Bei meinen PC-Kunden installiere ich gerne Teamviewer Host. Das erleichtert die Lösung kleinerer Probleme doch gewaltig. Problem: Die Teamviewer Installer unterstützen bekanntermaßen keine unattended bzw. silent install, man soll schließlich die Businessversion mit MSI-Paket kaufen.

Update 3. Mai 2014: Eine aktualisierte Variante für Teamviewer 9 Host steht hier bereit, eine aktualisierte Variante für TeamViewer 9 Voll/Normal hier.

Lösung: Automatisierung des Installers, in diesem Fall mit AutoIt (mal wieder). Es wird auf die spezifischen Fenster des Installationsassistenten gewartet, und entsprechend der gescripteten Vorgaben werden dann simulierte Eingaben an den Installer gesendet. Am Ende wird der gerade installierte Host noch dem eigenen Account / der eigenen „Kontaktliste“ hinzugefügt, und Einstellungen importiert. Die Reg-Datei mit Einstellungen kann man aus einer Installation heraus exportieren.

Bevor ich zum Code komme, hier ein paar Hinweise dazu:

  • Zeile 9, Variable $strPassword → Das Passwort, das später zum verbinden genutzt wird.
  • Zeile 14, Variable $strUser → Emailadresse oder Benutzername des Kontos, dem der Host hinzugefügt wird.
  • Zeile 15, Variable $strPass → Passwort für das Konto, dem der Host hinzugefügt wird.
  • Das Skript erwartet einen deutschen Installer, wenn die erwarteten Texte angepasst werden, kann es aber auch für andere Sprachversionen genutzt werden.

Hier das Skript:

  1. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_icon=..\update.ico
  3. #AutoIt3Wrapper_outfile=tv8host.exe
  4. #AutoIt3Wrapper_Compression=4
  5. #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
  6. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  7. $verTag = "8"
  8. $wTitle = "TeamViewer " & $verTag & " Host Installation"
  9. $strPassword = "support"
  10. $strMachineName = @ComputerName
  11. $strTrayTitle = "TeamViewer " & $verTag & " Host Auto-Install"
  12.  
  13. $wTitle2 = "Unbeaufsichtigter Zugriff"
  14. $strUser = "user"
  15. $strPass = "pass"
  16.  
  17. Opt("SendKeyDelay", 250)
  18.  
  19. TrayTip($strTrayTitle, "Warte auf Setup…", 0, 1)
  20. WinWait($wTitle)
  21. TrayTip($strTrayTitle, "Konfiguriere Installation…", 0, 1)
  22. WinActivate($wTitle)
  23. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:4]") ; Erweiterte Einstellungen check
  24. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  25. WinWait($wTitle, "Einsatzbereich")
  26. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:4]") ; Privat radio
  27. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  28. WinWait($wTitle, "Lizenzabkommen")
  29. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:4]") ; Akzeptiere… check
  30. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:5]") ; Privat check
  31. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  32. WinWait($wTitle, "Kennwort")
  33. ControlSend($wTitle, "", "[CLASS:Edit; INSTANCE:1]", $strPassword) ; Passwort 1
  34. ControlSend($wTitle, "", "[CLASS:Edit; INSTANCE:2]", $strPassword) ; Passwort confirm
  35. ;ControlSend($wTitle, "", "[CLASS:Edit; INSTANCE:3]", $strMachineName) ; Host name
  36. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:4]") ; add to list check
  37. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  38. WinWait($wTitle, "VPN")
  39. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  40. WinWait($wTitle, "Zielverzeichnis auswählen")
  41. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Weiter
  42. WinWait($wTitle, "Startmenü-Ordner bestimmen")
  43. ControlClick($wTitle, "", "[CLASS:Button; INSTANCE:2]") ; Fertigstellen
  44. WinWaitClose($wTitle)
  45. TrayTip($strTrayTitle, "Installation abgeschlossen, füge Computer zur Support-Liste hinzu…", 0, 1)
  46.  
  47. ; Install done – adding to list
  48. WinWait($wTitle2, "Ich habe bereits ein TeamViewer Konto")
  49. WinActivate($wTitle2, "Ich habe bereits ein TeamViewer Konto")
  50. ControlSend($wTitle2, "", "[CLASS:Edit; INSTANCE:2]", $strUser) ; User
  51. ControlSend($wTitle2, "", "[CLASS:Edit; INSTANCE:3]", $strPass) ; Pass
  52. ControlClick($wTitle2, "", "[CLASS:Button; INSTANCE:6]") ; Weiter
  53. WinWait($wTitle2, "Dieser Computer wurde Ihrer Liste hinzugefügt")
  54. ControlClick($wTitle2, "", "[CLASS:Button; INSTANCE:7]") ; Fertigstellen
  55. WinWaitClose($wTitle2)
  56. TrayTip($strTrayTitle, "", 0, 1)
  57.  
  58. ; Close info dialog
  59. WinWait("TeamViewer", "Bereit zum Verbinden")
  60. WinActivate("TeamViewer")
  61. WinClose("TeamViewer", "Bereit zum Verbinden")
  62.  
  63. TrayTip($strTrayTitle, "Alles erledigt, setze noch ein paar Einstellungen…", 0, 1)
  64.  
  65. ; Import configuration
  66. RunWait(@ComSpec & " /c net stop TeamViewer8", @ScriptDir)
  67. RunWait(@ComSpec & " /c ""regedit.exe /s tv8host.reg""", @ScriptDir)
  68. RunWait(@ComSpec & " /c net start TeamViewer8", @ScriptDir)
  69.  
  70. ; Close info dialog
  71. WinWait("Information", "TeamViewer Host ist nun auf diesem Computer installiert")
  72. WinActivate("Information")
  73. WinClose("Information", "TeamViewer Host ist nun auf diesem Computer installiert")
  74.  
  75. TrayTip($strTrayTitle, "Alles fertig – beende mich.", 15, 1)

Natürlich macht es nur kompiliert einen Sinn.

9. Dezember 2012 von Tobias
Kategorien: Programmierung, Windows
Schlagwörter: , , , ,
7 Kommentare

Gelesen: 10292 · Heute: 4 · Zuletzt: 24. May 2019

Kommentare (7)

  1. bitte weiter an timesnake arbeiten: http://timesnake.sourceforge.net/

    • wtf, im Internet geht echt nichts verloren. Ich wusste nicht mal das dass je bei Sourceforge gelandet ist. oO

      Das waren meine allerersten Gehversuche in C – die mieserabel waren…

      Ist aber definitiv tot dieses Projekt…

  2. Wo wird die Setupdatei aufgerufen, und wie kann ich das Script auch ohne Admin Rechte ausführen, oder brauche ich dazu Admin Rechte für die Teamviewer Setup Datei aber keine Admin Rechte für das Script? Kann mir vlt jemand helfen?

  3. This is really stupid. Why don’t you just install it with the /S switch???? Check http://www.fasttrackscript.com/teamviewer

  4. Your comment is stupid. I expect more friendliness from comment authors.

    Obviously cuz the auto-add to the account

    edit: plus, after reading instead of flying over your link, it’s free – unlike your product. I suppose your comment was intented as spam, got me…

  5. Pingback: TeamViewer 9 Unattented Install - Tobi's Welt

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Follow

Get every new post delivered to your Inbox

Join other followers: