update known-issues
[mono.git] / mcs / tools / mono-win32-setup.nsi
index 225bb2881276e6f345612176a8f5d01993dd7946..fedc268d68130292ed99478dee41aa52df054e31 100755 (executable)
@@ -25,7 +25,7 @@
 ;\r
 ;\r
   !define MILESTONE "0.24" ;\r
-  !define SOURCE_INSTALL_DIR "c:\cygwin\home\Administrator\install\\*" ;\r
+  !define SOURCE_INSTALL_DIR "c:\mono-0.23-setup\install\\*" ;\r
 \r
 ; =====================================================\r
 ; SET LOGO\r
 ; =====================================================\r
 \r
  !define NAME "Mono" ;\r
- !define TARGET_INSTALL_DIR "c:\mono-${MILESTONE}" ;\r
+ !define TARGET_INSTALL_DIR "$PROGRAMFILES\Mono-${MILESTONE}" ;\r
  !define OUTFILE "mono-${MILESTONE}-win32-1.exe" ;\r
 \r
 ; =====================================================\r
@@ -147,7 +147,15 @@ Section "Uninstall"
   GoNext1:\r
 \r
   DeleteRegKey HKLM SOFTWARE\Mono\${MILESTONE}\r
-  MessageBox MB_YESNO "Mono ${MILESTONE} has been removed. Should the wrappers and the Mono registry key be removed also? This could disable other Mono installations as well, but will remove Mono ${MILESTONE} 100%." IDNO GoNext2\r
+\r
+  ; If the Default-Key is the current Milestone, we just remove the wrappers\r
+\r
+  ReadRegStr $0 HKEY_LOCAL_MACHINE SOFTWARE\Mono\ DefaultCLR\r
+  StrCmp $0 ${MILESTONE} DeleteWrappers\r
+\r
+  MessageBox MB_YESNO "Mono ${MILESTONE} has been removed, but the default installation of Mono differs form this version. Should the wrappers and the Mono registry key be still be removed? This could disable other Mono installations." IDNO GoNext2\r
+\r
+  DeleteWrappers:\r
 \r
   ; Complete Uninstall\r
 \r
@@ -319,9 +327,9 @@ FileClose $0
 ;========================\r
 \r
 FileOpen $0 "$WINDIR\monobasepath.bat" "w"\r
-FileWrite $0 "set MONO_BASEPATH=$INSTDIR$\r$\n"\r
-FileWrite $0 "set MONO_PATH=%MONO_BASEPATH%\lib$\r$\n"\r
-FileWrite $0 "set MONO_CFG_DIR=%MONO_BASEPATH%\etc\mono"\r
+FileWrite $0 'set MONO_BASEPATH="$INSTDIR"$\r$\n'\r
+FileWrite $0 'set MONO_PATH=$INSTDIR\lib$\r$\n'\r
+FileWrite $0 'set MONO_CFG_DIR="$INSTDIR\etc\mono"'\r
 FileClose $0\r
 \r
 \r
@@ -341,8 +349,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\mcs.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\mcs.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -363,8 +371,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\mbas.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\mbas.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -385,8 +393,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mint.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mint.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -407,10 +415,9 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
-\r
 FileClose $0\r
 \r
 ;========================\r
@@ -429,8 +436,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\monodis.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\monodis.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -451,8 +458,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\monoilasm.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\monoilasm.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -474,8 +481,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\sqlsharp.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\sqlsharp.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -496,8 +503,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\secutil.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\secutil.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -518,8 +525,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\cert2spc.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\cert2spec.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -541,8 +548,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\monoresgen.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\monoresgen.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -563,8 +570,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\monosn.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\monosn.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r
@@ -586,8 +593,8 @@ FileWrite $0 "shift$\r$\n"
 FileWrite $0 "goto loop$\r$\n"\r
 FileWrite $0 ":done$\r$\n"\r
 FileWrite $0 "setlocal$\r$\n"\r
-FileWrite $0 'set path="%MONO_BASEPATH%\bin\;%MONO_BASEPATH%\lib\;%path%"$\r$\n'\r
-FileWrite $0 "%MONO_BASEPATH%\bin\mono.exe %MONO_BASEPATH%\bin\cilc.exe %MONOARGS%$\r$\n"\r
+FileWrite $0 'set path="$INSTDIR\bin\;$INSTDIR\lib\;%path%"$\r$\n'\r
+FileWrite $0 '"$INSTDIR\bin\mono.exe" "$INSTDIR\bin\cilc.exe" %MONOARGS%$\r$\n'\r
 FileWrite $0 "endlocal$\r$\n"\r
 \r
 FileClose $0\r