Support pour Winamp, Windows Media Player, Media Center et VLC.

Pour gérer le programme associé à une extension


Tutorial pour apprentis

Macro

Cette macro peut être ajoutée, soit directement dans le script, soit dans un fichier à part qui sera inclu au début de votre script d'installation :

!macro NSISFR_ASSOCIER_EXT EXT DESCRIP PROG DEFAULT_ICON DEFAULT_CMD CMD Push $0 StrCpy $NSISFR_EXT_CMD "${CMD}" StrCmp "$NSISFR_EXT_CMD" "" +1 +2 StrCpy $NSISFR_EXT_CMD "open" ReadRegStr $NSISFR_EXT_IDX HKCR ".${EXT}" "" StrCmp "$NSISFR_EXT_IDX" "" +1 +2 StrCpy $NSISFR_EXT_IDX "${EXT}file" WriteRegStr HKCR ".${EXT}" "" "$NSISFR_EXT_IDX" ReadRegStr $0 HKCR "$NSISFR_EXT_IDX" "" StrCmp $0 "" 0 +2 WriteRegStr HKCR "$NSISFR_EXT_IDX" "backup_default" "$0" WriteRegStr HKCR "$NSISFR_EXT_IDX" "" "${DESCRIP}" StrCmp "${DEFAULT_CMD}" "1" 0 +5 ReadRegStr $0 HKCR "$NSISFR_EXT_IDX\shell" "" StrCmp $0 "" 0 +2 WriteRegStr HKCR "$NSISFR_EXT_IDX\shell" "backup_default" "$0" WriteRegStr HKCR "$NSISFR_EXT_IDX\shell" "" "$NSISFR_EXT_CMD" StrCmp "${DEFAULT_ICON}" "1" 0 +5 ReadRegStr $0 HKCR "$NSISFR_EXT_IDX\DefaultIcon" "" StrCmp $0 "" 0 +2 WriteRegStr HKCR "$NSISFR_EXT_IDX\DefaultIcon" "backup_default" "$0" WriteRegStr HKCR "$NSISFR_EXT_IDX\DefaultIcon" "" "${DEFAULT_ICON}" ReadRegStr $0 HKCR "$NSISFR_EXT_IDX\shell\$NSISFR_EXT_CMD\command" "" StrCmp $0 "" 0 +2 WriteRegStr HKCR "$NSISFR_EXT_IDX\shell\$NSISFR_EXT_CMD\command" "backup_default" "$0" WriteRegStr HKCR "$NSISFR_EXT_IDX\shell\$NSISFR_EXT_CMD\command" "" '${PROG} "%1"' Pop $0 !macroend !macro NSISFR_DESASSOCIER_EXT EXT CMD Push $0 Push $1 StrCmp "${CMD}" "" +1 +2 StrCpy "${CMD}" "open" ReadRegStr $1 HKCR ".${EXT}" "" ReadRegStr $0 HKCR "$1\shell" "" StrCmp $0 "${CMD}" 0 +4 ReadRegStr $0 HKCR "$1\shell" "backup_default" WriteRegStr HKCR "$1\shell" "" "$0" DeleteRegValue HKCR "$1\shell" "backup_default" ReadRegStr $0 HKCR "$1\DefaultIcon" "backup_default" StrCmp $0 "" 0 +3 WriteRegStr HKCR "$1\DefaultIcon" "" "$0" DeleteRegValue HKCR "$1\DefaultIcon" "backup_default" ReadRegStr $0 HKCR "$1\shell\${CMD}\command" "backup_default" StrCmp $0 "" 0 +5 WriteRegStr HKCR "$1\shell\${CMD}\command" "" "$0" DeleteRegValue HKCR "$1\shell\${CMD}\command" "backup_default" Goto +2 DeleteRegKey HKCR "$1\shell\${CMD}" Pop $1 Pop $0 !macroend

Association

Pour ajouter un programme associé à une extension :

!insertmacro NSISFR_ASSOCIER_EXT "ext" "description" "$INSTDIR\MonProgramme.exe" "$INSTDIR\icone.ico" "1" "commande"

Note :

  • ext correspond à l'extension (ex : dll)
  • description correspond à la description du type de fichiers (ex : Exécutable)
  • $INSTDIR\MonProgramme.exe correspond au programe à exécuter
  • $INSTDIR\icone.ico correspond à l'icône associée aux fichiers
  • 1 spécifit qu'il s'agit de la commande par défaut (en gras, et lancée en cas de double-clic)
  • commande correspond au nom de la commande de l'action (si vide, open est utilisé)

Désassociation

Pour supprimer une association entre un programme et une extension :

!insertmacro NSISFR_DESASSOCIER_EXT "ext" "commande"

Note :

  • ext correspond à l'extension (ex : dll)
  • commande correspond au nom de la commande de l'action (si vide, open est utilisé)



Une idée de pas à pas ?

Contactez Julien.