; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "txt2tags" !define PRODUCT_VERSION "${T2T_VER}" !define PRODUCT_PUBLISHER "Aurélio - http://aurelio.net/" !define PRODUCT_WEB_SITE "http://txt2tags.sourceforge.net/" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" SetCompressor lzma !define RELEASE_NAME "${T2T_VER}" !define OUT_DIR "${RELEASE_NAME}\win-inst\" !ifdef STD_ALONE !define SRC_FILE "\win-inst\temp\txt2tags.exe" !ifdef PTBR !define OUT_FILE "${RELEASE_NAME}-sa-ptbr.exe" !else !define OUT_FILE "${RELEASE_NAME}-sa.exe" !endif !define PROG_FILE "txt2tags.exe" !define REG_EXEC '"$INSTDIR\${PROG_FILE}" "%1"' !else !define SRC_FILE "txt2tags.pyw" !ifdef PTBR !define OUT_FILE "${RELEASE_NAME}-ptbr.exe" !else !define OUT_FILE "${RELEASE_NAME}.exe" !endif !define PROG_FILE "txt2tags.pyw" !define REG_EXEC "" !endif ;SetCompressor bzip2 SetCompressor lzma ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_HEADERIMAGE !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\t2t.bmp" !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\t2t.bmp" !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page !insertmacro MUI_PAGE_LICENSE "${RELEASE_NAME}\COPYING.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !ifdef PTBR !insertmacro MUI_LANGUAGE "PortugueseBR" !define EXEMPLOS_TXT "Exemplos" !else !insertmacro MUI_LANGUAGE "English" !define EXEMPLOS_TXT "Samples" !endif ; Reserve files !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; MUI end ------ !ifndef STD_ALONE ;-------------------------------- ; Mensagem se Python não estiver instalado ; com possibilidade de abortar a instalação do txt2tags ; Function .onInit Exec 'python -V' Pop $0 # return value/error/timeout Pop $1 # printed text, up to ${NSIS_MAX_STRLEN} Strcpy $1 $1 6 Strcmp $1 'Python' NoAbort !ifdef PTBR MessageBox MB_YESNO "Você deve ter o Python instalado.$\r$\nContinuar com a instalação do txt2tags?" IDYES NoAbort !else MessageBox MB_YESNO "You must have Python installed.$\r$\nContinue to install txt2tags?" IDYES NoAbort !endif ;; MessageBox MB_YESNO "You must have Python installed.$\r$\nInstall txt2tags anyway?" IDYES NoAbort Abort NoAbort: FunctionEnd !endif Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${OUT_DIR}${OUT_FILE}" InstallDir "$PROGRAMFILES\txt2tags" ShowInstDetails show ShowUnInstDetails show Section "SeçãoPrincipal" SEC01 ;;; IMPORTANT ; All the text files must be passed to 'unix2dos' ; before the installer packaging SetOutPath "$INSTDIR\extras\" File "${RELEASE_NAME}\extras\*.*" SetOutPath "$INSTDIR\samples\" File /r "${RELEASE_NAME}\samples\*.*" SetOutPath "$INSTDIR\doc\" File /r "${RELEASE_NAME}\doc\*.*" SetOutPath "$INSTDIR\test\" File /r "${RELEASE_NAME}\test\*.*" SetOutPath "$INSTDIR" File "${RELEASE_NAME}\*.txt" File "${RELEASE_NAME}\*.*" !ifdef STD_ALONE File "${RELEASE_NAME}\t2t.exe" !endif ; File "${RELEASE_NAME}\t2t*.py*" ; File "${RELEASE_NAME}\txt*.py" File "${RELEASE_NAME}\${SRC_FILE}" ; Create uninstaller WriteUninstaller "$INSTDIR\uninst.exe" SectionEnd Section -AdditionalIcons ; WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateDirectory "$SMPROGRAMS\txt2tags" ; CreateShortCut "$SMPROGRAMS\txt2tags\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\txt2tags\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post ;;; menu SetOutPath "$SMPROGRAMS\${PRODUCT_NAME}" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\txt2tags.lnk" \ "$INSTDIR\${PROG_FILE}" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\txt2tags.lnk" \ "$INSTDIR\${PROG_FILE}" ;;; docs SetOutPath "$SMPROGRAMS\${PRODUCT_NAME}\doc" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Rules.lnk" \ "$INSTDIR\doc\rules.html" !ifdef PTBR CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Marcas.lnk" \ "$INSTDIR\doc\pt_BR\marcas.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Guia do usuário.lnk" \ "$INSTDIR\doc\pt_BR\guia-usuario.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\FAQ.lnk" \ "$INSTDIR\doc\pt_BR\faq.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Cartão de Referência.lnk" \ "$INSTDIR\doc\pt_BR\t2tcartao.pdf" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\WebSite.lnk" \ "http://txt2tags.sf.net/pt/" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Writing Books with Txt2tags (inglês).lnk" \ "$INSTDIR\doc\writing-book.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Readme (inglês).lnk" \ "$INSTDIR\README.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\ChangeLog (inglês).lnk" \ "$INSTDIR\ChangeLog.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Readme-first (inglês).lnk" \ "$INSTDIR\README-FIRST.txt" !else CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Readme.lnk" \ "$INSTDIR\README.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\ChangeLog.lnk" \ "$INSTDIR\ChangeLog.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Readme-first.lnk" \ "$INSTDIR\README-FIRST.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\User Guide-pdf.lnk" \ "$INSTDIR\doc\userguide.pdf" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Txt2tags Markup Demo.lnk" \ "$INSTDIR\doc\markup.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\Writing Books with Txt2tags.lnk" \ "$INSTDIR\doc\writing-book.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\doc\WebSite.lnk" \ "http://txt2tags.sf.net" !endif ;;; exemplos SetOutPath "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}" !ifdef PTBR ; CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\Estressando o txt2tags.lnk" \ ; "$INSTDIR\doc\pt_BR\abuse-me.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\Arquivo de exemplos.lnk" \ "$INSTDIR\doc\pt_BR\exemplo.html" !else ; CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\abuseme.lnk" \ ; "$INSTDIR\samples\abuseme.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\sample.lnk" \ "$INSTDIR\samples\sample.html" !endif SetOutPath "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\css" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\css\color.lnk" \ "$INSTDIR\samples\css\color.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\css\modern.lnk" \ "$INSTDIR\samples\css\modern.html" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${EXEMPLOS_TXT}\css\tech.lnk" \ "$INSTDIR\samples\css\tech.html" SetOutPath "$SMPROGRAMS\${PRODUCT_NAME}\extras" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\extras\Readme.lnk" \ "$INSTDIR\extras\readme.txt" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\extras\Browse.lnk" \ "$INSTDIR\extras\" ; Make .t2t file extension association WriteRegStr HKCR ".t2t" "" "T2TFile" WriteRegStr HKCR "T2TFile" "" "Txt2tags File" WriteRegStr HKCR "T2TFile\shell" "" "open" WriteRegStr HKCR "T2TFile\shell\open\command" "" 'notepad.exe "%1"' ;TODO why it is not working? ; WriteRegStr HKCR "T2TFile\shell\convert" "" "Convert in Txt2tags" ; WriteRegStr HKCR "T2TFile\shell\convert\command" "" "${REG_EXEC}" ;TODO first we need an icon, then the QuickLaunch link ; CreateShortCut "$QUICKLAUNCH\txt2tags.lnk" "$INSTDIR\txt2tags.py" ; WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) foi removido com sucesso do seu computador." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Tem certeza que quer remover completamente $(^Name) e todos os seus componentes?" IDYES +2 Abort FunctionEnd Section Uninstall ; Delete "$INSTDIR\${PRODUCT_NAME}.url" ; Delete "$INSTDIR\uninst.exe" ; Delete "$INSTDIR\ChangeLog" ; Delete "$INSTDIR\txt2tags.pyw" ; Delete "$SMPROGRAMS\txt2tags\Uninstall.lnk" ; Delete "$SMPROGRAMS\txt2tags\Website.lnk" ; RMDir /r "$SMPROGRAMS\txt2tags" RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}" RMDir /r "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" SetAutoClose true SectionEnd