Annotation of Amaya/amaya-wx_release.nsi, revision 1.32

1.1       gully       1: ;--------------------------------
                      2: ;Include Modern UI
                      3: 
                      4:   !include "MUI.nsh"
                      5: 
1.11      gully       6: 
1.1       gully       7: ;--------------------------------
                      8: ;General
                      9: 
                     10:   ;Name and file
1.32    ! cvs        11:   !define VERSION "9.5"
1.27      gully      12:   Name "Amaya ${VERSION}"
1.9       cvs        13:   OutFile "amaya-WinXP-${VERSION}.exe"
1.1       gully      14:   
                     15:   ;Use lzma to compress (better than zip)
                     16:   SetCompressor lzma
                     17: 
                     18:   ;Default installation folder
1.27      gully      19:   InstallDir "$PROGRAMFILES\Amaya-${VERSION}"
1.1       gully      20:   
                     21:   ;Get installation folder from registry if available
1.27      gully      22:   InstallDirRegKey HKCU "Software\Amaya-${VERSION}" ""
1.1       gully      23: 
                     24: ;--------------------------------
                     25: ;Variables
                     26: 
1.3       gully      27: 
1.1       gully      28:   Var STARTMENU_FOLDER
                     29: ;--------------------------------
                     30: ;Interface Settings
                     31: 
                     32:   !define MUI_ABORTWARNING
                     33: 
                     34: ;--------------------------------
                     35: ;Language Selection Dialog Settings
                     36: 
                     37:   ;Remember the installer language
                     38:   !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
1.27      gully      39:   !define MUI_LANGDLL_REGISTRY_KEY "Software\Amaya-${VERSION}" 
1.1       gully      40:   !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
                     41: 
                     42: ;--------------------------------
                     43: ;Pages
                     44: 
                     45:   !insertmacro MUI_PAGE_LICENSE "amaya\COPYRIGHT"
                     46:   !insertmacro MUI_PAGE_COMPONENTS
                     47:   !insertmacro MUI_PAGE_DIRECTORY
                     48: 
                     49:   ;Start Menu Folder Page Configuration
                     50:   !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
1.27      gully      51:   !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Amaya-${VERSION}" 
1.1       gully      52:   !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
                     53:   !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
                     54: 
                     55:   !insertmacro MUI_PAGE_INSTFILES
                     56:   
1.10      gully      57:   !define MUI_FINISHPAGE_LINK "Visit the Amaya site for the latest news, FAQs and support"
                     58:   !define MUI_FINISHPAGE_LINK_LOCATION "http://www.w3.org/Amaya"
                     59: 
                     60:   !define MUI_FINISHPAGE_RUN "$INSTDIR\WindowsWX\bin\amaya.exe"
                     61:   !define MUI_FINISHPAGE_NOREBOOTSUPPORT
                     62:   
                     63:   !insertmacro MUI_PAGE_FINISH
                     64: 
1.1       gully      65:   !insertmacro MUI_UNPAGE_CONFIRM
                     66:   !insertmacro MUI_UNPAGE_INSTFILES
                     67: 
                     68: ;--------------------------------
                     69: ;Languages
                     70: 
                     71:   !insertmacro MUI_LANGUAGE "English"
                     72:   !insertmacro MUI_LANGUAGE "French"
                     73:   !insertmacro MUI_LANGUAGE "German"
                     74:   !insertmacro MUI_LANGUAGE "Spanish"
                     75: ;  !insertmacro MUI_LANGUAGE "SimpChinese"
                     76: ;  !insertmacro MUI_LANGUAGE "TradChinese"
                     77: ;  !insertmacro MUI_LANGUAGE "Japanese"
                     78: ;  !insertmacro MUI_LANGUAGE "Korean"
1.30      cvs        79:   !insertmacro MUI_LANGUAGE "Italian"
1.1       gully      80: ;  !insertmacro MUI_LANGUAGE "Dutch"
                     81: ;  !insertmacro MUI_LANGUAGE "Danish"
                     82: ;  !insertmacro MUI_LANGUAGE "Swedish"
                     83: ;  !insertmacro MUI_LANGUAGE "Norwegian"
1.30      cvs        84:   !insertmacro MUI_LANGUAGE "Finnish"
                     85:   !insertmacro MUI_LANGUAGE "Greek"
1.1       gully      86:   !insertmacro MUI_LANGUAGE "Russian"
                     87:   !insertmacro MUI_LANGUAGE "Portuguese"
                     88: ;  !insertmacro MUI_LANGUAGE "PortugueseBR"
                     89: ;  !insertmacro MUI_LANGUAGE "Polish"
                     90: ;  !insertmacro MUI_LANGUAGE "Ukrainian"
                     91: ;  !insertmacro MUI_LANGUAGE "Czech"
                     92: ;  !insertmacro MUI_LANGUAGE "Slovak"
                     93: ;  !insertmacro MUI_LANGUAGE "Croatian"
                     94: ;  !insertmacro MUI_LANGUAGE "Bulgarian"
1.30      cvs        95:   !insertmacro MUI_LANGUAGE "Hungarian"
1.1       gully      96: ;  !insertmacro MUI_LANGUAGE "Thai"
                     97: ;  !insertmacro MUI_LANGUAGE "Romanian"
                     98: ;  !insertmacro MUI_LANGUAGE "Latvian"
                     99: ;  !insertmacro MUI_LANGUAGE "Macedonian"
                    100: ;  !insertmacro MUI_LANGUAGE "Estonian"
                    101:   !insertmacro MUI_LANGUAGE "Turkish"
                    102: ;  !insertmacro MUI_LANGUAGE "Lithuanian"
                    103: ;  !insertmacro MUI_LANGUAGE "Catalan"
                    104: ;  !insertmacro MUI_LANGUAGE "Slovenian"
                    105: ;  !insertmacro MUI_LANGUAGE "Serbian"
                    106: ;  !insertmacro MUI_LANGUAGE "SerbianLatin"
                    107: ;  !insertmacro MUI_LANGUAGE "Arabic"
                    108: ;  !insertmacro MUI_LANGUAGE "Farsi"
                    109: ;  !insertmacro MUI_LANGUAGE "Hebrew"
                    110: ;  !insertmacro MUI_LANGUAGE "Indonesian"
                    111: ;  !insertmacro MUI_LANGUAGE "Mongolian"
                    112: ;  !insertmacro MUI_LANGUAGE "Luxembourgish"
                    113: ;  !insertmacro MUI_LANGUAGE "Albanian"
                    114: 
                    115: ;--------------------------------
                    116: ;Reserve Files
                    117:   
                    118:   ;These files should be inserted before other files in the data block
                    119:   ;Keep these lines before any File command
                    120:   ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
                    121:   
                    122:   !insertmacro MUI_RESERVEFILE_LANGDLL
                    123: 
                    124: ;--------------------------------
                    125: ;Installer Sections
                    126: 
                    127: Section "Amaya" SecAmaya
                    128: 
1.9       cvs       129: 
1.10      gully     130:   SetDetailsPrint textonly
                    131:   DetailPrint "Testing supported OS..."
                    132:   SetDetailsPrint listonly
                    133: 
1.9       cvs       134:  ;XXXXXXXXXXXXXXXXXXXXXXXXXX
                    135:  ;Test the platform
                    136:  ;XXXXXXXXXXXXXXXXXXXXXXXXXX
1.10      gully     137:    ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
                    138:    StrCmp $R0 "" lbl_notwinnt lbl_winnt
1.9       cvs       139:    
                    140:    ; we are not NT
1.10      gully     141:    lbl_notwinnt:
                    142:    ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
1.9       cvs       143:  
                    144:    StrCpy $R1 $R0 1
                    145:    StrCmp $R1 '4' 0 lbl_error
                    146:  
                    147:    StrCpy $R1 $R0 3
                    148:  
                    149:    StrCmp $R1 '4.0' lbl_win32_95
                    150:    StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
                    151:  
                    152:    lbl_win32_95:
1.10      gully     153:      Abort "Win95 not supported"
1.9       cvs       154:  
                    155:    lbl_win32_98:
1.10      gully     156:      Abort "Win98 not supported"
1.9       cvs       157:  
                    158:    lbl_win32_ME:
1.10      gully     159:      Abort "WinME not supported"
1.9       cvs       160:  
                    161:    lbl_winnt:
                    162:  
                    163:    StrCpy $R1 $R0 1
                    164:  
                    165:    StrCmp $R1 '3' lbl_winnt_x
                    166:    StrCmp $R1 '4' lbl_winnt_x
                    167:  
                    168:    StrCpy $R1 $R0 3
                    169:  
                    170:    StrCmp $R1 '5.0' lbl_winnt_2000
                    171:    StrCmp $R1 '5.1' lbl_winnt_XP
1.10      gully     172:    StrCmp $R1 '5.2' lbl_winnt_2003
                    173:    Goto lbl_error
1.9       cvs       174:  
                    175:    lbl_winnt_x:
                    176:      StrCpy $R0 "NT $R0" 6
                    177:    Goto lbl_done
                    178:  
                    179:    lbl_winnt_2000:
                    180:      Strcpy $R0 '2000'
                    181:    Goto lbl_done
                    182:  
                    183:    lbl_winnt_XP:
                    184:      Strcpy $R0 'XP'
                    185:    Goto lbl_done
                    186:  
                    187:    lbl_winnt_2003:
                    188:      Strcpy $R0 '2003'
                    189:    Goto lbl_done
                    190:  
                    191:    lbl_error:
1.10      gully     192:      Abort "Only WinXP/2k/NT are supported"
1.9       cvs       193:    lbl_done:
                    194:   ;XXXXXXXXXXXXXXXXXXXXXXXXXX
                    195: 
1.1       gully     196:   ;This section is required : readonly mode
                    197:   SectionIn RO
                    198: 
1.10      gully     199:   SetDetailsPrint textonly
                    200:   DetailPrint "Installing Amaya binaries and wxWidgets DLL"
                    201:   SetDetailsPrint listonly
                    202: 
1.1       gully     203:   SetOutPath "$INSTDIR\WindowsWX\bin"
                    204:   File WindowsWX\bin\amaya.exe
                    205:   File WindowsWX\bin\wxmsw*u_xrc_vc_custom.dll
                    206:   File WindowsWX\bin\wxmsw*u_html_vc_custom.dll
                    207:   File WindowsWX\bin\wxmsw*u_core_vc_custom.dll
                    208:   File WindowsWX\bin\wxmsw*u_adv_vc_custom.dll
                    209:   File WindowsWX\bin\wxmsw*u_gl_vc_custom.dll
                    210:   File WindowsWX\bin\wxbase*u_vc_custom.dll
                    211:   File WindowsWX\bin\wxbase*u_xml_vc_custom.dll
1.21      cvs       212:   File WindowsWX\bin\thotprinter.dll
1.1       gully     213: 
1.10      gully     214:   SetDetailsPrint textonly
                    215:   DetailPrint "Installing Amaya resources : icons, dialogues"
                    216:   SetDetailsPrint listonly
1.1       gully     217: 
1.14      gully     218:   SetOutPath "$INSTDIR\resources\icons\misc"
                    219:   File resources\icons\misc\*.png
                    220:   File resources\icons\misc\*.gif
                    221:   File resources\icons\misc\*.ico
                    222:   SetOutPath "$INSTDIR\resources\icons\16x16"
                    223:   File resources\icons\16x16\*.png
                    224:   File resources\icons\16x16\*.ico
                    225:   SetOutPath "$INSTDIR\resources\icons\22x22"
                    226:   File resources\icons\22x22\*.png
1.1       gully     227:   SetOutPath "$INSTDIR\resources\xrc"
                    228:   File resources\xrc\*.xrc
1.29      cvs       229: 
                    230:   SetOutPath "$INSTDIR\templates\en"
                    231:   File templates\en\*.png
                    232:   File templates\en\*.html
                    233:   File templates\en\*.css
                    234:   SetOutPath "$INSTDIR\templates\fr"
                    235:   File templates\fr\*.png
                    236:   File templates\fr\*.html
                    237:   File templates\fr\*.css
                    238: 
1.11      gully     239:   SetOutPath "$INSTDIR\amaya\wxdialog"
                    240:   File amaya\wxdialog\appicon.ico
1.12      gully     241:   File amaya\wxdialog\amaya.rc
1.1       gully     242: 
1.10      gully     243:   SetDetailsPrint textonly
                    244:   DetailPrint "Installing Amaya schemas"
                    245:   SetDetailsPrint listonly
1.1       gully     246: 
                    247:   SetOutPath "$INSTDIR\amaya"
                    248:   File amaya\COPYRIGHT
                    249:   File amaya\*.png
                    250:   File amaya\*.gif
                    251:   File amaya\*.css
                    252:   File amaya\*.html*
                    253:   File amaya\*.PRS
                    254:   File amaya\*.STR
                    255:   File amaya\*.TRA
                    256:   File amaya\*.conf
                    257:   File amaya\*.en
                    258:   File amaya\*.trans*
                    259:   File amaya\*.ico
                    260:   File amaya\*.svg
                    261: 
1.10      gully     262:   SetDetailsPrint textonly
                    263:   DetailPrint "Installing annotlib schemas"
                    264:   SetDetailsPrint listonly
                    265: 
1.1       gully     266:   SetOutPath "$INSTDIR\annotlib"
                    267:   File annotlib\*.png
                    268:   File annotlib\*.gif
                    269:   File annotlib\*.PRS
                    270:   File annotlib\*.STR
                    271:   File annotlib\*.TRA
                    272:   File annotlib\*.en
                    273: 
1.10      gully     274:   SetDetailsPrint textonly
                    275:   DetailPrint "Installing Amaya config files"
                    276:   SetDetailsPrint listonly
                    277: 
1.1       gully     278:   SetOutPath "$INSTDIR\config\libconfig"
                    279:   File config\libconfig\*.png
                    280:   File config\libconfig\*.svg
                    281:   File config\libconfig\*.css
                    282:   File config\libconfig\*.lhtml
                    283: 
                    284:   SetOutPath "$INSTDIR\config"
                    285:   File config\*-amayadialogue
                    286:   File config\*-libdialogue
                    287:   File config\*-amayamsg
                    288:   File config\*-libdialogue
                    289:   File config\lib_files.dat
                    290:   File config\fonts.*
                    291:   File config\amaya.kb
                    292:   File config\amaya.profiles
                    293:   File config\*.rdf
                    294:   File config\annot.schemas
                    295:   File config\win-thot.rc
                    296: 
1.10      gully     297:   SetDetailsPrint textonly
                    298:   DetailPrint "Installing Amaya dictionnaries"
                    299:   SetDetailsPrint listonly
                    300: 
1.1       gully     301:   SetOutPath "$INSTDIR\dicopar"
                    302:   File dicopar\alphabet
                    303:   File dicopar\*.ptn
                    304:   File dicopar\clavier
                    305:   File dicopar\*.dic
                    306: 
1.10      gully     307:   SetDetailsPrint textonly
                    308:   DetailPrint "Installing Amaya documentation"
                    309:   SetDetailsPrint listonly
                    310: 
1.17      gully     311:   SetOutPath "$INSTDIR\doc\WX"
                    312:   File doc\WX\*
                    313:   SetOutPath "$INSTDIR\doc\WX\HTML-elements"
                    314:   File doc\WX\HTML-elements\*
1.1       gully     315:   SetOutPath "$INSTDIR\doc\images"
                    316:   File doc\images\*
                    317: 
1.10      gully     318:   SetDetailsPrint textonly
                    319:   DetailPrint "Installing Amaya ttf fonts"
                    320:   SetDetailsPrint listonly
                    321: 
1.1       gully     322:   SetOutPath "$INSTDIR\fonts"
                    323:   File fonts\*
                    324: 
1.10      gully     325:   SetDetailsPrint textonly
                    326:   DetailPrint "Writting registry keys"
                    327:   SetDetailsPrint listonly
                    328: 
1.1       gully     329:   ;Store installation folder
1.27      gully     330:   WriteRegStr HKCU "Software\Amaya-${VERSION}" "" $INSTDIR 
                    331:   WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
                    332:   WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "InstallLocation" "$INSTDIR"
                    333:   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "DisplayName" "Amaya ${VERSION}"
                    334:   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "DisplayIcon" "$INSTDIR\WindowsWX\bin\amaya.exe"
                    335:   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "DisplayVersion" "${VERSION}"
                    336:   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}" "URLInfoAbout" "http://www.w3.org/Amaya"
1.11      gully     337: 
                    338:   ; Associate files to amaya
                    339:   WriteRegStr HKCR "Amaya" "" "Amaya Files"
                    340:   WriteRegStr HKCR "Amaya\DefaultIcon" "" "$INSTDIR\WindowsWX\bin\amaya.exe"
                    341:   ReadRegStr $R0 HKCR "Amaya\shell\open\command" ""
                    342:   StrCmp $R0 "" 0 no_amayaopen
                    343:     WriteRegStr HKCR "Amaya\shell" "" "open"
                    344:     WriteRegStr HKCR "Amaya\shell\open\command" "" '"$INSTDIR\WindowsWX\bin\amaya.exe" "%1"'
                    345:   no_amayaopen:
1.1       gully     346:   
                    347:   ;Create uninstaller
                    348:   WriteUninstaller "$INSTDIR\Uninstall.exe"
                    349: 
1.26      gully     350:   ;Install Amaya for all users
                    351:   SetShellVarContext all
                    352: 
1.1       gully     353:   ;Start Menu
                    354:   !insertmacro MUI_STARTMENU_WRITE_BEGIN Application   
                    355:     ;Create shortcuts
                    356:     CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
                    357:     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
                    358:     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk" "$INSTDIR\WindowsWX\bin\amaya.exe"
                    359:   !insertmacro MUI_STARTMENU_WRITE_END
                    360: 
1.3       gully     361:   ;Create desktop link
1.26      gully     362:   CreateShortCut "$DESKTOP\Amaya-${VERSION}.lnk" "$INSTDIR\WindowsWX\bin\amaya.exe"
1.1       gully     363: SectionEnd
                    364: 
1.11      gully     365: 
                    366: SubSection "File association" SecFileAss
                    367: 
1.22      gully     368: ; --> .html
1.20      cvs       369: Section /o ".html (HyperText Markup Language)" SecAssHTML
1.22      gully     370:   ReadRegStr $R0 HKCR ".html" ""
                    371:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    372:   no_amaya:
                    373:     WriteRegStr HKCR ".html" "AM_OLD_VALUE" $R0
1.11      gully     374:   WriteRegStr HKCR ".html" "" "Amaya"
1.22      gully     375:   allready_amaya:
1.11      gully     376: SectionEnd
                    377: 
1.22      gully     378: ; --> .htm
                    379: Section /o ".htm (HyperText Markup Language)" SecAssHTM
                    380:   ReadRegStr $R0 HKCR ".htm" ""
                    381:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    382:   no_amaya:
                    383:     WriteRegStr HKCR ".htm" "AM_OLD_VALUE" $R0
                    384:     WriteRegStr HKCR ".htm" "" "Amaya"
                    385:   allready_amaya:
                    386: SectionEnd
                    387: 
                    388: ; --> .xml
1.20      cvs       389: Section /o ".xml (eXtensible Markup Language)" SecAssXML
1.22      gully     390:   ReadRegStr $R0 HKCR ".xml" ""
                    391:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    392:   no_amaya:
                    393:     WriteRegStr HKCR ".xml" "AM_OLD_VALUE" $R0
1.11      gully     394:   WriteRegStr HKCR ".xml" "" "Amaya"
1.22      gully     395:   allready_amaya:
1.11      gully     396: SectionEnd
                    397: 
1.22      gully     398: ; --> .svg
1.20      cvs       399: Section /o ".svg (Scalable Vector Graphics)" SecAssSVG
1.22      gully     400:   ReadRegStr $R0 HKCR ".svg" ""
                    401:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    402:   no_amaya:
                    403:     WriteRegStr HKCR ".svg" "AM_OLD_VALUE" $R0
1.11      gully     404:   WriteRegStr HKCR ".svg" "" "Amaya"
1.22      gully     405:   allready_amaya:
1.11      gully     406: SectionEnd
                    407: 
1.22      gully     408: ; --> .mml
1.20      cvs       409: Section /o ".mml (MathML)" SecAssMML
1.22      gully     410:   ReadRegStr $R0 HKCR ".mml" ""
                    411:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    412:   no_amaya:
                    413:     WriteRegStr HKCR ".mml" "AM_OLD_VALUE" $R0
1.11      gully     414:   WriteRegStr HKCR ".mml" "" "Amaya"
1.22      gully     415:   allready_amaya:
1.11      gully     416: SectionEnd
                    417: 
1.22      gully     418: ; --> .css
1.20      cvs       419: Section /o ".css (Cascading Style Sheets)" SecAssCSS
1.22      gully     420:   ReadRegStr $R0 HKCR ".css" ""
                    421:   StrCmp $R0 "Amaya" allready_amaya no_amaya
                    422:   no_amaya:
                    423:     WriteRegStr HKCR ".css" "AM_OLD_VALUE" $R0
1.11      gully     424:   WriteRegStr HKCR ".css" "" "Amaya"
1.22      gully     425:   allready_amaya:
1.11      gully     426: SectionEnd
                    427: 
                    428: SubSectionEnd
                    429: 
1.1       gully     430: ;--------------------------------
                    431: ;Installer Functions
                    432: 
                    433: Function .onInit
                    434: 
                    435:   !insertmacro MUI_LANGDLL_DISPLAY
                    436: 
                    437: FunctionEnd
                    438: 
                    439: ;--------------------------------
                    440: ;Descriptions
                    441: 
                    442:   ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC
                    443: 
                    444:   ;Assign descriptions to sections
                    445:   !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1.22      gully     446:     !insertmacro MUI_DESCRIPTION_TEXT ${SecAmaya} "Install main Amaya program (mandatory)."
1.19      gully     447:     !insertmacro MUI_DESCRIPTION_TEXT ${SecFileAss} "Selects Amaya as the default application for files of these types."
1.1       gully     448:   !insertmacro MUI_FUNCTION_DESCRIPTION_END
                    449: 
                    450: ;--------------------------------
                    451: ;Uninstaller Section
                    452: 
                    453: Section "Uninstall"
                    454: 
1.10      gully     455:   SetDetailsPrint textonly
                    456:   DetailPrint "Uninstalling Amaya..."
                    457:   SetDetailsPrint listonly
                    458: 
                    459:   IfFileExists $INSTDIR\WindowsWX\bin\amaya.exe amaya_installed
                    460:     MessageBox MB_YESNO "It does not appear that Amaya is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES amaya_installed
                    461:     Abort "Uninstall aborted by user"
                    462:   amaya_installed:
                    463: 
                    464: 
                    465:   SetDetailsPrint textonly
                    466:   DetailPrint "Deleting Files..."
                    467:   SetDetailsPrint listonly
1.26      gully     468:   ;Uninstall Amaya for all users
                    469:   SetShellVarContext all
                    470:   
1.27      gully     471:   ReadRegStr $STARTMENU_FOLDER HKCU "Software\Amaya-${VERSION}" "Start Menu Folder"
1.10      gully     472:   IfFileExists "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk" amaya_smp_installed
                    473:     Goto amaya_smp_notinstalled
                    474:   amaya_smp_installed:
1.5       gully     475:   Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Amaya.lnk"
                    476:   Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk"
                    477:   RMDir "$SMPROGRAMS\$STARTMENU_FOLDER"
1.26      gully     478:   Delete "$DESKTOP\Amaya-${VERSION}.lnk"
1.10      gully     479:   amaya_smp_notinstalled:
                    480: 
                    481:   RMDir /r "$INSTDIR"
                    482: 
                    483:   SetDetailsPrint textonly
                    484:   DetailPrint "Deleting Registry Keys..."
                    485:   SetDetailsPrint listonly
1.1       gully     486: 
1.27      gully     487:   DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amaya-${VERSION}"
                    488:   DeleteRegKey HKLM "Software\Amaya-${VERSION}"
1.11      gully     489:   DeleteRegKey HKCR "Amaya"
1.27      gully     490:   DeleteRegKey HKCU "Software\Amaya-${VERSION}"
1.22      gully     491:   ; uninstall files associations
                    492:   ; --> .html
                    493:   ReadRegStr $R0 HKCR ".html" ""
                    494:   StrCmp $R0 "Amaya" 0 +3
                    495:     ReadRegStr $R0 HKCR ".html" "AM_OLD_VALUE"
                    496:     WriteRegStr HKCR ".html" "" $R0
                    497:   ; --> .htm
                    498:   ReadRegStr $R0 HKCR ".htm" ""
                    499:   StrCmp $R0 "Amaya" 0 +3
                    500:     ReadRegStr $R0 HKCR ".htm" "AM_OLD_VALUE"
                    501:     WriteRegStr HKCR ".htm" "" $R0
                    502:   ; --> .css
                    503:   ReadRegStr $R0 HKCR ".css" ""
                    504:   StrCmp $R0 "Amaya" 0 +3
                    505:     ReadRegStr $R0 HKCR ".css" "AM_OLD_VALUE"
                    506:     WriteRegStr HKCR ".css" "" $R0
                    507:   ; --> .svg
                    508:   ReadRegStr $R0 HKCR ".svg" ""
                    509:   StrCmp $R0 "Amaya" 0 +3
                    510:     ReadRegStr $R0 HKCR ".svg" "AM_OLD_VALUE"
                    511:     WriteRegStr HKCR ".svg" "" $R0
                    512:   ; --> .mml
                    513:   ReadRegStr $R0 HKCR ".mml" ""
                    514:   StrCmp $R0 "Amaya" 0 +3
                    515:     ReadRegStr $R0 HKCR ".mml" "AM_OLD_VALUE"
                    516:     WriteRegStr HKCR ".mml" "" $R0
                    517:   ; --> .xml
                    518:   ReadRegStr $R0 HKCR ".xml" ""
                    519:   StrCmp $R0 "Amaya" 0 +3
                    520:     ReadRegStr $R0 HKCR ".xml" "AM_OLD_VALUE"
                    521:     WriteRegStr HKCR ".xml" "" $R0
1.1       gully     522: 
                    523: SectionEnd
                    524: 
                    525: ;--------------------------------
                    526: ;Uninstaller Functions
                    527: 
                    528: Function un.onInit
                    529: 
                    530:   !insertmacro MUI_UNGETLANGUAGE
                    531:   
                    532: FunctionEnd

Webmaster