Top-Themen

Aktuelle Themen (A bis Z)

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

Batchscript zur Installation mehrerer Programme

Mitglied: simonSayz

simonSayz (Level 1) - Jetzt verbinden

18.12.2012 um 16:10 Uhr, 3470 Aufrufe, 6 Kommentare

Hallo, ich möchte per batch-script mehrere Programme vollautomatisch und ohne userinteraktion installieren. (Java, MySQL Community Server sowie eine Softwarelösung der Firma Prodress).

Ich kann euch zwar eine MS Domäne hochziehen aber vom programmieren habe ich wenig Ahnung. Deshalb habe ich das Meiste aus diversen Internetquellen zusammengesammelt.
Die entsprechenden Installationsdateien liegen zusammen mit dem Script in einem Ordner.

Wenn ich nun die Installation ausführen will per rechtsklick und ausführen als Admin, so sehe ich folgende Fehlermeldungen im cmd Fenster (und einen "Fehler" gleich doppelt):

-Der Befehl "else" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

-Der Befehl ""C:\Users\Prodata_User\Desktop\prodress mobil\install.bat"\" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Diese "Fehlermeldung" bekomme ich insgesamt 5 Mal , die Installation läuft aber dennoch durch!? Gibt es eine Möglichkeit diese Fehler abzustellen bzw "unsichtbar" zu machen so dass der Anwender sie nicht sieht?

Als zusätliche Aufgabenstellung habe ich noch bekommen:

Programme sollen nur installiert werden wenn sie noch nicht installiert sind bzw nicht up2date, wie frage ich das ab?

REM Hier wird überprüft ob das Programm als Admin ausgeführt wird

@echo off
fsutil fsinfo drives %2>NuL
IF %errorlevel% equ 1 goto NOADMIN
else goto START

:START

REM Hier wird Java im passiven Modus installiert, die Zeilen vorher werden benötigt da man ja nicht
REM weiss wo der Anwender nachher den Ordner speichert und die msi sonst nicht gefunden werden kann. REM Passive ist ein Schalter der bei .msi Installationen genutzt werden kann.

%0\
cd %0\..
cd /d %0\..

start /wait "" jre1.7.0_09.msi /passive

REM Hier wird Prodress im stillen Modus installiert, die Zeilen vorher werden benötigt da man ja nicht
REM weiss wo der Anwender nachher den Ordner speichert und die exe sonst nicht gefunden werden kann.
REM Dir gibt den Installationspfad an. In diesem Fall sind passive und dir Schalter von inno setup.

%0\
cd %0\..
cd /d %0\..

start /wait "" Prodress@Net_Server.exe /silent /sp- /DIR=C:\progra~1\Prodress@Net_Server

REM Hier wird MySQL im passiven Modus installiert, die Zeilen vorher werden benötigt da man ja nicht
REM weiss wo der Anwender nachher den Ordner speichert und die jre1...msi sonst nicht gefunden werden REM kann. Passive ist ein Schalter der bei .msi installationen genutzt werden kann.

%0\
cd %0\..
cd /d %0\..

start /wait "" mysql-5.5.28-win32.msi /passive

REM Da bei einer passiven Installation von MySQL keine My.ini geschrieben wird muss diese noch in das
REM entsprechende Verzeichnis kopiert werden. Da man allerdings nicht weiss ob der Anwender die
REM Installation auf einem 32 oder 64 bit System ausführt sind für beide fälle Kopierbefehle
REM vorhanden. Die my.ini welche kopiert wird liegt im selben Ordner wie das Script.
REM /r /y /q sind Schalter von xcopy

%0\
cd %0\..
cd /d %0\..

xcopy "%cd%\my.ini" "C:\Program Files (x86)\MySQL\MySQL Server 5.5" /r /y /q

REM Dies ist der Part fürs kopieren der my.ini in einem 32 Bit Betriebssystem.

%0\
cd %0\..
cd /d %0\..

xcopy "%cd%\my.ini" "C:\Program Files\MySQL\MySQL Server 5.5" /r /y /q

exit

:NOADMIN
echo Please run this program as administrator!
pause
Mitglied: Freund.der.Nacht
18.12.2012 um 17:12 Uhr
Hallo simonSayz,

zur Fehlermeldung mit "else": Du hast einen Syntax-Fehler.
Richtig wäre:

01.
@echo off 
02.
fsutil fsinfo drives %2>NuL 
03.
if %errorlevel%==1 ( 
04.
echo Please run this program as Administrator! 
05.
pause > nul 
06.
exit 
07.
) else ( 
08.
goto START 
09.
)
Was mir hier nicht ganz einleuchtet, ist, warum du alle Laufwerke auflisten lässt.

Die Fehlermeldung kannst du unterdrücken, wenn du hinter die Kopierbefehle " > nul" schreibst. Auch wenn das Unterdrücken sicherlich nicht die beste Lösung ist.

MfG
Batch-Lord
Bitte warten ..
Mitglied: bastla
19.12.2012 um 01:33 Uhr
@ Batch-Lord
Was mir hier nicht ganz einleuchtet, ist, warum du alle Laufwerke auflisten lässt.
Gemeint sein dürfte
fsutil fsinfo drives >nul 2>nul || goto :NOADMIN
- die Ausgabe der Laufwerke ist uninteressant, aber da "fsutil" mit Adminrechten ausgeführt werden muss, lässt ein Errorlevel <> 0 darauf schließen, dass der Batch nicht als Admin ausgeführt wurde.
@ simonSayz
Von
01.
%0\ 
02.
cd %0\.. 
03.
cd /d "%~f0\.."
ist nur die letzte Zeile sinnvoll (und auch die nur ein einziges Mal vor der ersten Programminstallation), die ersten beiden kannst Du ersatzlos streichen ...

Grüße
bastla
Bitte warten ..
Mitglied: simonSayz
19.12.2012, aktualisiert um 09:16 Uhr
danke ich werde mein script mal anpassen

bastla, ich habe online das hier

cd /d %0\..

gefunden,du schlägst

cd /d "%~f0\.."

vor.

Ist das ein "schreibfehler" oder ein anderer befehl?
Bitte warten ..
Mitglied: bastla
19.12.2012 um 09:08 Uhr
Hallo simonSayz!
Ist das ein "schreibfehler" oder ein anderer befehl?
Gegenfrage: Was hat Dein Test dazu ergeben?

Um aber doch auch zu antworten: Ist nur eine genauere Schreibweise (insbesondere berücksichtigen die Anführungszeichen die Möglichkeit, dass sich im Pfad Leerzeichen befinden) ...

Grüße
bastla
Bitte warten ..
Mitglied: simonSayz
19.12.2012, aktualisiert um 09:26 Uhr
Vielen Dank!
Ich steh bei manchen Problemen echt wie der sprichwörtliche "ochs vorm berge"...

Heut sind nochmal Aufgaben hinzugekommen und ich hab zeit bis ende des Jahres :/

Jetzt muss ich erstmal noch sicherstellen das Java und co nur installiert werden wenn nicht in einer bestimmten Version vorhanden...

Bin über jede weitere Hilfe dankbar ;)
Bitte warten ..
Mitglied: simonSayz
19.12.2012, aktualisiert um 11:43 Uhr
also auch wenn ich damit nicht ganz einverstanden bin:

man sagte ich solle in der registry schauen ob das entsprechende programm bereits installiert ist und wenn ja den entsprechenden teil des scriptes überspringen .
(ja ich weiss das ein vorhandener reg-eintrag nicht heissen muss das die software auch wirklich installiert ist...)

schaue ich nun unter HKEY_LOCAL_MACHINE\SOFTWARE so finde ich keine einträge für java / mysql.

bemühe ich die suchfunktion von regedit so werden mir einige einträge gezeigt...aber keine pfade zu diesen...

könnt ihr mir vielleicht helfen?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Rechteveragbe über Batchscript
gelöst Frage von sanaitBatch & Shell7 Kommentare

Moin Moin, ich habe mir ein Laufwerk gemappt und will nun dort in einem Script die Rechte in den ...

Batch & Shell
Script zur Installation von Programmen
gelöst Frage von Markus2016Batch & Shell4 Kommentare

Hallo zusammen, seid langem habe ich nun endlich mal wieder Zeit gefunden mich mit Powershell zu beschäftigen. Mein Script ...

Installation

Programm in Installation einer Software integrieren lassen

Frage von MarabuntaInstallation8 Kommentare

Hallo, es gibt jede Menge Software die bei Programmen mit installiert wird(Toolbar etc.). Wie nennt man das und wie ...

Windows 10

Programm Installation bei Win 10 Fehlerhaft

Frage von KeineahnungvonnixWindows 1013 Kommentare

Hallo liebe Leute, Ich habe ein Win 10 Rechner zusammen gebaut. Dieser lief einwandfrei, jedoch werden Original Programme nicht ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 9 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 15 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 19 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...