nsis64 / Examples / Memento.nsi

!include LogicLib.nsh
!include Memento.nsh

Name Memento
OutFile Memento.exe

XPStyle on

ShowInstDetails show

Page components
Page instfiles

RequestExecutionLevel user

# settings

!define MEMENTO_REGISTRY_ROOT HKCU
!define MEMENTO_REGISTRY_KEY "Software\NSIS\Memento Test"

# restore

Function .onInit

  ${If} ${Cmd} `MessageBox MB_YESNO "Would you like to load an example state?" IDYES`
    
	DeleteRegKey  HKCU "Software\NSIS\Memento Test"

	WriteRegStr   HKCU "Software\NSIS\Memento Test" MementoSectionUsed ""
	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_horse   1
	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_chicken 1
	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_donkey  0
	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_croc    0

  ${EndIf}

  ${MementoSectionRestore}

FunctionEnd

# sections

${MementoSection} horse sec_horse
${MementoSectionEnd}

${MementoSection} donkey sec_donkey
${MementoSectionEnd}

${MementoSection} chicken sec_chicken
${MementoSectionEnd}

SectionGroup /e group

  SectionGroup /e group

    ${MementoSection} croc sec_croc
    ${MementoSectionEnd}

    ${MementoSection} cow sec_cow
    ${MementoSectionEnd}

  SectionGroupEnd

SectionGroupEnd

${MementoUnselectedSection} dinosaur sec_dinosaur
${MementoSectionEnd}

# done...

${MementoSectionDone}

# save

Function .onInstSuccess

  ${MementoSectionSave}

FunctionEnd
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.