MichaelWithers
18th July 2007 12:07 UTC
Optional Desktop Icon
Hi everyone , iam using the modern UI style that comes with NSIS to produce an installer. Does anybody know if theres a macro that comes with this style that will put a dialogue in my installer that will ask the user if they wish to place a shortcut icon onto the desktop?
Thanks Mike
Joel
18th July 2007 15:11 UTC
No, but you can create one....or....simple add a section given the user to choose or not.
MichaelWithers
18th July 2007 16:43 UTC
I was pretty sure this was the case after I scanned through system.nsh and looked at some of the macros. Is it quite easy to make your own screens with macros, or will I need to do some advanced tutorials?!
Brummelchen
18th July 2007 17:43 UTC
I would put that into the SECTION part like this example from my scripts:
SubSection/e "Verknüpfungen für aktuellen Benutzer" SecInfo30
Section"Startmenügruppe" SecInfo31
SectionEnd
Section/o "Verknüpfung auf dem Desktop" SecInfo32
SectionEnd
Section/o "Verknüpfung im Schnellstartmenü" SecInfo33
SectionEnd
SubSectionEnd
SubSection"Verknüpfungen für alle Benutzer" SecInfo40
Section/o "Startmenügruppe" SecInfo41
SectionEnd
Section/o "Verknüpfung auf dem Desktop" SecInfo42
SectionEnd
Section/o "Verknüpfung im Schnellstartmenü" SecInfo43
SectionEnd
SubSectionEnd
>
in english
- startmenu
- desktop
- quickstart
and here the part for read out options
(define goes in header of script)
!define SF_SELFLAG "65"
;get section 30 flags (1 or 64)
SectionGetFlags ${SecInfo30} $R9
IntOp $R9 $R9& ${SF_SELFLAG}
;
get section 40 flags (1 or 64)
SectionGetFlags ${SecInfo40} $R9
IntOp $R9 $R9& ${SF_SELFLAG}
;get user options from sections - current
IntCmp $SECTION30"0" setlinks06
;current user selected
SectionGetFlags${SecInfo31} $R9
IntOp $START_MENU $R9& ${SF_SELECTED}
SectionGetFlags ${SecInfo32} $R9
IntOp $DESK_TOP $R9& ${SF_SELECTED}
SectionGetFlags ${SecInfo33} $R9
IntOp $QUICK_LAUNCH $R9& ${SF_SELECTED}
;
create shortcuts for current users
SetShellVarContext current
Goto setlinks07
setlinks06:
;get user options from sections - alluser
IntCmp $SECTION30"0" setlinks07
;all users selected
SectionGetFlags${SecInfo41} $R9
IntOp $START_MENU $R9& ${SF_SELECTED}
SectionGetFlags ${SecInfo42} $R9
IntOp $DESK_TOP $R9& ${SF_SELECTED}
SectionGetFlags ${SecInfo43} $R9
IntOp $QUICK_LAUNCH $R9& ${SF_SELECTED}
;create shortcuts for all users
SetShellVarContext all
;Goto setlinks06
setlinks07:
;create startmenu
>
variables are related to section names