Hallo Leute,
Ich habe ein Programm geschrieben und mit NSIS in einen Intaller gepackt.
Da ich eine Serialabfrage in den Installer einbauen wollte habe ich mir das PassDialog Plugin von NSIS gedownloaded der code dazu sieht so aus:
## Zeigt den Serial Dialog
Function SerialPageShow
!insertmacro MUI\_HEADER\_TEXT "Seriennummer"
"Geben Sie die Seriennummer ein um fortzufahren"
PassDialog::smiley:ialog Serial \
/HEADINGTEXT 'Bitte geben Sie die Seriennummer ein' \
/CENTER \
/BOXDASH 12 70 4 '' \
/BOXDASH 92 70 4 '' \
/BOXDASH 172 70 4 '' \
/BOXDASH 252 70 4 '' \
/BOX 332 70 4 ''
Pop $R0 # success, back, cancel or error
FunctionEnd
## Vergleicht die Eingabe mit der Seriennummer
Function SerialPageLeave
## Pop values from stack
Pop $R0
Pop $R1
Pop $R2
Pop $R3
Pop $R4
StrCmp $R0 ‚abcd‘ +3
MessageBox MB\_OK|MB\_ICONEXCLAMATION "Wrong Serial"
Abort
## Anzeigen von dem was eingegeben wurde
MessageBox MB\_OK|MB\_ICONINFORMATION "Eingabe: $R0, $R1, $R2, $R3, $R4"
FunctionEnd
Das Fette makiert das, was den ersten Teil (die erste Spalte) der 5teiligen Seriennummer mit einem vorgegebenen Text vergleicht, aber ich bekomme es nicht hin uch die restlichen 4 Spalten mit einem Text zu vergleichen.
Entweder gibt es dann keine Lösung, oder ich bekomme eine Fehlermeldung
Des weitern habe ich noch ein Problem mit dem Uninstaller.
ich kann einen Shortcut nicht aus de Startmenü Löschen
Code:
Section 'Programm'
SetOutPath $INSTDIR
File "C:\Programm.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
CreateShortCut "$SMSTARTUP\Programm.lnk" "$INSTDIR\Programm.exe"
CreateShortCut "$SMPROGRAMS\Programm\Uninstall.lnk" "$INSTDIR\uninstall.exe"
SectionEnd
Section "Uninstall"
Delete "$INSTDIR\uninstall.exe"
Delete "$INSTDIR\Programm.exe"
Delete "$SMSTARTUP\Programm.lnk"
RMDir $INSTDIR
Delete "$SMPROGRAMS\Programm\Uninstall.lnk"
RMDir "$SMPROGRAMS\Programm"
SectionEnd
Der Compiler gibt mir keine Fehlermeldung, aber der Uninstaller macht es einfach nicht, er löschte den Link von dem Uninstaller einfach nicht, und den Ordner auch nicht.
Vielen Dank schon mal im vorraus
Seeedy