; EFL Wizard Setup ; Written by Vincent Torri ;----------------------------- ; Includes ;----------------------------- !include "MUI.nsh" !include "EnvVarUpdate.nsh" !include "winmessages.nsh" ;----------------------------- ; General ;----------------------------- Name Efl OutFile "Efl.exe" !define release "-ver-pre-svn-01" !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' InstallDir "$PROGRAMFILES\Efl" Var STARTMENU_FOLDER SetCompressor lzma ;----------------------------- ; Interface Settings ;----------------------------- !define MUI_ABORTWARNING ;----------------------------- ; Pages Settings ;----------------------------- ;!define MUI_ICON "e.ico" ;!define MUI_UNICON "e.ico" !define MUI_WELCOMEPAGE_TITLE "Welcome to the Efl Setup Wizard" !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of the Efl, which are libraries, part of the Enlightenment Fundation Libraries\r\n\r\nThis wizard will allow to install binaries and developpers files\r\n\r\nClick Next to continue" !define MUI_INSTFILESPAGE_FINISHHEADER_TEXT "Installation finished" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_UNFINISHPAGE_NOAUTOCLOSE ;----------------------------- ; Pages ;----------------------------- !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "license.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_LICENSE "license.txt" !insertmacro MUI_UNPAGE_DIRECTORY !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH ;----------------------------- ; Languages ;----------------------------- !insertmacro MUI_LANGUAGE "English" ;----------------------------- ; Installer Sections ;----------------------------- Section "-Configuration" SetOutPath $INSTDIR\bin WriteUninstaller "$INSTDIR\Uninstall.exe" WriteRegStr HKLM \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Efl" \ "UninstallString" \ "$INSTDIR\Uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd SectionGroup "Evil" Section "Binaries" SecEvilBin SetOutPath $INSTDIR\bin File "efl\bin\libevil-0.dll" File "efl\bin\libdl-0.dll" File "efl\bin\evil_suite.exe" SectionEnd Section /o "Developper Files" SecEvilDev SetOutPath $INSTDIR\include File "efl\include\Evil.h" File "efl\include\evil_fcntl.h" File "efl\include\evil_langinfo.h" File "efl\include\evil_main.h" File "efl\include\evil_stdio.h" File "efl\include\evil_stdlib.h" File "efl\include\evil_string.h" File "efl\include\evil_unistd.h" File "efl\include\evil_util.h" File "efl\include\dlfcn.h" File "efl\include\sys\mman.h" SetOutPath $INSTDIR\lib File "efl\lib\libevil.a" File "efl\lib\libevil.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\evil.pc" SectionEnd SectionGroupEnd SectionGroup "Eina" Section "Binaries" SecEinaBin SetOutPath $INSTDIR\bin File "efl\bin\libeina${release}-0.dll" SetOutPath $INSTDIR\lib\eina\mp File "efl\lib\eina\mp\eina_chained_mempool.dll" File "efl\lib\eina\mp\eina_fixed_bitmap.dll" File "efl\lib\eina\mp\pass_through.dll" WriteRegExpandStr ${env_hklm} "EINA_MODULES_MEMPOOL_DIR" "$INSTDIR\lib" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 SectionEnd Section /o "Developper Files" SecEinaDev SetOutPath $INSTDIR\include File "efl\include\eina-0\Eina.h" File "efl\include\eina-0\eina_config.h" File "efl\include\eina-0\eina\*.h" SetOutPath $INSTDIR\lib File "efl\lib\libeina.a" File "efl\lib\libeina.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\eina-0.pc" SectionEnd SectionGroupEnd SectionGroup "Eet" Section "Binaries" SecEetBin SetOutPath $INSTDIR\bin File "efl\bin\libeet-1.dll" File "efl\bin\eet.exe" SectionEnd Section /o "Developper Files" SecEetDev SetOutPath $INSTDIR\include File "efl\include\Eet.h" SetOutPath $INSTDIR\lib File "efl\lib\libeet.a" File "efl\lib\libeet.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\eet.pc" SectionEnd Section "Dependancies" SecEetDep SetOutPath $INSTDIR\bin File "efl\bin\zlib1.dll" File "efl\bin\jpeg62.dll" SectionEnd SectionGroupEnd SectionGroup "Evas" Section "Binaries" SecEvasBin SetOutPath $INSTDIR\bin File "efl\bin\libevas${release}-0.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\buffer\mingw32-i686${release} File "efl\lib\evas\modules\engines\buffer\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\direct3d\mingw32-i686${release} File "efl\lib\evas\modules\engines\direct3d\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\gl_glew\mingw32-i686${release} File "efl\lib\evas\modules\engines\gl_glew\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\software_16\mingw32-i686${release} File "efl\lib\evas\modules\engines\software_16\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\software_16_ddraw\mingw32-i686${release} File "efl\lib\evas\modules\engines\software_16_ddraw\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\software_ddraw\mingw32-i686${release} File "efl\lib\evas\modules\engines\software_ddraw\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\software_gdi\mingw32-i686${release} File "efl\lib\evas\modules\engines\software_gdi\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\engines\software_generic\mingw32-i686${release} File "efl\lib\evas\modules\engines\software_generic\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\eet\mingw32-i686${release} File "efl\lib\evas\modules\loaders\eet\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\gif\mingw32-i686${release} File "efl\lib\evas\modules\loaders\gif\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\jpeg\mingw32-i686${release} File "efl\lib\evas\modules\loaders\jpeg\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\png\mingw32-i686${release} File "efl\lib\evas\modules\loaders\png\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\tiff\mingw32-i686${release} File "efl\lib\evas\modules\loaders\tiff\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\loaders\xpm\mingw32-i686${release} File "efl\lib\evas\modules\loaders\xpm\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\savers\eet\mingw32-i686${release} File "efl\lib\evas\modules\savers\eet\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\savers\png\mingw32-i686${release} File "efl\lib\evas\modules\savers\png\mingw32-i686${release}\module.dll" SetOutPath $INSTDIR\lib\evas\modules\savers\tiff\mingw32-i686${release} File "efl\lib\evas\modules\savers\tiff\mingw32-i686${release}\module.dll" WriteRegExpandStr ${env_hklm} "EVAS_MODULES_DIR" "$INSTDIR\lib" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 SectionEnd Section "Dependancies" SecEvasDep SetOutPath $INSTDIR\bin File "efl\bin\libexpat.dll" File "efl\bin\libfontconfig-1.dll" File "efl\bin\freetype6.dll" File "efl\bin\glew32.dll" File "efl\bin\libpng12-0.dll" File "efl\bin\giflib4.dll" File "efl\bin\libtiff3.dll" SetOutPath $INSTDIR\etc\fonts File "efl\etc\fonts\fonts.conf" File "efl\etc\fonts\fonts.dtd" SetOutPath $INSTDIR\etc\fonts\conf.avail File "efl\etc\fonts\conf.avail\*.conf" SetOutPath $INSTDIR\etc\fonts\conf.d File "efl\etc\fonts\conf.d\*.conf" SectionEnd Section /o "Developper Files" SecEvasDev SetOutPath $INSTDIR\include File "efl\include\Evas.h" File "efl\include\Evas_Data.h" SetOutPath $INSTDIR\lib File "efl\lib\libevas.a" File "efl\lib\libevas.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\evas*.pc" SectionEnd SectionGroupEnd SectionGroup "Ecore" Section "Binaries" SecEcoreBin SetOutPath $INSTDIR\bin File "efl\bin\libecore*${release}-0.dll" SectionEnd Section /o "Developper Files" SecEcoreDev SetOutPath $INSTDIR\include File "efl\include\Ecore*.h" SetOutPath $INSTDIR\lib File "efl\lib\libecore*.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\ecore*.pc" SectionEnd SectionGroupEnd SectionGroup "Embryo" Section "Binaries" SecEmbryoBin SetOutPath $INSTDIR\bin File "efl\bin\libembryo${release}-0.dll" File "efl\bin\embryo_cc.exe" WriteRegExpandStr ${env_hklm} "EMBRYO_PREFIX" "$INSTDIR\bin" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 SectionEnd Section /o "Developper Files" SecEmbryoDev SetOutPath $INSTDIR\include File "efl\include\Embryo.h" SetOutPath $INSTDIR\lib File "efl\lib\libembryo.a" File "efl\lib\libembryo.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\embryo.pc" SectionEnd SectionGroupEnd SectionGroup "Edje" Section "Binaries" SecEdjeBin SetOutPath $INSTDIR\bin File "efl\bin\libedje${release}-0.dll" File "efl\bin\edje_cc.exe" File "efl\bin\edje_decc.exe" SectionEnd Section /o "Developper Files" SecEdjeDev SetOutPath $INSTDIR\include File "efl\include\Edje.h" SetOutPath $INSTDIR\lib File "efl\lib\libedje.a" File "efl\lib\libedje.dll.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\edje.pc" SectionEnd SectionGroupEnd SectionGroup "Elementary" Section "Binaries" SecElementaryBin SetOutPath $INSTDIR\bin File "efl\bin\libelementary${release}-0.dll" File "efl\bin\elementary_test.exe" SectionEnd Section /o "Developper Files" SecElementaryDev SetOutPath $INSTDIR\include File "efl\include\Elementary.h" File "efl\include\elementary\elementary_config.h" SetOutPath $INSTDIR\lib File "efl\lib\libelementary*.a" SetOutPath $INSTDIR\lib\pkgconfig File "efl\lib\pkgconfig\elementary.pc" SectionEnd SectionGroupEnd SectionGroup "EFL binaries" Section "Expedite" SecExpediteBin SetOutPath $INSTDIR\bin File "efl\bin\expedite.exe" SetOutPath $INSTDIR\share\expedite\images File "efl\share\expedite\data\bar.png" File "efl\share\expedite\data\bg.png" File "efl\share\expedite\data\e.png" File "efl\share\expedite\data\exit.png" File "efl\share\expedite\data\flower.png" File "efl\share\expedite\data\frame.png" File "efl\share\expedite\data\icon_sel.png" File "efl\share\expedite\data\icon_sel2.png" File "efl\share\expedite\data\im1.png" File "efl\share\expedite\data\im2.png" File "efl\share\expedite\data\image.png" File "efl\share\expedite\data\logo.png" File "efl\share\expedite\data\mushroom.png" File "efl\share\expedite\data\pan.png" File "efl\share\expedite\data\text_sel.png" File "efl\share\expedite\data\tp.png" SetOutPath $INSTDIR\share\fonts File "efl\share\expedite\data\Vera.ttf" File "efl\share\expedite\data\VeraBd.ttf" File "efl\share\expedite\data\fonts.alias" File "efl\share\expedite\data\fonts.dir" WriteRegExpandStr ${env_hklm} "EXPEDITE_DATA_DIR" "$INSTDIR\share\expedite\images" WriteRegExpandStr ${env_hklm} "EXPEDITE_FONTS_DIR" "$INSTDIR\share\fonts" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 CreateShortCut "$INSTDIR\bin\expedite_gdi.lnk" "$INSTDIR\bin\expedite.exe" "-e gdi" CreateShortCut "$INSTDIR\bin\expedite_ddraw.lnk" "$INSTDIR\bin\expedite.exe" "-e ddraw" CreateShortCut "$INSTDIR\bin\expedite_ddraw_16.lnk" "$INSTDIR\bin\expedite.exe" "-e ddraw-16" CreateShortCut "$INSTDIR\bin\expedite_d3d.lnk" "$INSTDIR\bin\expedite.exe" "-e direct3d" CreateShortCut "$INSTDIR\bin\expedite_gl.lnk" "$INSTDIR\bin\expedite.exe" "-e gl-glew" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\expedite_gdi.lnk" "$INSTDIR\bin\expedite_gdi.lnk" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\expedite_ddraw.lnk" "$INSTDIR\bin\expedite_ddraw.lnk" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\expedite_ddraw_16.lnk" "$INSTDIR\bin\expedite_ddraw_16.lnk" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\expedite_d3d.lnk" "$INSTDIR\bin\expedite_d3d.lnk" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\expedite_gl.lnk" "$INSTDIR\bin\expedite_gl.lnk" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section "Elementary Test" SecElementaryTestBin SetOutPath $INSTDIR\bin File "efl\bin\elementary_test.exe" SetOutPath $INSTDIR\share\elementary\themes File "efl\share\elementary\themes\default.edj" WriteRegExpandStr ${env_hklm} "ELM_ENGINE" "ddraw" WriteRegExpandStr ${env_hklm} "ELM_DATA_DIR" "$INSTDIR\share\elementary" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\elementary_test.lnk" "$INSTDIR\bin\elementary_test.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd SectionGroupEnd LangString DESC_SecEvilBin ${LANG_ENGLISH} "The Evil DLL core file" LangString DESC_SecEvilDev ${LANG_ENGLISH} "The Evil developper files (header files and static and import library files)." LangString DESC_SecEinaBin ${LANG_ENGLISH} "The Eina DLL core file" LangString DESC_SecEinaDev ${LANG_ENGLISH} "The Eina developper files (header files and static and import library files)." LangString DESC_SecEetBin ${LANG_ENGLISH} "The Eet DLL core file" LangString DESC_SecEetDep ${LANG_ENGLISH} "The Eet DLL dependancies. Include Zlib and Libjpeg" LangString DESC_SecEetDev ${LANG_ENGLISH} "The Eet developper files (header files and static and import library files)." LangString DESC_SecEvasBin ${LANG_ENGLISH} "The Evas DLL core file and modules" LangString DESC_SecEvasDep ${LANG_ENGLISH} "The Evas DLL dependancies. Include Fontconfig, Freetype, Glew, Libpng and Libungif" LangString DESC_SecEvasDev ${LANG_ENGLISH} "The Evas developper files (header files and static and import library files)." LangString DESC_SecEcoreBin ${LANG_ENGLISH} "The Ecore DLL core file" LangString DESC_SecEcoreDev ${LANG_ENGLISH} "The Ecore developper files (header files and static and import library files)." LangString DESC_SecEmbryoBin ${LANG_ENGLISH} "The Embryo DLL core file" LangString DESC_SecEmbryoDev ${LANG_ENGLISH} "The Embryo developper files (header files and static and import library files)." LangString DESC_SecEdjeBin ${LANG_ENGLISH} "The Edje DLL core file" LangString DESC_SecEdjeDev ${LANG_ENGLISH} "The Edje developper files (header files and static and import library files)." LangString DESC_SecElementaryBin ${LANG_ENGLISH} "The Elementary DLL core file" LangString DESC_SecElementaryDev ${LANG_ENGLISH} "The Elementary developper files (header files and static and import library files)." LangString DESC_SecExpediteBin ${LANG_ENGLISH} "The Expedite benchmark suite" LangString DESC_SecElementaryTestBin ${LANG_ENGLISH} "The Elementary Test program" !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecEvilBin} $(DESC_SecEvilBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEvilDev} $(DESC_SecEvilDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEinaBin} $(DESC_SecEinaBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEinaDev} $(DESC_SecEinaDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEetBin} $(DESC_SecEetBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEetDep} $(DESC_SecEetDep) !insertmacro MUI_DESCRIPTION_TEXT ${SecEetDev} $(DESC_SecEetDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEvasBin} $(DESC_SecEvasBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEvasDep} $(DESC_SecEvasDep) !insertmacro MUI_DESCRIPTION_TEXT ${SecEvasDev} $(DESC_SecEvasDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEcoreBin} $(DESC_SecEcoreBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEcoreDev} $(DESC_SecEcoreDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEmbryoBin} $(DESC_SecEmbryoBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEmbryoDev} $(DESC_SecEmbryoDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecEdjeBin} $(DESC_SecEdjeBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecEdjeDev} $(DESC_SecEdjeDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecElementaryBin} $(DESC_SecElementaryBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecElementaryDev} $(DESC_SecElementaryDev) !insertmacro MUI_DESCRIPTION_TEXT ${SecExpediteBin} $(DESC_SecExpediteBin) !insertmacro MUI_DESCRIPTION_TEXT ${SecElementaryTestBin} $(DESC_SecElementaryTestBin) !insertmacro MUI_FUNCTION_DESCRIPTION_END ;----------------------------- ; Uninstaller Sections ;----------------------------- Section "Uninstall" Delete "$INSTDIR\bin\*" Delete "$INSTDIR\include\*.h" Delete "$INSTDIR\include\sys\*.h" Delete "$INSTDIR\lib\*" Delete "$INSTDIR\lib\pkgconfig\*" Delete "$INSTDIR\etc\fonts\*" Delete "$INSTDIR\share\*" Delete "$INSTDIR\lib\eina\mp\*.dll" Delete "$INSTDIR\lib\evas\modules\engines\buffer\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\direct3d\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\gl_glew\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\software_16\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\software_16_ddraw\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\software_ddraw\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\software_gdi\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\engines\software_generic\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\eet\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\gif\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\jpeg\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\png\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\tiff\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\loaders\xpm\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\savers\eet\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\savers\png\mingw32-i686${release}\module.dll" Delete "$INSTDIR\lib\evas\modules\savers\tiff\mingw32-i686${release}\module.dll" RMDir /r "$INSTDIR" Delete "$INSTDIR\bin\expedite.exe" Delete "$INSTDIR\bin\expedite_ddraw.lnk" Delete "$INSTDIR\bin\expedite_ddraw_16.lnk" Delete "$INSTDIR\bin\expedite_d3d.lnk" Delete "$INSTDIR\bin\expedite_gdi.lnk" Delete "$INSTDIR\bin\expedite_gl.lnk" Delete "$INSTDIR\Uninstall.exe" RMDir /r "$INSTDIR\bin" RMDir "$INSTDIR" DeleteRegValue ${env_hklm} "EINA_MODULES_MEMPOOL_DIR" DeleteRegValue ${env_hklm} "EVAS_MODULES_DIR" DeleteRegValue ${env_hklm} "EXPEDITE_DATA_DIR" DeleteRegValue ${env_hklm} "EXPEDITE_FONTS_DIR" DeleteRegValue ${env_hklm} "EMBRYO_PREFIX" DeleteRegValue ${env_hklm} "ELM_ENGINE" DeleteRegValue ${env_hklm} "ELM_DATA_DIR" ; make sure windows knows about the change SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\bin" !insertmacro MUI_STARTMENU_GETFOLDER Application $STARTMENU_FOLDER Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" RMDir "$SMPROGRAMS\$STARTMENU_FOLDER" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Efl" SectionEnd ;----------------------------- ; Functions ;----------------------------- Function .onInit ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Efl" "UninstallString" StrCmp $R0 "" done MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \ "The Efl are already installed. $\n$\nClick `OK` to remove the \ previous version or `Cancel` to cancel this upgrade." \ IDOK uninst Abort ;Run the uninstaller uninst: ClearErrors ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file IfErrors no_remove_uninstaller ;You can either use Delete /REBOOTOK in the uninstaller or add some code ;here to remove the uninstaller. Use a registry key to check ;whether the user has chosen to uninstall. If you are using an uninstaller ;components page, make sure all sections are uninstalled. no_remove_uninstaller: done: ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\bin" FunctionEnd