; Código del nuevo instalador profesional I ; Hecho por Joel Almeida García --> Lobo Lunar ; ${LANG_SPANISH} ${LANG_ENLISH} ;Declaración de las propiedas internas SetCompressor "bzip2" VIProductVersion "1.2.3.4" VIAddVersionKey /lang=2058 "ProductName" "Test Application" VIAddVersionKey "Comments" "A test comment" VIAddVersionKey "CompanyName" "Fake company" VIAddVersionKey "LegalTrademarks" "Test Application is a trademark of Fake company" VIAddVersionKey "LegalCopyright" "© Fake company" VIAddVersionKey "FileDescription" "Test Application" VIAddVersionKey "FileVersion" "1.2.3" XPStyle "on" SetDateSave on ;!packhdr "temp.dat" "${ResDir}\upx.exe -9 temp.dat" !define Autor "Lobo Lunar" !define ResDir "C:\joelito\utilidades\dev\NSIS\NsisRes" !define ResFiles "C:\joelito\utilidades\exe" !define url1 "http://download.microsoft.com/download/vb60pro/Redist/sp5/WIN98Me/EN-US/VBRun60sp5.exe" !define IOFile "io.ini" !define pc "pc.ini" !define main "funlin" !define TVM_SETBKCOLOR 0x111D !define TVM_SETTEXTCOLOR 0x111E !define LVM_SETBKCOLOR 0x1001 ;Declaración de los colores !define DlgColor "0x00DFC3A7" ;Color de los diálogos !define BGcolor "0x00A5896D" ;Color del TOP para BG en HEX !define BG_color "6D89A5" ;Color del TOP para BG en HTML !define FGcolor "0x0053371B" ;Color de las letras (FONT) en HEX !define FG_color "1B3753" ;Color de las letras (FONT) en !include "MUI.nsh" !define MUI_PRODUCT "Funciones Lineales" !define MUI_VERSION "1.65" OutFile "inst-${MUI_PRODUCT}.exe" InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS Page custom Task "" ": Tareas adicionales" !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_INSTFILES !define MUI_CUSTOMFUNCTION_GUIINIT "Inicio" !define MUI_CUSTOMFUNCTION_COMPONENTS_PRE "Runtime" !define MUI_ICON "${ResDir}\1d.ico" !define MUI_UNICON "${ResDir}\2c.ico" !define MUI_BGCOLOR "${BGcolor}" !define MUI_UI "${ResDir}\modern.exe" !define MUI_UI_SMALLDESCRIPTION !define MUI_HEADERBITMAP_RIGHT !define MUI_HEADERBITMAP "${ResDir}\top2.bmp" !define MUI_INSTALLCOLORS "${FG_color} ${BG_color}" !define MUI_PROGRESSBAR "smooth colored" !define MUI_SPECIALINI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini" !define MUI_CHECKBITMAP "${ResDir}\check1.bmp" !define MUI_SPECIALBITMAP "${ResDir}\nsis0.bmp" !define MUI_LICENSEPAGE_CHECKBOX !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_FINISHPAGE_RUN "$INSTDIR\${main}.exe" !define MUI_FINISHPAGE_RUN_NOTCHECKED !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED ReserveFile "${ResDir}\${IOFile}" ReserveFile "${ResDir}\${pc}" !insertmacro MUI_RESERVEFILE_WELCOMEFINISHPAGE !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_RESERVEFILE_LANGDLL !define MUI_FONT "Verdana" !define MUI_FONTSIZE "8" !define MUI_FONT_HEADER "Verdana" !define MUI_FONTSIZE_HEADER "9" !define MUI_FONTSTYLE_HEADER "900" !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" !define MUI_LANGDLL_REGISTRY_KEY "Software\${MUI_PRODUCT}" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" !define MUI_LANGDLL_WINDOWTITLE "Selecciona un idioma" !define MUI_LANGDLL_INFO "Idiomas disponibles" Caption "" BrandingText "${Autor}" LicenseData /lang=${LANG_SPANISH} "${ResDir}\TODO.rtf" LicenseData /lang=${LANG_ENGLISH} "${ResDir}\TODO.rtf" ;Declaración de macros !macro descargar FileDude URL NSISdl::download /TRANSLATE "Descargando %s" "Conectando" "segundo" "minuto" "hora" "s" "%d KB (%d%%) de %d KB a %d.%01d KB/s" " (%d %s%s restantes)" ${URL} "$TEMP\${FileDude}" Pop $0 StrCmp $0 "success" +3 0 DetailPrint "Error al descargar ${FileDude}" Goto +3 ExecWait "$TEMP\${FileDude}" Delete "$TEMP\${FileDude}" !macroend ;Declaración de las secciones de nuestro instalador Section "-${MUI_PRODUCT}" SetOutPath $INSTDIR File /r "${ResFiles}\*.*" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT} ${MUI_VERSION}" "DisplayName" "${MUI_PRODUCT} ${MUI_VERSION} - Desinstalador" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT} ${MUI_VERSION}" "UninstallString" "$INSTDIR\desinstalar.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT} ${MUI_VERSION}" "DisplayIcon" "$INSTDIR\desinstalar.exe,0" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT} ${MUI_VERSION}" "Publisher" "${Autor}" WriteUninstaller "$INSTDIR\desinstalar.exe" SectionEnd SubSection "${MUI_PRODUCT}" opt1 Section "VB6 Runtime" op1 AddSize 1014 !insertmacro descargar "VBRun60sp5.exe" ${url1} SectionEnd Section "ComCtl32" op2 AddSize 1014 SectionEnd SubSectionEnd ;Declaración de la sección del desinstalador Section "Uninstall" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT} ${MUI_VERSION}" RMDir /r $INSTDIR Delete "$DESKTOP\${main}.lnk" RMDir /r "$SMPROGRAMS\${MUI_PRODUCT} ${MUI_VERSION}" Delete "$QUICKLAUNCH\${main}.lnk" MessageBox MB_OK|MB_ICONINFORMATION "${MUI_PRODUCT} ${MUI_VERSION} ha sido desinstalado." Quit SectionEnd ;Declaración de textos para los componentes LangString DESC_opt1 ${LANG_SPANISH} "Componentes para ${MUI_PRODUCT}" LangString DESC_opt1 ${LANG_ENGLISH} "additional components for ${MUI_PRODUCT}" LangString DESC_op1 ${LANG_SPANISH} "Descargar Visual Basic 6 Runtime desde de Internet." LangString DESC_op1 ${LANG_ENGLISH} "Download Visual Basic 6 Runtime from the Internet." LangString DESC_op2 ${LANG_ENGLISH} "Download Comctl32.ocx from the Internet." LangString DESC_op2 ${LANG_SPANISH} "Descargar Comctl32.ocx desde de Internet." !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${opt1} $(DESC_opt1) !insertmacro MUI_DESCRIPTION_TEXT ${op1} $(DESC_op1) !insertmacro MUI_DESCRIPTION_TEXT ${op2} $(DESC_op2) !insertmacro MUI_FUNCTIONS_DESCRIPTION_END ;Funciones del Instalador Function un.onInit !insertmacro MUI_UNGETLANGUAGE FunctionEnd Function "Inicio" !insertmacro MUI_LANGDLL_DISPLAY File /oname=$PLUGINSDIR\1c.ico "${ResDir}\1c.ico" File /oname=$PLUGINSDIR\ico1.ico "${ResDir}\ico1.ico" File /oname=$PLUGINSDIR\ico2.ico "${ResDir}\ico2.ico" File /oname=$PLUGINSDIR\ico3.ico "${ResDir}\ico3.ico" File /oname=$PLUGINSDIR\ico4.ico "${ResDir}\ico4.ico" File /oname=$PLUGINSDIR\ico5.ico "${ResDir}\ico5.ico" File /oname=$PLUGINSDIR\ico6.ico "${ResDir}\ico6.ico" File /oname=$PLUGINSDIR\ico7.ico "${ResDir}\ico7.ico" File /oname=$PLUGINSDIR\4.ico "${ResDir}\4.ico" !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${ResDir}\${IOFile}" "${IOFile}" !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${ResDir}\${pc}" "${pc}" WriteIniStr $PLUGINSDIR\${IOFile} "Field 7" Text $PLUGINSDIR\1c.ico WriteIniStr $PLUGINSDIR\${IOFile} "Field 8" Text $PLUGINSDIR\ico1.ico WriteIniStr $PLUGINSDIR\${IOFile} "Field 9" Text $PLUGINSDIR\ico5.ico WriteIniStr $PLUGINSDIR\${IOFile} "Field 10" Text $PLUGINSDIR\ico3.ico WriteIniStr $PLUGINSDIR\${IOFile} "Field 11" Text $PLUGINSDIR\ico2.ico FunctionEnd Function "Task" !insertmacro MUI_HEADER_TEXT "Tareas adicionales para ${MUI_PRODUCT} ${MUI_VERSION}" "Selecciona las tareas adicionales disponibles para ${MUI_PRODUCT}" Push $R0 !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "${IOFile}" Pop $R0 !insertmacro MUI_INSTALLOPTIONS_SHOW FunctionEnd Function "Runtime" IfFileExists $SYSDIR\msvbvm601.dll +1 +4 WriteIniStr $PLUGINSDIR\${pc} "PC" "VB6" "1" SectionSetFlags ${op1} 16 Goto +2 WriteIniStr $PLUGINSDIR\${pc} "PC" "VB6" "0" IfFileExists $SYSDIR\comctl32.ocx +1 +4 WriteIniStr $PLUGINSDIR\${pc} "PC" "COMCTL" "1" SectionSetFlags ${op2} 16 Goto +2 WriteIniStr $PLUGINSDIR\${pc} "PC" "COMCTL" "0" ReadINIStr $0 $PLUGINSDIR\${pc} "PC" "VB6" ReadINIStr $1 $PLUGINSDIR\${pc} "PC" "COMCTL" IntOp $2 $0 + $1 IntCmp $2 "2" +1 +2 +2 Abort FunctionEnd