J'ai écrit ce petit programme d'installation pour un .jar et je veux installer ce programme sans surveillance avec l'application de distribution de logiciels appelée «baramundi». Si j'essaye l'installation locale tout va bien mais si je l'essaye avec l'application avec la même commande de console il n'y a rien installé. Qu'est-ce que je fais mal?L'installateur NSIS ne va pas installer sans surveillance
La commande de la console est: SetupCSVExporter.exe/S
!define PRODUCT_NAME "CSVExporter"
!define PRODUCT_VERSION "1.3"
!define PRODUCT_PUBLISHER "Company"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
; MUI 1.67 compatible ------
!include "MUI.nsh"
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "German"
var ISSILENT
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "SetupCSVExporter.exe"
InstallDir "$DESKTOP\CSVExporter"
ShowInstDetails show
ShowUnInstDetails show
; Problemlösung: Delete Startmenu Shortcut
RequestExecutionLevel user
Section "Hauptgruppe" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "CSVExporter.jar"
CreateDirectory "$SMPROGRAMS\CSVExporter"
CreateShortCut "$SMPROGRAMS\CSVExporter\CSVExporter.lnk" "$INSTDIR\CSVExporter.jar"
SectionEnd
Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\CSVExporter\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
; Problemlösung: SILENT Installation
Function .onInit
STRCpy $ISSILENT "/S"
IfSilent 0 +2
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) wurde erfolgreich deinstalliert."
FunctionEnd
Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie $(^Name) und alle seinen Komponenten deinstallieren?" IDYES +2
Abort
FunctionEnd
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\CSVExporter.jar"
Delete "$SMPROGRAMS\CSVExporter\Uninstall.lnk"
Delete "$SMPROGRAMS\CSVExporter\CSVExporter.lnk"
RMDir "$SMPROGRAMS\CSVExporter"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd
Vous avez un 'IfSilent 0 + 2' discutable à la fin du' .onInit' ... et la variable '$ ISSILENT' semble inutilisée. Est-ce que cela fonctionne sans le commutateur '/ S'? – Seki
... votre installateur a aussi d'autres problèmes, vous ne pouvez pas mélanger "RequestExecutionLevel user" avec l'écriture à HKLM! – Anders