· Home · Registrieren · FAQ · Suchen · Boardshop(neu!)

 · Forum Index —› Alles mögliche —› NSIS Installer Skriptvorlage in Deutsch
Autor Mitteilung
Gesendet: 14:37 - 04.02.2012


# Deutsche NSIS Installer Vorlage
# mit Programmdatei, Icon, Doku, Desktop- und Startmenülink
#
# "easy to use": Einfach die Konstanten ersetzen
# und mit NSIS (getestet mit v2.4.6) kompilieren, fertig!
#
# 04.02.2012, P.Lorenz
#

# Quelle fuer Installer
!define MAKEROOT "X:\Test"

# Aplikationseinstellungen: Programmdatei, Icon, Dokumentation
# Diese Konstanten geben an was und unter welchen Namen installiert wird
!define APPNAME "Testanwendung"
!define DESCRIPTION "--"
!define PUBLISHER "Max Muster"

!define APPFILE "Testanwendung.exe"
!define APPFILEFULL "${MAKEROOT}\Source\Testanwendung\${APPFILE}"

!define APPICON "icocontainer_16_32_48.ico"
!define APPICONFULL "${MAKEROOT}\Icon\${APPICON}"

!define APPDOC "Testanwendung_Handbuch.pdf"
!define APPDOCFULL "${MAKEROOT}\Dokumentation_Extern\${APPDOC}"

# Versionen als Integer
!define VERSIONMAJOR 1
!define VERSIONMINOR 10

# Info Systemsteuerung/Programmverwaltung ("mailto:" moeglich)
!define HELPURL "mailto:support@MaxMuster.de" # "Support Information" link
!define UPDATEURL "http://www.MaxMuster.de" # "Product Updates" link
!define ABOUTURL "http://www.MaxMuster.de" # "Publisher" link

# ungefaehre Groesse (Anzeige)
!define INSTALLSIZE 5120

# Adminrecht anfordern
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on)

# Installationspfad festlegen
InstallDir "$PROGRAMFILES\${APPNAME}"

# rtf oder txt(DOS) Datei
LicenseData "Lizenz_Freeware_Installer.rtf"

# installer/uninstaller's title bar
Name "${APPNAME}"
Icon "${APPICONFULL}"
outFile "${APPNAME}_installer.exe"

# include fuer erweiterte Skriptfunktionen
!include LogicLib.nsh

#Sprache auf Deutsch umstellen
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"

# drei Seiten: Lizenz, Zielverzeichnis, Installation
page license
page directory
Page instfiles

# --------------------------------------------------------------------------------------------------------------------------------------

# Rechtepruefung
!macro VerifyUserIsAdmin
UserInfo::GetAccountType
pop $0
${If} $0 != "admin" ;Require admin rights on NT4+
messageBox mb_iconstop "Fuer die Installation werden Administrator Rechte werden benoetigt!"
setErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
quit
${EndIf}
!macroend

# oninit
function .onInit
setShellVarContext all
!insertmacro VerifyUserIsAdmin
functionEnd

# --------------------------------------------------------------------------------------------------------------------------------------

section "install"
# Installationsverzeichnis
setOutPath $INSTDIR
# Dateien
file "${APPICONFULL}"
file "${APPDOCFULL}"
file "${APPFILEFULL}"

# Uninstaller
writeUninstaller "$INSTDIR\uninstall.exe"

# Shortcuteinstellung: aktueller User
SetShellVarContext current

# Start Menue Link
createDirectory "$SMPROGRAMS\${APPNAME}"
createShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\${APPFILE}" "" "$INSTDIR\${APPICON}"
createShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}_Dokumentation.lnk" "$INSTDIR\${APPDOC}" "" "$INSTDIR\${APPICON}"

# Desktop Link
createShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\${APPFILE}" "" "$INSTDIR\${APPICON}"

# Registry (add/remove programs)
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "QuietUninstallString" "$INSTDIR\uninstall.exe /S"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$INSTDIR\logo.ico"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "Publisher" "${PUBLISHER}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "HelpLink" "${HELPURL}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "URLUpdateInfo" "${UPDATEURL}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "URLInfoAbout" "${ABOUTURL}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayVersion" "${VERSIONMAJOR}.${VERSIONMINOR}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "VersionMajor" ${VERSIONMAJOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "VersionMinor" ${VERSIONMINOR}
# kein "modify"/"repair"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "NoRepair" 1
# Groesse in Add/Remove Programs (siehe oben)
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "EstimatedSize" ${INSTALLSIZE}
sectionEnd

# --------------------------------------------------------------------------------------------------------------------------------------

# onuinit
function un.onInit
SetShellVarContext all

#Sicherheitsabfrage
MessageBox MB_OKCANCEL "Wollen Sie ${APPNAME} wirklich entfernen?" IDOK next
Abort
next:
!insertmacro VerifyUserIsAdmin
functionEnd

# --------------------------------------------------------------------------------------------------------------------------------------

section "uninstall"

# Shortcuteinstellung: aktueller User
SetShellVarContext current

# Start Menu Link (mit Ordner wenn leer)
delete "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk"
delete "$SMPROGRAMS\${APPNAME}\${APPNAME}_Dokumentation.lnk"
rmDir "$SMPROGRAMS\${APPNAME}"

# Desktop Link
delete "$DESKTOP\${APPNAME}.lnk"

# Dateien
delete "$INSTDIR\${APPICON}"
delete "$INSTDIR\${APPFILE}"

# Uninstaller
delete $INSTDIR\uninstall.exe

# Ordner (wenn leer)
rmDir $INSTDIR

# registry
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
sectionEnd

# --------------------------------------------------------------------------------------------------------------------------------------





MP3Find & Mediapurge - sucht, verwaltet, räumt auf!

http://www.MP3Find-Online.de
http://facebook.com/Medienverwaltung


In diesem Forum dürfen nur angemeldete Mitglieder schreiben.


» Name » Passwort

Registrierte Mitglieder: 106
Das neueste Mitglied ist Velvet
Anzahl der Themen: 245
Anzahl der Beiträge: 333
  Mitgliederonline: Leider ist kein Mitglied online.  
Strato Domain-Pakete
Seite wurde generiert in 0.0000 Sekunden