Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

überprüfung per batch ob mysql installiert ist ansonsten installieren

Frage Entwicklung Batch & Shell

Mitglied: simonSayz

simonSayz (Level 1) - Jetzt verbinden

03.01.2013 um 09:45 Uhr, 2808 Aufrufe, 11 Kommentare

Hallo,

ich würde gerne per Batch überprüfen ob MySql installiert ist, wenn nicht soll es installiert werden.
Könntet ihr bitte einmal die Syntax überprüfen, ich hab da noch so meine schwächen :/

Mit
reg query "HKEY_CURRENT_USER\SOFTWARE\MYSQL AB" /k
wird überprüft ob ein key mit diesem Namen vorhanden ist, richtig?

dafür benutze ich folgenden Code:

reg query "HKEY_CURRENT_USER\SOFTWARE\MYSQL AB" /k
if errorlevel 1 (start /wait ""mysql-5.5.28-win32.msi /passive >nul)
else (goto copy)

:COPY

...
...
...
Mitglied: mayho33
03.01.2013 um 11:36 Uhr
Hi simonSayz!

Welches OS? ISt auch VBSCRIPT oder Powershell möglich?

nach installierten Programmen suchst du am besten hier: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

und hier:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

Da liegt alles was du auch unter Add/Remove Programs siehst mit ein paar wenigen Ausnahmen.

Falls du weißt wie der ProductKey deiner Isntallation lautet oder eine MSI als installationssource hast kannst du auch ganz einfach so machen:

MSIEXEC /I <deine MSI> /qn

Ist das Product schon isntalliert bricht der Installer ab sollte das gleiche Product schon vorhanden sein. Umgekehrt geht das genau so (MSIEXEC /X <deine MSI> /qn). Der Isntaller bricht die Deinstallation ab wenn er das Produkt nicht finden kann im System. Eventuell muss die MSI noch angepasst werden (falls noch irgendwelche Daten eingetragen werden müssen während der Installation) ==> ORCA.exe ==> Transform erstellen

Grüße!

Mayho
Bitte warten ..
Mitglied: simonSayz
03.01.2013 um 13:23 Uhr
hallo, danke für deine antwort

es muss batch sein, für xp und später.

ja leider muss mysql dann eine der wenigen Ausnahmen sein, an beiden von dir angegebenen stellen kann ich keinen mysql key finden.

es geht darum das ,egal welches mysql installiert ist, das mysql dann nicht "übergebügelt" wird mit der version aus der msi die ich nutze.

das könnte nämlich fatal sein wenn ein kunde software hat die absolut zwingend eine bestimmte version von mysql zum laufen braucht.
Bitte warten ..
Mitglied: Nr60730
03.01.2013 um 14:49 Uhr
Moin,

Unter hkcu waere wohl der platz, an dem ich eher garnicht suchen wuerden wollte.
Vielleicht mit nem net start|find /i "mysql" aber das findet auch nicht immer eine bestehende installation. (xamp lasse ich mal aussen vor)

Jetzt spinn deine letzte zeile doch mal bis zu ende......

Was soll passieren, wenn der "kunde" ein asbach mysql samt sicherheitsloechern auf seiner kiste hat?

Batch ist da eher ... vbscript laeuft auch unter xp

Ueberleg mal, wohin die reise gehen soll.

N8
Bitte warten ..
Mitglied: simonSayz
03.01.2013, aktualisiert um 15:16 Uhr
also wir stellen software für bekleidungsunternehmen her und haben grade eine "offlineversion" unserer software fertiggestellt.

diese ist für bekleidungsvertreter die laut hier gängiger meinung meistens nicht so sehr die "computerspezis" sind.

wenn die jetzt java, mysql (installieren und configurieren), unsere software, odbc connector usw usf installieren sollen dann bekommen die sicherlich probleme damit.

also installiere ich die software automatisch.

laut chef gibts keine probleme wenn java mehrfach in verschiedenen versionen auf einem rechner existiert, bei mysql schon!

und da wir nicht ohne vorher zu fragen bestehende programme funktionsuntüchtig machen wollen installieren wir es lieber nicht, dann geht zwar unser programm nicht aber das kann man auf nachfrage dann ja beheben.

batch ist die vorgabe vom chef...

wenn ich unter hklm schaue steht dort nichts von mysql, unter hkcu schon (und der eintrag wird bei deinstallation auch entfernt).
Bitte warten ..
Mitglied: Nr60730
03.01.2013, aktualisiert um 17:47 Uhr
Hmmmmmmmmmmmmmmm...

Offleine ... Mysql..... Gabs da nicht was von x a mp?

Da soll der chef halt selber baetcheln, wenn er meint dass und richte ihm nen schoenen gruss aus, java nur dann, wenn die app einen bestimmten pfad von java benutzt und sowas maxhen nur vollheinis, typische herangehensweise hazptsache mein driet laeuft, ob ich in 2 jahren damit eine sicherheitsluecke beim kunden hinterlasse ist mir doch wumpe.

Ps was bedeutet das c in current user?
Ps 2 wieviele arten mysql zu benutzen kennst du? Ich kenn mindestens zwei mehr und die willst du allesamt mit einem rutschmaldueberbatch fuer alle versionen abfruehstuecken?
Und nochmal... Was soll passieren, wenn der kunde eine andere version von mysql hat?
Oder die gleiche, aber mit anderen einstellungen?


Am propos Einstellungen, was passiert, wennn man(n) eine app zusammenklatscht, die auf einen mysql server hoert, der auf port xzy statt abc lauscht?
denk mal drueber nach

Gruss
Bitte warten ..
Mitglied: simonSayz
03.01.2013 um 16:04 Uhr
wo steht das denn bitte?
da steht nur das java immer installiert werden kann denn wenn eine bestimmte version von java von einem programm benutzt werden muss und es installiert ist stört es nicht, wenn ein weiteres java installiert wurde (zb eine spätere version)

bei mysql ist das eben nicht so, kein grund ausfallend zu werden... hier zählt nur "ist installiert" oder "ist nicht installiert". Wie das ganze genutzt wird ist mir quasi egal, wenn es installiert ist (und wie auch immer konfiguriert) dann installiere ich es nicht nochmal (selbst wenns eine veraltete version ist)

so ich hoff das ist jetzt klar ;)
Bitte warten ..
Mitglied: Nr60730
03.01.2013, aktualisiert um 16:39 Uhr
Zitat von simonSayz:
wo steht das denn bitte?
Das steht im kleinen grossen 1*1 der softwareverteilung oder im path
so ich hoff das ist jetzt klar ;)

Less doch einfach mal die zeilen, die ich dir geschrieben habe und ueberleg mal, ob und wieviele versteckte ansaetze du da findest.

Ps zum ausgang zurueck, was passiert da oben, wenn der errorlevel ungleich 1 ist und der absatz copy der naechste schritt ist?
Wie stellst du sicher, dass derjenige, der vorm rechner sitzt auch ein msiexec ausfuehren darf?
Bitte warten ..
Mitglied: Nr60730
03.01.2013, aktualisiert um 16:59 Uhr
Zitat von simonSayz:
dafür benutze ich folgenden Code:

01.
reg query "HKEY_CURRENT_USER\SOFTWARE\MYSQL AB" /k 
02.
if errorlevel 1 (start /wait ""mysql-5.5.28-win32.msi /passive >nul) 
03.
else (goto copy) 
04.
  
05.
:COPY
1) Unter welchem OS testet Du?
2) Parameter /k unter xp bedeutet /kenn ich nicht?

Schau dir mal meine Demo an

C:\>reg query "HKEY_CURRENT_USER\SOFTWARE\MYSQL AB" /k 
 
Fehler: Ungültige Befehlszeilenparameter 
 
C:\>reg query "HKEY_CURRENT_USER\SOFTWARE\MYSQL AB" /s 
 
Fehler: Der angegebene Registrierungsschlüssel oder Wert konnte nicht gefunden w 
erden. 
 
C:\>net start |find /i "mysql" 
 
C:\>mysql.exe -udau -pdau dau 
ERROR 1045 (28000): Access denied for user 'dau'@'localhost' (using password: YE 
S) 
 
C:\>
Was sagt dir das?

/k kenn ich nicht
/kein /key in deinem Pfad?
/kein Mysql Dienst bei mir aktiv
/kann aber trotzdem (mit ner Fehlermeldung, weils der falsche User und das falsche Passwort ist) mit mysql kommunizieren?
/kcode Tags sind was feines
(vielleicht, macht es das oben geschriebene einfacher für dich)

Gruß
Bitte warten ..
Mitglied: simonSayz
03.01.2013 um 17:21 Uhr
da ich systemintegrator bin und kein anwendungsentwickler sagt mir das oben nicht viel....

http://technet.microsoft.com/de-de/library/cc742028%28v=ws.10%29.aspx

/k Specifies to search in key names only.

ob man jetzt vllt ein level tiefer gehen muss oder ob dafür das prüfen auf "mysql ab" schon reicht weiss ich nicht.
Bitte warten ..
Mitglied: Nr60730
03.01.2013, aktualisiert um 17:51 Uhr
Zitat von simonSayz:
da ich systemintegrator bin und kein anwendungsentwickler sagt mir das oben nicht viel....

merkwürdig....


C:\>ver 
 
Microsoft Windows XP [Version 5.1.2600] 
 
C:\>reg query /? 
 
Konsolenregistrierungsprogramm für Windows - Version 3.0 
Copyright (C) Microsoft Corp. 1981-2001. Alle Rechte vorbehalten 
 
 
REG QUERY Schlüssel [/v Wert | /ve] [/s] 
 
  Schlüssel         [\Computer\]Vollst.Schlüssel 
   Computer         Remotecomputer; ohne Standardeinstellungen des Compute 
                    Nur HKLM und HKU sind auf Remotecomputern verfügbar. 
   Vollst.Schlüssel Format "STAMMSCHLÜSSEL\Unterschlüssel" 
   STAMMSCHLÜSSEL   [ HKLM | HKCU | HKCR | HKU | HKCC ] 
   Unterschlüssel   Der vollst. Name des Schlüssels unter dem STAMMSCHLÜSS 
  Wert              Der zu suchende Wert unter einem Schlüssel. Ohne Angab 
                    wird nach allen Werten des Schlüssels gesucht. 
 
  /v  Sucht nach einem bestimmten Registrierungsschlüssel. 
  /ve Sucht nach dem Standard- oder leeren Wert <no name>. 
  /s  Sucht nach allen Unterschlüsseln und Werten. 
 
Beispiele: 
  REG QUERY HKLM\Software\Microsoft\ResKit /v Version 
    Zeigt den Registrierungswert Version an. 
  REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /s 
    Zeigt Unterschlüssel und Werte unterhalb des Schlüssels "Setup" an. 
 
C:\> 
/k kein K, wie man er/kennen /kann....

ob man jetzt vllt ein level tiefer gehen muss oder ob dafür das prüfen auf "mysql ab" schon reicht weiss ich nicht.

Nochmal....


Wie (bei walla isch schörrr die obige Demo in den Code Tags ist nicht gefaked) funktioniert das dann?

Für Systemin und extriganten was bedeuten meine Zeilen?

  • Muß man Mysql installieren?
  • Welche Nebenwirkungen hat das, wenn man es (obwohl man es nicht machen muß)?

Ergo?

Komm schon - ich machs dir echt einfach - such z.B mal die Zeile mit dem X die da oben versteckt ist oder die mit dem P wie "Port" wobei das dann schon den Port im Sinn von "Port auf dem MYSQL lauscht" als auch Port als Anfang von able meint.

Etwas Eigeninitiative darf ich doch verlangen, wenn ich dir (auf die du übrigens nicht eingegangen bist) schon die ganze was wäre wenn Arbeit abnehme...

Und die "was wäre wenn" Nummer muß ein Integrator auch können.
Gruß
Bitte warten ..
Mitglied: mayho33
09.01.2013, aktualisiert um 14:49 Uhr
Zitat von simonSayz:
wenn ich unter hklm schaue steht dort nichts von mysql, unter hkcu schon (und der eintrag >wird bei deinstallation auch entfernt).

OK! in diesem Fall hat das nicht wirklich was zu bedeuten. Könnte höchstens sein, dass wenn du dich als anderer user anmeldest keine Einträge unter Start ==> Programme findest.

Was steht den in dieser Section in HKCU?

ev ist das was brauchbares dabei. BATCH als Vorgabe des Chefs finde ich, mal gelinde gesagt, Rückständig. mein haupt geschäft ist die Re-/ und Packetierung von Software bzw. Isntallationsautomatisierung. Da wird so ziemlich alles via VBSCRIPT erledigt. Warum? Platformunabhängig, Zugriff auf viele Funktionen die in BATCH tlw. nicht vorhanden sind (Z.B WMI), besseres debuging.

ber Script wäre es einfach die Installation von mysql zu checken.

Versuch mal im Isntallationspfad nachzuschauen (per Batch) ob die Exe da ist und in welcher version, Vielleicht kannst du das so abfackeln.


Zitat von simonSayz:
wo steht das denn bitte?
da steht nur das java immer installiert werden kann denn wenn eine bestimmte version von java von einem programm benutzt werden muss und es
installiert ist stört es nicht, wenn ein weiteres java installiert wurde (zb eine spätere version)

bei mysql ist das eben nicht so, kein grund ausfallend zu werden... hier zählt nur "ist installiert" oder "ist nicht installiert". Wie das
ganze genutzt wird ist mir quasi egal, wenn es installiert ist (und wie auch immer konfiguriert) dann installiere ich es nicht nochmal (selbst > wenns eine veraltete version ist)

so ich hoff das ist jetzt klar ;)

kann man mysql nicht sagen welche Javaversion es verwenden soll? denke schon. in irgend einer cfg oder ini oder einer systemvariable (meißtens Path) kann sowas hinterlegt werden. so verwendet mysql nur die Java die es verwenden soll. auch wenn x andere Versionen vorhanden sind.

lg

mayho
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Update
gelöst Updates noch mal installieren, wenn ein Sprachpaket installiert wird (1)

Frage von sabines zum Thema Windows Update ...

IDE & Editoren
gelöst Eclipse: Couldnt create a VM. Nicht alles korrekt installiert? (2)

Frage von EmoZioN zum Thema IDE & Editoren ...

Router & Routing
Welche pfsense Version für Dual-Wan Router mit APU2C4 installieren (5)

Frage von Roland30 zum Thema Router & Routing ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...