diff options
-rw-r--r-- | xorg-server/installer/vcxsrv.nsi | 132 |
1 files changed, 41 insertions, 91 deletions
diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi index b9fcc61c3..ac22ac8dc 100644 --- a/xorg-server/installer/vcxsrv.nsi +++ b/xorg-server/installer/vcxsrv.nsi @@ -36,6 +36,7 @@ RequestExecutionLevel admin ;--------------------------------
InstType "Full"
InstType "Minimal"
+InstType "Full with Debug"
; Pages
@@ -52,10 +53,6 @@ XPStyle on !define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
-!ifdef VS2008
-!include runtime
-!endif
-
;--------------------------------
; The stuff to install
Section "VcXsrv (required)"
@@ -70,10 +67,25 @@ Section "VcXsrv (required)" IfFileExists "$INSTDIR\opengl32.dll" 0 +2
Delete "$INSTDIR\opengl32.dll"
+ SectionGetFlags ${VcXsrv_debug_version"} $0
+ IntCmp $0 0 nodebug
+ nodebug:
+ IfFileExists "$INSTDIR\vcxsrv_dbg.exe" 0 +2
+ Delete "$INSTDIR\vcxsrv_dbg.exe"
+ IfFileExists "$INSTDIR\vcxsrv_dbg.pdb" 0 +2
+ Delete "$INSTDIR\vcxsrv_dbg.pdb"
+ IfFileExists "$INSTDIR\swrast_dri_dbg.dll" 0 +2
+ Delete "$INSTDIR\swrast_dri_dbg.dll"
+ IfFileExists "$INSTDIR\swrastwgl_dri_dbg.dll" 0 +2
+ Delete "$INSTDIR\swrastwgl_dri_dbg.dll"
+ IfFileExists "$INSTDIR\dxtn_dbg.dll" 0 +2
+ Delete "$INSTDIR\dxtn_dbg.dll"
+ IfFileExists "$INSTDIR\msvcr100d.dll" 0 +2
+ Delete "$INSTDIR\msvcr100d.dll"
+ done:
+
; Put files there
File "..\obj\servrelease\vcxsrv.exe"
- File "..\obj\servdebug\vcxsrv_dbg.exe"
- File "..\obj\servdebug\vcxsrv_dbg.pdb"
File "..\protocol.txt"
File "..\system.XWinrc"
File "..\..\xkbcomp\obj\release\xkbcomp.exe"
@@ -93,20 +105,15 @@ Section "VcXsrv (required)" File "..\hw\xwin\xlaunch\obj\release\xlaunch.exe"
File "..\..\tools\plink\obj\release\plink.exe"
File "..\swrast_dri.dll"
- File "..\swrast_dri_dbg.dll"
File "..\swrastwgl_dri.dll"
- File "..\swrastwgl_dri_dbg.dll"
File "..\dxtn.dll"
File "..\..\libxml2\bin\libxml2.dll"
File "..\..\zlib\obj\release\zlib1.dll"
File "..\..\libXau\obj\release\libXau.dll"
File "..\..\libX11\obj\release\libX11.dll"
File "..\..\libxml2\bin\iconv.dll"
-!ifndef VS2008
File "msvcr100.dll"
File "msvcp100.dll"
- File "msvcr100d.dll"
-!endif
SetOutPath $INSTDIR\xkbdata
File /r "..\xkbdata\*.*"
SetOutPath $INSTDIR\locale
@@ -150,54 +157,6 @@ Section "VcXsrv (required)" WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Application" "" "XLaunch"
WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Topic" "" "System"
-!ifdef VS2008
- InitPluginsDir
- SetOutPath $PLUGINSDIR
- File "${MSVCR90_DLL}"
- File "${MSVCM90_DLL}"
- File "${MSVCP90_DLL}"
- File "${MSVC_CAT}"
- File "${MSVC_MANIFEST}"
- File "${MSVCR90_DLL_D}"
- File "${MSVCM90_DLL_D}"
- File "${MSVCP90_DLL_D}"
- File "${MSVC_CAT_D}"
- File "${MSVC_MANIFEST_D}"
- DetailPrint "Installing CRT assembly..."
- System::Call "sxs::CreateAssemblyCache(*i .r0, i 0) i.r1"
- StrCmp $1 0 0 fail
- # Fill a FUSION_INSTALL_REFERENCE.
- # fir.cbSize = sizeof(FUSION_INSTALL_REFERENCE) == 32
- # fir.dwFlags = 0
- # fir.guidScheme = FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID
- # fir.szIdentifier = "nsissxs"
- # fir.szNonCanonicalData = 0
- System::Call "*(i 32, i 0, i 2364391957, i 1217113163, i 178634899, i 3090139977, w 'nsissxs', w '') i.s"
- Pop $2
- # IAssemblyCache::InstallAssembly(0, manifestPath, fir)
- System::Call "$0->7(i 0, w '$PLUGINSDIR\${MSVC_MANIFEST_PART}', i r2) i.r1"
- StrCmp $1 0 0 failcrt
- System::Call "$0->7(i 0, w '$PLUGINSDIR\${MSVC_MANIFEST_PART_D}', i r2) i.r1"
- StrCmp $1 0 0 faildebugcrt
- System::Free $2
- System::Call "$0->2()"
- Goto end
-
-fail:
- DetailPrint "CreateAssemblyCache failed."
- DetailPrint $1
- Goto end
-
-failcrt:
- DetailPrint "InstallAssembly CRT failed."
- DetailPrint $1
- Goto end
-faildebugcrt:
- DetailPrint "InstallAssembly Debug CRT failed."
- DetailPrint $1
- Goto end
-end:
-!endif
SectionEnd
; Optional section (can be disabled by the user)
@@ -233,6 +192,24 @@ Section "Desktop Shortcuts" SectionEnd
;--------------------------------
+; Optional debug libraries
+Section "VcXsrv debug version" VcXsrv_debug_version
+ SectionIn 3
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+
+ ; Put files there
+ File "..\obj\servdebug\vcxsrv_dbg.exe"
+ File "..\obj\servdebug\vcxsrv_dbg.pdb"
+ File "..\swrast_dri_dbg.dll"
+ File "..\swrastwgl_dri_dbg.dll"
+ File "..\dxtn_dbg.dll"
+ File "msvcr100d.dll"
+
+SectionEnd
+
+;--------------------------------
; Uninstaller
@@ -271,15 +248,17 @@ Section "Uninstall" Delete "$INSTDIR\swrast_dri.dll"
Delete "$INSTDIR\swrast_dri_dbg.dll"
Delete "$INSTDIR\dxtn.dll"
+ Delete "$INSTDIR\dxtn_dbg.dll"
+ Delete "$INSTDIR\swrastwgl_dri.dll"
+ Delete "$INSTDIR\swrastwgl_dri_dbg.dll"
+ Delete "$INSTDIR\libXau.dll"
+ Delete "$INSTDIR\libX11.dll"
Delete "$INSTDIR\libxml2.dll"
Delete "$INSTDIR\zlib1.dll"
Delete "$INSTDIR\iconv.dll"
-
-!ifndef VS2008
Delete "$INSTDIR\msvcr100.dll"
Delete "$INSTDIR\msvcp100.dll"
Delete "$INSTDIR\msvcr100d.dll"
-!endif
RMDir /r "$INSTDIR\fonts"
RMDir /r "$INSTDIR\xkbdata"
@@ -294,34 +273,5 @@ Section "Uninstall" RMDir "$SMPROGRAMS\VcXsrv"
RMDir "$INSTDIR"
-; Currently disable uninstalling the run-time; because sometimes it is removing
-; the run-time although other applications are using them
-; DetailPrint "Removing CRT assembly..."
-; System::Call "sxs::CreateAssemblyCache(*i .r0, i 0) i.r1"
-; StrCmp $1 0 0 fail
-; System::Call "*(i 32, i 0, i 2364391957, i 1217113163, i 178634899, i 3090139977, w 'nsissxs', w '') i.s"
-; Pop $2
-; System::Call "$0->3(i 0, w 'Microsoft.VC90.CRT,version=$\"9.0.${MSVC_VERSION}$\",type=$\"win32$\",processorArchitecture=$\"x86$\",publicKeyToken=$\"${MSVC_PUBLICTOKEN}$\"', i r2, *i . r3) i.r1"
-; StrCmp $1 0 0 failcrt
-; System::Call "$0->3(i 0, w 'Microsoft.VC90.DebugCRT,version=$\"9.0.${MSVC_VERSION_D}$\",type=$\"win32$\",processorArchitecture=$\"x86$\",publicKeyToken=$\"${MSVC_PUBLICTOKEN}$\"', i r2, *i . r3) i.r1"
-; StrCmp $1 0 0 faildebugcrt
-; DetailPrint "Disposition returned is $3"
-; System::Free $2
-; System::Call "$0->2()"
-; Goto end
-; fail:
-; DetailPrint "CreateAssemblyCache failed."
-; DetailPrint $1
-; Goto end
-; failcrt:
-; DetailPrint "UninstallAssembly CRT failed."
-; DetailPrint $1
-; Goto end
-; faildebugcrt:
-; DetailPrint "UninstallAssembly Debug CRT failed."
-; DetailPrint $1
-; Goto end
-;end:
-
SectionEnd
|