--- /dev/null
+; example2.nsi
+;
+; This script is based on example1.nsi, but it remember the directory,
+; has uninstall support and (optionally) installs start menu shortcuts.
+;
+; It will install makensisw.exe into a directory that the user selects,
+
+!include "MUI.nsh"
+
+;--------------------------------
+
+; The name of the installer
+Name "@PACKAGE_NAME@ @PACKAGE_VERSION@"
+
+!define PRODUCT_WEB_SITE "http://voria.com/synfig/"
+
+; The file to write
+OutFile "@PACKAGE_TARNAME@-@PACKAGE_VERSION@.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES\@PACKAGE_TARNAME@
+
+; Registry key to check for directory (so if you install again, it will
+; overwrite the old one automatically)
+InstallDirRegKey HKLM "Software\Voria_@PACKAGE_TARNAME@" "Install_Dir"
+
+!define VERSION_MAJ "@VERSION_MAJ@"
+!define VERSION_MIN "@VERSION_MIN@"
+!define VERSION_REV "@VERSION_REV@"
+
+!define SYNFIG_REG_KEY "Software\@PACKAGE_TARNAME@\@API_VERSION@"
+!define SYNFIG_UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE_TARNAME@"
+!define SYNFIG_UNINSTALL_EXE "uninstall-@PACKAGE_TARNAME@.exe"
+
+!define MUI_ABORTWARNING
+
+;--------------------------------
+
+; Pages
+
+#Page components
+#Page directory
+#Page instfiles
+
+#UninstPage uninstConfirm
+#UninstPage instfiles
+
+;CustomGuiInit
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "@srcdir@\COPYING"
+#!insertmacro MUI_PAGE_LICENSE "@srcdir@\alphalicense.txt"
+;Page custom PageReinstall ; PageLeaveReinstall
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_COMPONENTS
+!insertmacro MUI_UNPAGE_INSTFILES
+
+!insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+
+; The stuff to install
+Section ""
+
+ SectionIn RO
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR\bin
+
+ File "C:\mingw\bin\mingwm10.dll"
+ File "C:\GTK\bin\libfreetype-6.dll"
+ File "C:\GTK\bin\libxml2.dll"
+
+ ; Put file there
+; File "synfig_modules.conf"
+
+ CreateDirectory "$INSTDIR\etc"
+ Delete $INSTDIR\etc\synfig_modules.conf
+
+ ; Write the installation path into the registry
+ ; WriteRegStr HKLM "Software\Voria_@PACKAGE_TARNAME@" "Install_Dir" "$INSTDIR"
+
+ WriteRegStr HKLM "${SYNFIG_REG_KEY}" "Path" "$INSTDIR"
+ WriteRegStr HKLM "${SYNFIG_REG_KEY}" "Version" "@PRODUCT_VERSION@"
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayName" "@PACKAGE_NAME@"
+ WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion" "@PACKAGE_VERSION@"
+ WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\${SYNFIG_UNINSTALL_EXE}"'
+ WriteRegDWORD HKLM "${SYNFIG_UNINSTALL_KEY}" "NoModify" 1
+ WriteRegDWORD HKLM "${SYNFIG_UNINSTALL_KEY}" "NoRepair" 1
+ WriteUninstaller "${SYNFIG_UNINSTALL_EXE}"
+
+SectionEnd
+
+
+; Optional section (can be disabled by the user)
+;Section "Start Menu Shortcuts"
+
+; CreateDirectory "$SMPROGRAMS\Example2"
+; CreateShortCut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+; CreateShortCut "$SMPROGRAMS\Example2\Example2 (MakeNSISW).lnk" "$INSTDIR\makensisw.exe" "" "$INSTDIR\makensisw.exe" 0
+
+;SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Start Menu Shortcuts"
+
+ CreateDirectory "$SMPROGRAMS\Voria"
+ CreateShortCut "$SMPROGRAMS\Voria\Uninstall Synfig Core.lnk" "$INSTDIR\uninstall-@PACKAGE_TARNAME@.exe" "" "$INSTDIR\uninstall-@PACKAGE_TARNAME@.exe" 0
+
+SectionEnd
+
+
+;--------------------------------
+
+; Uninstaller
+
+Section "Uninstall"
+
+ ; Remove registry keys
+ DeleteRegKey HKLM "${SYNFIG_REG_KEY}"
+ DeleteRegKey HKLM "${SYNFIG_UNINSTALL_KEY}"
+ ; DeleteRegKey HKLM "Software\Voria_@PACKAGE_TARNAME@"
+
+ ; Remove files and uninstaller
+ ;Delete $INSTDIR\synfig.exe
+ Delete $INSTDIR\uninstall-@PACKAGE_TARNAME@.exe
+ Delete $INSTDIR\etc\synfig_modules.conf
+ RMDir $INSTDIR\bin
+ RMDir $INSTDIR\etc
+
+ ; Remove shortcuts, if any
+
+ Delete "$SMPROGRAMS\Voria\Uninstall Synfig Core.lnk"
+ ; Remove directories used
+ ;RMDir "$SMPROGRAMS\Example2"
+ RMDir "$INSTDIR"
+
+SectionEnd
+
+!include @srcdir@\src\synfig\synfig.nsh
+!include @srcdir@\src\tool\tool.nsh
+
+Section "Examples"
+ SetOutPath $INSTDIR\examples
+ File "@srcdir@\examples\*.sif"
+ CreateDirectory "$SMPROGRAMS\Voria"
+ CreateShortCut "$SMPROGRAMS\Voria\Examples.lnk" "$INSTDIR\examples" "" "$INSTDIR\examples" 0
+SectionEnd
+
+Section "un.Examples"
+ Delete "$SMPROGRAMS\Voria\Examples.lnk"
+ Delete "$INSTDIR\examples\*.sif"
+ RMDir "$INSTDIR\examples"
+SectionEnd
+
+SubSection "PlugIns"
+SubSection "Layers"
+!include "@srcdir@\src\modules\lyr_std\lyr_std.nsh"
+!include "@srcdir@\src\modules\mod_filter\mod_filter.nsh"
+!include "@srcdir@\src\modules\mod_gradient\mod_gradient.nsh"
+!include "@srcdir@\src\modules\mod_noise\mod_noise.nsh"
+!include "@srcdir@\src\modules\mod_particle\mod_particle.nsh"
+!include "@srcdir@\src\modules\mod_geometry\mod_geometry.nsh"
+!include "@srcdir@\src\modules\lyr_freetype\lyr_freetype.nsh"
+SubSectionEnd
+SubSection "Render Targets"
+!include "@srcdir@\src\modules\mod_bmp\mod_bmp.nsh"
+;!include "@srcdir@\src\modules\mod_dv\mod_dv.nsh"
+;!include "@srcdir@\src\modules\mod_ffmpeg\mod_ffmpeg.nsh"
+;!include "@srcdir@\src\modules\mod_gif\mod_gif.nsh"
+;!include "@srcdir@\src\modules\mod_imagemagick\mod_imagemagick.nsh"
+!include "@srcdir@\src\modules\mod_jpeg\mod_jpeg.nsh"
+!include "@srcdir@\src\modules\mod_png\mod_png.nsh"
+!include "@srcdir@\src\modules\mod_ppm\mod_ppm.nsh"
+!include "@srcdir@\src\modules\mod_yuv420p\mod_yuv420p.nsh"
+SubSectionEnd
+SubSectionEnd
+
+
+SubSection "un.PlugIns"
+SubSection "un.Layers"
+!include "@srcdir@\src\modules\lyr_std\unlyr_std.nsh"
+!include "@srcdir@\src\modules\lyr_freetype\unlyr_freetype.nsh"
+!include "@srcdir@\src\modules\mod_filter\unmod_filter.nsh"
+!include "@srcdir@\src\modules\mod_gradient\unmod_gradient.nsh"
+!include "@srcdir@\src\modules\mod_noise\unmod_noise.nsh"
+!include "@srcdir@\src\modules\mod_particle\unmod_particle.nsh"
+!include "@srcdir@\src\modules\mod_geometry\unmod_geometry.nsh"
+SubSectionEnd
+SubSection "un.Render Targets"
+!include "@srcdir@\src\modules\mod_bmp\unmod_bmp.nsh"
+;!include "@srcdir@\src\modules\mod_dv\unmod_dv.nsh"
+;!include "@srcdir@\src\modules\mod_ffmpeg\unmod_ffmpeg.nsh"
+;!include "@srcdir@\src\modules\mod_gif\unmod_gif.nsh"
+;!include "@srcdir@\src\modules\mod_imagemagick\unmod_imagemagick.nsh"
+!include "@srcdir@\src\modules\mod_jpeg\unmod_jpeg.nsh"
+!include "@srcdir@\src\modules\mod_png\unmod_png.nsh"
+!include "@srcdir@\src\modules\mod_ppm\unmod_ppm.nsh"
+!include "@srcdir@\src\modules\mod_yuv420p\unmod_yuv420p.nsh"
+SubSectionEnd
+SubSectionEnd
+
+Function .onInit
+ ; Get installer location
+ ReadRegStr $R0 HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
+; IfErrors 0 +2
+; ReadRegStr $R0 HKCU "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
+
+ StrCmp $R0 "" done
+
+ ; Get current installed version
+ ReadRegStr $R1 HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion"
+; IfErrors 0 +2
+; ReadRegStr $R1 HKCU "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion"
+
+; StrCmp $R1 ${PRODUCT_VERSION} done
+
+ MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION "A previous version of @PACKAGE_NAME@ appears to be installed. Would you like to uninstall it first?" IDNO done IDCANCEL abortInstall
+
+ ; Run the uninstaller
+
+ ClearErrors
+ ; CopyFiles "$R0" $TEMP
+ ExecWait '$R0 _?=$INSTDIR'
+ IfErrors no_remove_uninstaller
+ Delete $R0
+ RMDir $INSTDIR
+
+no_remove_uninstaller:
+; Delete "$TEMP\$R0"
+
+ ; Check that the user completed the uninstallation by examining the registry
+ ReadRegStr $R0 HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
+ StrCmp $R0 "" done abortInstall
+ ReadRegStr $R0 HKCU "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
+ StrCmp $R0 "" done abortInstall
+
+abortInstall:
+ MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to uninstall previous version of @PACKAGE_NAME@"
+ Abort
+
+done:
+ BringToFront
+
+FunctionEnd