Guten Morgen,
hab mich hier mal angemeldet, da ich mit einer Sache nicht weiterkomme. Ich möchte für mich eine 7zip SFX Datei erstellen, die den WinRAR Installer ausführt und rarreg.key mitnimmt, damit WinRAR beim Neuaufsetzen von VMs gleich registriert ist.
Momentan hab ich das so gemacht, dass die rarreg.key, der Installer und eine Batch in ein Temp-Verzeichnis entpackt werden. Die 7z SFX ruft dann die Batch Datei auf, die den Installer startet und -da liegt das Problem- wartet bis der fertig ist, um dann das Temp-Verzeichnis zulöschen.
Ganz quick'n'dirty lässt sich das machen, wenn ich einfach folgendes mache:
Die Batch wartet dann lange genug, dass man normalerweise den Installer komplett durch hat. Allerdings keine sehr elegante Lösung. Die Alternative sieht so aus:
Nur leider löscht die Batch dabei schon alles bevor die rarreg.key kopiert wurde. Irgendwie scheint das nicht richtig zu funktionieren. Warum weiß ich allerdings nicht.
Anm.: Die REM, pause und ECHO Befehle sind gesetzt, weil ich dachte, dann zu erfahren, warum er nicht tut, was er soll. Aber Fehlanzeige. Der ping Befehl soll dafür sorgen, dass er nicht ununterbrochen CPU-Last erzeugt, um die lfd. Prozesse zu prüfen.
Wenn ich das richtig sehe, ist die wrar400d.exe der eigentliche Installer, aber danach startet die Uninstall.exe, über die zum einen div. Einstellungen vorgenommen werden können (Dateiverknüpfungen etc.) und die auch autom. die rarreg.key ins Installationsverzeichnis kopiert.
Falls jmd. hier auch eine Idee für ne einfachere/elegantere Lösung ohne Batch hat, bin ich dafür natürlich offen.
hab mich hier mal angemeldet, da ich mit einer Sache nicht weiterkomme. Ich möchte für mich eine 7zip SFX Datei erstellen, die den WinRAR Installer ausführt und rarreg.key mitnimmt, damit WinRAR beim Neuaufsetzen von VMs gleich registriert ist.
Momentan hab ich das so gemacht, dass die rarreg.key, der Installer und eine Batch in ein Temp-Verzeichnis entpackt werden. Die 7z SFX ruft dann die Batch Datei auf, die den Installer startet und -da liegt das Problem- wartet bis der fertig ist, um dann das Temp-Verzeichnis zulöschen.
Ganz quick'n'dirty lässt sich das machen, wenn ich einfach folgendes mache:
Code:
winrarivsetup\wrar400d.exe
ping -n 60 localhost > NUL
:clear
echo loesche ...
rd /s /q "%TEMP%\winrarivsetup"
del install.bat
pause >nul
Code:
rem @echo off
winrarivsetup\wrar400d.exe
:check1
rem cls
ping -n 6 localhost > NUL
TaskList /FI "IMAGENAME eq wrar400d.exe" 2>NUL | Find "wrar400d.exe" >NUL
IF ERRORLEVEL == 1 (
ECHO NOT Running.
GOTO check2
) ELSE (
ECHO Running.
GOTO check1
)
:check2
rem cls
ping -n 6 localhost > NUL
TaskList /FI "IMAGENAME eq uninstall.exe" 2>NUL | Find "uninstall.exe" >NUL
IF ERRORLEVEL == 1 (
ECHO NOT Running.
GOTO clear
) ELSE (
ECHO Running.
GOTO check1
)
:clear
cls
echo loesche ...
pause >nul
rd /s /q "%TEMP%\winrarivsetup"
del install.bat
pause >nul
Anm.: Die REM, pause und ECHO Befehle sind gesetzt, weil ich dachte, dann zu erfahren, warum er nicht tut, was er soll. Aber Fehlanzeige. Der ping Befehl soll dafür sorgen, dass er nicht ununterbrochen CPU-Last erzeugt, um die lfd. Prozesse zu prüfen.
Wenn ich das richtig sehe, ist die wrar400d.exe der eigentliche Installer, aber danach startet die Uninstall.exe, über die zum einen div. Einstellungen vorgenommen werden können (Dateiverknüpfungen etc.) und die auch autom. die rarreg.key ins Installationsverzeichnis kopiert.
Falls jmd. hier auch eine Idee für ne einfachere/elegantere Lösung ohne Batch hat, bin ich dafür natürlich offen.