09-12-2007, Sunday-17:37:05
Zitat:Original von wernieman
...
Ein Installer bräuchte dann auch eine "Uninstall"-Funktion .... ansonsten könnte man sich ja mal überlegen einen reinen "bash-script-installer", nur entstehen dann keine automaitschen "Menüeinträge" ..
Mit einer Abfrage nach dem System im Script sollten Verknüpfungen möglich sein.
So siehts bei Windows-Bat aus
Code:
echo Welche Windows-Version?
echo.
echo 1 Windows 2000
echo 2 Windows XP
echo 3 Windows Vista
echo.
choice /C:123
if errorlevel 3 goto WinVista
if errorlevel 2 goto WinXP
if errorlevel 1 goto Win2000
:WinXP
set system1=%ALLUSERSPROFILE%\Startmenü\Programme
set system2=%ALLUSERSPROFILE%\Desktop
set system3=%ProgramFiles%
goto weiter
:WinVista
set system1=%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs
set system2=%PUBLIC%\Desktop
set system3=%ProgramFiles%
goto weiter
:Win2000
set system1=%ALLUSERSPROFILE%\Startmenü\Programme
set system2=%ALLUSERSPROFILE%\Desktop
set system3=%ProgramFiles%
goto weiter
Und wenn man weis, welches System verwendet wird, dann kann man auch ein entsprechendes uninstall-Script mit kopieren. Oder fragt das System im uninstall-Script erneut ab.
Beispiel dafür sind die Verknüpfungen
Code:
echo.
echo Wie soll Simutrans gestartet werden?
echo.
echo 1 normal
echo 2 ohne Hintergrundmusik
echo 3 ohne Geräusche
echo 4 ohne Hintergrundmusik und Geräusche
echo.
choice /C:1234
if errorlevel 4 goto nomidisound
if errorlevel 3 goto nosound
if errorlevel 2 goto nomidi
if errorlevel 1 goto normal
:nomidisound
copy "Simutrans 0.99.16 nomidisound.lnk" "%system2%\Simutrans 0.99.16.lnk"
copy "Simutrans 0.99.16 nomidisound.lnk" "%system1%\Simutrans\Simutrans 0.99.16.lnk"
goto weiter2
:nomidi
copy "Simutrans 0.99.16 nomidi.lnk" "%system2%\Simutrans 0.99.16.lnk"
copy "Simutrans 0.99.16 nomidi.lnk" "%system1%\Simutrans\Simutrans 0.99.16.lnk"
goto weiter2
:nosound
copy "Simutrans 0.99.16 nosound.lnk" "%system2%\Simutrans 0.99.16.lnk"
copy "Simutrans 0.99.16 nosound.lnk" "%system1%\Simutrans\Simutrans 0.99.16.lnk"
goto weiter2
:normal
copy "Simutrans 0.99.16.lnk" "%system2%"
copy "Simutrans 0.99.16.lnk" "%system1%\Simutrans"
goto weiter2
:weiter2
copy "Simutrans 0.99.16 entfernen.lnk" "%system1%\Simutrans"
goto clean
Ich kann Dir meine bat-Dateien zukommen lassen, wenn Du Interesse hast.