X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=monowiz.win32.nsi;h=c697efd86f3476e6fad035e2e07d812d7906fae2;hb=cc615ced8d898bb69db16f3aef0b4dd19a7ee7a7;hp=81f0bbe964c6ccd35fdb82856b93db07fcc8c851;hpb=f35602d3d054d630deabfdea9025fb5816ea8d47;p=mono.git diff --git a/monowiz.win32.nsi b/monowiz.win32.nsi index 81f0bbe964c..c697efd86f3 100644 --- a/monowiz.win32.nsi +++ b/monowiz.win32.nsi @@ -1,13 +1,16 @@ -; ===================================================== -; mono.nsi - Mono Setup wizard for windows -; ===================================================== +; ================================================================= +; mono.nsi - This NSIS script creates Mono Setup wizard for Windows +; +; Requires NSIS 2.0 (Nullsoft Scriptable Install System) +; From http://nsis.sourceforge.net/site/index.php +; ================================================================= ; ; (C) Copyright 2003 by Johannes Roith -; (C) Copyright 2003 by Daniel Morgan +; (C) Copyright 2003, 2004 by Daniel Morgan ; ; Authors: ; Johannes Roith -; Daniel Morgan +; Daniel Morgan ; ; This .nsi includes code from the NSIS Archives: ; function StrReplace and VersionCheck @@ -23,9 +26,12 @@ ; SET MILESTONE & SOURCE DIR ; ===================================================== ; set by makefile!! -; -; !define MILESTONE "0.26" ; -; !define SOURCE_INSTALL_DIR "/usr/monodist\\*" ; +; !define MILESTONE 0.29 +; !define SOURCE_INSTALL_DIR E:\cygwin\home\danmorg\mono029\*.* + +!define MILESTONE 0.31 +!define SOURCE_INSTALL_DIR c:\b\install\*.* +;E:\cygwin\home\danmorg\mono029\*.* ; ===================================================== ; SET LOGO @@ -58,9 +64,6 @@ ; 4. The output file is mono-[MILESTONE]-win32-1.exe ; ; -; -; -; ; ===================================================== ; MONO & REGISTRY / DETECTING MONO ; ===================================================== @@ -96,31 +99,58 @@ ; GENERAL SETTING - NEED NOT TO BE CHANGED ; ===================================================== - !define NAME "Mono" ; - !define TARGET_INSTALL_DIR "$PROGRAMFILES\Mono-${MILESTONE}" ; - !define OUTFILE "mono-${MILESTONE}-win32-1.exe" ; +!define NAME "Mono" +!define TARGET_INSTALL_DIR "$PROGRAMFILES\Mono-${MILESTONE}" +!define OUTFILE mono-${MILESTONE}-win32-1.exe -; ===================================================== -; SCRIPT -; ===================================================== +Name ${NAME} +Caption "Mono ${MILESTONE} Setup" - !define MUI_PRODUCT "${NAME}" - !define MUI_VERSION "${MILESTONE}" - !define FULLNAME "${MUI_PRODUCT} ${MUI_VERSION}" - !define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe" - !define MUI_ICON "${NSISDIR}\Contrib\Icons\setup.ico" - !define MUI_UNICON "${NSISDIR}\Contrib\Icons\normal-uninstall.ico" - !define MUI_WELCOMEPAGE - !define MUI_DIRECTORYPAGE - !define MUI_DIRECTORYSELECTIONPAGE - !include "${NSISDIR}\Contrib\Modern UI\System.nsh" - !insertmacro MUI_SYSTEM - !insertmacro MUI_LANGUAGE "ENGLISH" +!include "MUI.nsh" +!include "Sections.nsh" +SetCompressor bzip2 +SilentInstall normal +ShowInstDetails show +SetDateSave on +SetDatablockOptimize on +CRCCheck on +BGGradient 000000 800000 FFFFFF +InstallColors FF8080 000030 +XPStyle on +AutoCloseWindow false - OutFile "${OUTFILE}" - InstallDir "${TARGET_INSTALL_DIR}" +; ===================================================== +; SCRIPT +; ===================================================== +#!define MUI_WELCOMEPAGE +#!define MUI_DIRECTORYPAGE +#!define MUI_DIRECTORYSELECTIONPAGE + +!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Mono for Windows.\r\n\r\n\r\n$_CLICK" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +!define MUI_FINISHPAGE_LINK "Visit Mono's website for the latest news" +!define MUI_FINISHPAGE_LINK_LOCATION "http://www.go-mono.com/" + +!define MUI_FINISHPAGE_NOREBOOTSUPPORT + +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "ENGLISH" + +AutoCloseWindow false +ShowInstDetails show + +OutFile ${OUTFILE} +InstallDir "${TARGET_INSTALL_DIR}" ;======================== ; Uninstaller @@ -186,8 +216,11 @@ SectionEnd NoAskInstall: + DetailPrint "Installing Mono Files..." + SetOverwrite on SetOutPath $INSTDIR - File /r "${SOURCE_INSTALL_DIR}" + File /r ${SOURCE_INSTALL_DIR} + WriteUninstaller Uninst.exe WriteRegStr HKEY_LOCAL_MACHINE SOFTWARE\Mono\${MILESTONE} SdkInstallRoot $INSTDIR @@ -320,7 +353,7 @@ FileClose $0 FileOpen $0 "$WINDIR\monobasepath.bat" "w" FileWrite $0 'set MONO_BASEPATH="$INSTDIR"$\r$\n' FileWrite $0 'set MONO_PATH=$INSTDIR\lib$\r$\n' -FileWrite $0 'set MONO_CFG_DIR="$INSTDIR\etc\mono"' +FileWrite $0 'set MONO_CFG_DIR=$INSTDIR\etc' FileClose $0 @@ -340,7 +373,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\mcs.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -362,7 +395,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\mbas.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -384,7 +417,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mint.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -406,7 +439,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" FileClose $0 @@ -427,7 +460,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\monodis.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -449,7 +482,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\monoilasm.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -472,7 +505,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\sqlsharp.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -494,7 +527,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\secutil.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -516,7 +549,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\cert2spec.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -539,7 +572,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\monoresgen.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -561,7 +594,7 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\monosn.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" @@ -573,7 +606,6 @@ FileClose $0 FileOpen $0 "$WINDIR\cilc.bat" "w" - FileWrite $0 "@echo off$\r$\n" FileWrite $0 "call monobasepath.bat$\r$\n" FileWrite $0 "set MONOARGS=$\r$\n" @@ -584,12 +616,91 @@ FileWrite $0 "shift$\r$\n" FileWrite $0 "goto loop$\r$\n" FileWrite $0 ":done$\r$\n" FileWrite $0 "setlocal$\r$\n" -FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n' +FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;$INSTDIR\icu\bin;%path%"$\r$\n' FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\cilc.exe" %MONOARGS%$\r$\n' FileWrite $0 "endlocal$\r$\n" FileClose $0 +; ============= glib-2.0.pc =============== +FileOpen $0 "$INSTDIR\lib\pkgconfig\glib-2.0.pc" "w" +FileWrite $0 "prefix=$6$\r$\n" +FileWrite $0 "exec_prefix=$${prefix}$\r$\n" +FileWrite $0 "libdir=$${exec_prefix}/lib$\r$\n" +FileWrite $0 "includedir=$${prefix}/include$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "glib_genmarshal=glib-genmarshal$\r$\n" +FileWrite $0 "gobject_query=gobject-query$\r$\n" +FileWrite $0 "glib_mkenums=glib-mkenums$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "Name: GLib$\r$\n" +FileWrite $0 "Description: C Utility Library$\r$\n" +FileWrite $0 "Version: 2.0.4$\r$\n" +FileWrite $0 "Libs: -L$${libdir} -lglib-2.0 -lintl -liconv $\r$\n" +FileWrite $0 "Cflags: -I$${includedir}/glib-2.0 -I$${libdir}/glib-2.0/include $\r$\n" +FileClose $0 + +; ============= gmodule-2.0.pc =============== +FileOpen $0 "$INSTDIR\lib\pkgconfig\gmodule-2.0.pc" "w" +FileWrite $0 "prefix=$6$\r$\n" +FileWrite $0 "exec_prefix=$${prefix}$\r$\n" +FileWrite $0 "libdir=$${exec_prefix}/lib$\r$\n" +FileWrite $0 "includedir=$${prefix}/include$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "gmodule_supported=true$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "Name: GModule$\r$\n" +FileWrite $0 "Description: Dynamic module loader for GLib$\r$\n" +FileWrite $0 "Requires: glib-2.0$\r$\n" +FileWrite $0 "Version: 2.0.4$\r$\n" +FileWrite $0 "Libs: -L$${libdir} -lgmodule-2.0 $\r$\n" +FileWrite $0 "Cflags:$\r$\n" +FileClose $0 + +; ============= gobject-2.0.pc =============== +FileOpen $0 "$INSTDIR\lib\pkgconfig\gobject-2.0.pc" "w" +FileWrite $0 "prefix=$6$\r$\n" +FileWrite $0 "exec_prefix=$${prefix}$\r$\n" +FileWrite $0 "libdir=$${exec_prefix}/lib$\r$\n" +FileWrite $0 "includedir=$${prefix}/include$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "Name: GObject$\r$\n" +FileWrite $0 "Description: GLib Type, Object, Parameter and Signal Library$\r$\n" +FileWrite $0 "Requires: glib-2.0$\r$\n" +FileWrite $0 "Version: 2.0.4$\r$\n" +FileWrite $0 "Libs: -L$${libdir} -lgobject-2.0$\r$\n" +FileWrite $0 "Cflags:$\r$\n" +FileClose $0 + +; ============= gthread-2.0.pc =============== +FileOpen $0 "$INSTDIR\lib\pkgconfig\gthread-2.0.pc" "w" +FileWrite $0 "prefix=$6$\r$\n" +FileWrite $0 "exec_prefix=$${prefix}$\r$\n" +FileWrite $0 "libdir=$${exec_prefix}/lib$\r$\n" +FileWrite $0 "includedir=$${prefix}/include$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "Name: GThread$\r$\n" +FileWrite $0 "Description: Thread support for GLib$\r$\n" +FileWrite $0 "Requires: glib-2.0$\r$\n" +FileWrite $0 "Version: 2.0.4$\r$\n" +FileWrite $0 "Libs: -L$${libdir} -lgthread-2.0 $\r$\n" +FileWrite $0 "Cflags: -D_REENTRANT$\r$\n" +FileClose $0 + +; ============= libintl.pc =============== +FileOpen $0 "$INSTDIR\lib\pkgconfig\libintl.pc" "w" +FileWrite $0 "prefix=$6$\r$\n" +FileWrite $0 "exec_prefix=$${prefix}$\r$\n" +FileWrite $0 "libdir=$${exec_prefix}/lib$\r$\n" +FileWrite $0 "includedir=$${prefix}/include$\r$\n" +FileWrite $0 "$\r$\n" +FileWrite $0 "Name: libintl$\r$\n" +FileWrite $0 "Description: The intl library from GNU gettext$\r$\n" +FileWrite $0 "Version: 0.10.40-tml$\r$\n" +FileWrite $0 "Libs: -L$${libdir} -lintl$\r$\n" +FileWrite $0 "Cflags: -I$${includedir}$\r$\n" +FileClose $0 + NoInstall: SectionEnd @@ -696,4 +807,4 @@ Function VersionCheck Pop $R0 Pop $1 Exch $0 -FunctionEnd \ No newline at end of file +FunctionEnd