Als Folge zu this answer, ich versuche, die Verknüpfung nach der Ausgabe Abbrechen Befehl hinzuzufügen, aber aus irgendeinem Grund erscheint es nicht, keine Spur davon in Spy ++ angezeigt. Link zur Seite Abort hinzufügen
Die Idee ist, den Link über dem Fortschrittsbalken hinzuzufügen, aber irgendwie funktioniert das Makro nicht. Gibt es einen Grund dafür, dass ich vermisse und es möglich ist, diesen Link nach dem Aufruf von Abbruch hinzuzufügen? Ich habe irgendwo gelesen, dass der Abort-Befehl unterschiedliche Auswirkungen haben kann, also vermute ich, dass dies einer davon ist.
Ich habe versucht, dieses Beispiel Skript so knapp wie möglich zu machen und würde jede Hilfe sehr schätzen, da ich noch NSIS lerne.
!include "MUI2.nsh"
;--------------------------------
;General
ShowInstDetails hide
SetCompressor /SOLID lzma
;Request application privileges for Windows Vista
RequestExecutionLevel user
;--------------------------------
;Interface Configuration
!define MUI_ABORTWARNING
!define MANUAL_DOWNLOAD_TEXT "Automatic download not working? Click here to download manually."
;--------------------------------
;Macros
!macro AddDownloadLink yCoord
FindWindow $0 "#32770" "" $HWNDPARENT ; Find the inner dialog
System::Call 'USER32::CreateWindowEx(i0, t "STATIC", t "${MANUAL_DOWNLOAD_TEXT}", i${WS_CHILD}|${WS_VISIBLE}|${SS_NOTIFY}, i 1, i ${yCoord}, i 500, i 50, p $0, i 0x666, p 0, p 0)p.s'
Pop $0
SetCtlColors $0 0000ff transparent
CreateFont $1 "$(^Font)" "$(^FontSize)" "400" /UNDERLINE
SendMessage $0 ${WM_SETFONT} $1 1
GetFunctionAddress $1 fnLinkClicked
ButtonEvent::AddEventHandler 0x666 $1
!macroend
;--------------------------------
;Pages
!insertmacro MUI_PAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Installer Sections
Section
Var /global Filename
StrCpy $Filename "test100Mb.db"
Var /global DownloadUrl
StrCpy $DownloadUrl "http://speedtest.ftp.otenet.gr/files/$Filename"
!insertmacro AddDownloadLink 70
inetc::get /caption "Downloading package" $DownloadUrl "$Filename" /end
Pop $R0 ;Get the return value
StrCmp $R0 "OK" 0 dlfailed
Goto quit
dlfailed:
DetailPrint "Download failed: $R0 $DownloadUrl"
SetDetailsView show
Abort
!insertmacro AddDownloadLink 1
quit:
Quit
SectionEnd
Function fnLinkClicked
ExecShell "open" "$DownloadUrl"
FunctionEnd
Vielen Dank für den Hinweis , @anders! – sjlewis