397 lines
19 KiB
NSIS
397 lines
19 KiB
NSIS
SetCompressor /SOLID /FINAL lzma
|
|
|
|
!include "header.nsh"
|
|
!define APPNAME "MonoGame"
|
|
|
|
;Include Modern UI
|
|
|
|
!include "Sections.nsh"
|
|
!include "MUI2.nsh"
|
|
!include "InstallOptions.nsh"
|
|
|
|
!define MUI_ICON "${FrameworkPath}\monogame.ico"
|
|
|
|
!define MUI_UNICON "${FrameworkPath}\monogame.ico"
|
|
|
|
Name '${APPNAME} SDK ${INSTALLERVERSION}'
|
|
OutFile 'MonoGameSetup.exe'
|
|
InstallDir '$PROGRAMFILES\${APPNAME}\v${VERSION}'
|
|
!define MSBuildInstallDir '$PROGRAMFILES32\MSBuild\${APPNAME}\v${VERSION}'
|
|
VIProductVersion "${INSTALLERVERSION}"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APPNAME} SDK"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The MonoGame Team"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${INSTALLERVERSION}"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${INSTALLERVERSION}"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${APPNAME} SDK Installer"
|
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright © The MonoGame Team"
|
|
|
|
; Request application privileges for Windows Vista
|
|
RequestExecutionLevel admin
|
|
|
|
;Interface Configuration
|
|
|
|
!define MUI_HEADERIMAGE
|
|
!define MUI_HEADERIMAGE_BITMAP "${FrameworkPath}\monogame.bmp"
|
|
!define MUI_ABORTWARNING
|
|
|
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "${FrameworkPath}\panel.bmp"
|
|
;Languages
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
|
|
!insertmacro MUI_PAGE_LICENSE "..\..\License.txt"
|
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
!insertmacro MUI_PAGE_FINISH
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
|
|
!macro VS_ASSOCIATE_EDITOR TOOLNAME VSVERSION EXT TOOLPATH
|
|
WriteRegStr HKCU 'Software\Microsoft\VisualStudio\${VSVERSION}\Default Editors\${EXT}' 'Custom' '${TOOLNAME}'
|
|
WriteRegDWORD HKCU 'Software\Microsoft\VisualStudio\${VSVERSION}\Default Editors\${EXT}' 'Type' 0x00000002
|
|
WriteRegStr HKCU 'Software\Microsoft\VisualStudio\${VSVERSION}\Default Editors\${EXT}\${TOOLNAME}' '' '${TOOLPATH}'
|
|
WriteRegStr HKCU 'Software\Microsoft\VisualStudio\${VSVERSION}\Default Editors\${EXT}\${TOOLNAME}' 'Arguments' ''
|
|
!macroend
|
|
|
|
!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
|
|
WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}"
|
|
WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
|
|
WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
|
|
WriteRegStr HKCR "${FILECLASS}\shell" "" "open"
|
|
WriteRegStr HKCR "${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
|
|
WriteRegStr HKCR "${FILECLASS}\shell\open\command" "" `${COMMAND}`
|
|
!macroend
|
|
|
|
;--------------------------------
|
|
;Languages
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
;--------------------------------
|
|
|
|
; The stuff to install
|
|
Section "MonoGame Core Components" CoreComponents ;No components page, name is not important
|
|
SectionIn RO
|
|
|
|
; Install the VS support files.
|
|
SetOutPath ${MSBuildInstallDir}
|
|
File '..\..\MonoGame.Framework.Content.Pipeline\MonoGame.Content.Builder.targets'
|
|
File '..\..\MonoGame.Framework.Content.Pipeline\MonoGame.Common.props'
|
|
File '..\..\Tools\Pipeline\bin\Windows\AnyCPU\Release\MonoGame.Build.Tasks.dll'
|
|
|
|
; Install the MonoGame tools to a single shared folder.
|
|
SetOutPath ${MSBuildInstallDir}\Tools
|
|
File /r '..\..\Tools\2MGFX\bin\Windows\AnyCPU\Release\*.exe'
|
|
File /r '..\..\Tools\2MGFX\bin\Windows\AnyCPU\Release\*.dll'
|
|
File /r '..\..\Tools\MGCB\bin\Windows\AnyCPU\Release\*.exe'
|
|
File /r '..\..\Tools\MGCB\bin\Windows\AnyCPU\Release\*.dll'
|
|
File /r '..\..\Tools\Pipeline\bin\Windows\AnyCPU\Release\*.exe'
|
|
File /r '..\..\Tools\Pipeline\bin\Windows\AnyCPU\Release\*.dll'
|
|
File /r '..\..\Tools\Pipeline\bin\Windows\AnyCPU\Release\*.xml'
|
|
File /r '..\..\Tools\Pipeline\bin\Windows\AnyCPU\Release\Templates'
|
|
|
|
; Associate .mgcb files open in the Pipeline tool.
|
|
!insertmacro VS_ASSOCIATE_EDITOR 'MonoGame Pipeline' '10.0' 'mgcb' '${MSBuildInstallDir}\Tools\Pipeline.exe'
|
|
!insertmacro VS_ASSOCIATE_EDITOR 'MonoGame Pipeline' '11.0' 'mgcb' '${MSBuildInstallDir}\Tools\Pipeline.exe'
|
|
!insertmacro VS_ASSOCIATE_EDITOR 'MonoGame Pipeline' '12.0' 'mgcb' '${MSBuildInstallDir}\Tools\Pipeline.exe'
|
|
!insertmacro VS_ASSOCIATE_EDITOR 'MonoGame Pipeline' '14.0' 'mgcb' '${MSBuildInstallDir}\Tools\Pipeline.exe'
|
|
!insertmacro VS_ASSOCIATE_EDITOR 'MonoGame Pipeline' '15.0' 'mgcb' '${MSBuildInstallDir}\Tools\Pipeline.exe'
|
|
!insertmacro APP_ASSOCIATE 'mgcb' 'MonoGame.ContentBuilderFile' 'A MonoGame content builder project.' '${MSBuildInstallDir}\Tools\Pipeline.exe,0' 'Open with Pipeline' '${MSBuildInstallDir}\Tools\Pipeline.exe "%1"'
|
|
|
|
; Install the assemblies for all the platforms we can
|
|
; target from a Windows desktop system.
|
|
|
|
; Install Android Assemblies
|
|
SetOutPath '$INSTDIR\Assemblies\Android'
|
|
File '..\..\MonoGame.Framework\bin\Android\AnyCPU\Release\*.dll'
|
|
File '..\..\MonoGame.Framework\bin\Android\AnyCPU\Release\*.xml'
|
|
|
|
; Install DesktopGL Assemblies
|
|
SetOutPath '$INSTDIR\Assemblies\DesktopGL'
|
|
File /nonfatal '..\..\MonoGame.Framework\bin\WindowsGL\AnyCPU\Release\*.dll'
|
|
File /nonfatal ' ..\..\MonoGame.Framework\bin\WindowsGL\AnyCPU\Release\*.xml'
|
|
File '..\..\ThirdParty\Dependencies\SDL\MacOS\Universal\libSDL2-2.0.0.dylib'
|
|
File '..\..\ThirdParty\Dependencies\openal-soft\MacOS\Universal\libopenal.1.dylib'
|
|
File '..\..\ThirdParty\Dependencies\MonoGame.Framework.dll.config'
|
|
|
|
; Install x86 DesktopGL Dependencies
|
|
SetOutPath '$INSTDIR\Assemblies\DesktopGL\x86'
|
|
File '..\..\ThirdParty\Dependencies\SDL\Windows\x86\SDL2.dll'
|
|
File '..\..\ThirdParty\Dependencies\openal-soft\Windows\x86\soft_oal.dll'
|
|
File '..\..\ThirdParty\Dependencies\SDL\Linux\x86\libSDL2-2.0.so.0'
|
|
File '..\..\ThirdParty\Dependencies\openal-soft\Linux\x86\libopenal.so.1'
|
|
|
|
; Install x64 DesktopGL Dependencies
|
|
SetOutPath '$INSTDIR\Assemblies\DesktopGL\x64'
|
|
File '..\..\ThirdParty\Dependencies\SDL\Windows\x64\SDL2.dll'
|
|
File '..\..\ThirdParty\Dependencies\openal-soft\Windows\x64\soft_oal.dll'
|
|
File '..\..\ThirdParty\Dependencies\SDL\Linux\x64\libSDL2-2.0.so.0'
|
|
File '..\..\ThirdParty\Dependencies\openal-soft\Linux\x64\libopenal.so.1'
|
|
|
|
; Install Windows Desktop DirectX Assemblies
|
|
SetOutPath '$INSTDIR\Assemblies\Windows'
|
|
File '..\..\MonoGame.Framework\bin\Windows\AnyCPU\Release\*.dll'
|
|
File '..\..\MonoGame.Framework\bin\Windows\AnyCPU\Release\*.xml'
|
|
|
|
; Install Windows 10 UAP Assemblies
|
|
SetOutPath '$INSTDIR\Assemblies\WindowsUniversal'
|
|
File '..\..\MonoGame.Framework\bin\WindowsUniversal\AnyCPU\Release\*.dll'
|
|
File '..\..\MonoGame.Framework\bin\WindowsUniversal\AnyCPU\Release\*.xml'
|
|
|
|
; Install iOS Assemblies
|
|
IfFileExists `$PROGRAMFILES\MSBuild\Xamarin\iOS\*.*` InstalliOSAssemblies SkipiOSAssemblies
|
|
InstalliOSAssemblies:
|
|
SetOutPath '$INSTDIR\Assemblies\iOS'
|
|
File '..\..\MonoGame.Framework\bin\iOS\iPhoneSimulator\Release\*.dll'
|
|
File '..\..\MonoGame.Framework\bin\iOS\iPhoneSimulator\Release\*.xml'
|
|
SetOutPath '$INSTDIR\Assemblies\tvOS'
|
|
File '..\..\MonoGame.Framework\bin\tvOS\iPhoneSimulator\Release\*.dll'
|
|
File '..\..\MonoGame.Framework\bin\tvOS\iPhoneSimulator\Release\*.xml'
|
|
SkipiOSAssemblies:
|
|
|
|
WriteRegStr HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Desktop OpenGL' '' '$INSTDIR\Assemblies\DesktopGL'
|
|
WriteRegStr HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows' '' '$INSTDIR\Assemblies\Windows'
|
|
WriteRegStr HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows 10 Universal' '' '$INSTDIR\Assemblies\WindowsUniversal'
|
|
WriteRegStr HKLM 'SOFTWARE\Microsoft\MonoAndroid\v2.3\AssemblyFoldersEx\${APPNAME} for Android' '' '$INSTDIR\Assemblies\Android'
|
|
WriteRegStr HKLM 'SOFTWARE\Microsoft\MonoTouch\v1.0\AssemblyFoldersEx\${APPNAME} for iOS' '' '$INSTDIR\Assemblies\iOS'
|
|
|
|
IfFileExists $WINDIR\SYSWOW64\*.* Is64bit Is32bit
|
|
Is32bit:
|
|
GOTO End32Bitvs64BitCheck
|
|
Is64bit:
|
|
WriteRegStr HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Desktop OpenGL' '' '$INSTDIR\Assemblies\DesktopGL'
|
|
WriteRegStr HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows' '' '$INSTDIR\Assemblies\Windows'
|
|
WriteRegStr HKLM 'SOFTWARE\Wow6432Node\Microsoft\MonoTouch\v1.0\AssemblyFoldersEx\${APPNAME} for iOS' '' '$INSTDIR\Assemblies\iOS'
|
|
WriteRegStr HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows 10 Universal' '' '$INSTDIR\Assemblies\WindowsUniversal'
|
|
|
|
End32Bitvs64BitCheck:
|
|
; Add remote programs
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'DisplayName' '${APPNAME} SDK'
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'DisplayVersion' '${INSTALLERVERSION}'
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'DisplayIcon' '$INSTDIR\monogame.ico'
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'InstallLocation' '$INSTDIR\'
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'Publisher' 'The MonoGame Team'
|
|
WriteRegStr HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}' 'UninstallString' '$INSTDIR\uninstall.exe'
|
|
|
|
|
|
SetOutPath '$INSTDIR'
|
|
File '..\monogame.ico'
|
|
|
|
; Uninstaller
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
|
|
SectionEnd
|
|
|
|
Section "Visual Studio 2010 Templates" VS2010
|
|
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2010\Templates\ProjectTemplates\*.*` InstallTemplates CannotInstallTemplates
|
|
InstallTemplates:
|
|
SetOutPath "$DOCUMENTS\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
File /r '..\..\ProjectTemplates\VisualStudio2010\*.zip'
|
|
GOTO EndTemplates
|
|
CannotInstallTemplates:
|
|
DetailPrint "Visual Studio 2010 not found"
|
|
EndTemplates:
|
|
|
|
SectionEnd
|
|
|
|
Section "Visual Studio 2013 Templates" VS2013
|
|
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2013\Templates\ProjectTemplates\*.*` InstallTemplates CannotInstallTemplates
|
|
InstallTemplates:
|
|
SetOutPath "$DOCUMENTS\Visual Studio 2013\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
File /r '..\..\ProjectTemplates\VisualStudio2013\*.zip'
|
|
File /r '..\..\ProjectTemplates\VisualStudio2010\*.zip'
|
|
GOTO EndTemplates
|
|
CannotInstallTemplates:
|
|
DetailPrint "Visual Studio 2013 not found"
|
|
EndTemplates:
|
|
|
|
SectionEnd
|
|
|
|
Section "Visual Studio 2015 Templates" VS2015
|
|
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2015\Templates\ProjectTemplates\*.*` InstallTemplates CannotInstallTemplates
|
|
InstallTemplates:
|
|
SetOutPath "$DOCUMENTS\Visual Studio 2015\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
File /r '..\..\ProjectTemplates\VisualStudio2010\*.zip'
|
|
File /r '..\..\ProjectTemplates\VisualStudio2015\*.zip'
|
|
GOTO EndTemplates
|
|
CannotInstallTemplates:
|
|
DetailPrint "Visual Studio 2015 not found"
|
|
EndTemplates:
|
|
|
|
SectionEnd
|
|
|
|
Section "Visual Studio 2017 Templates" VS2017
|
|
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2017\Templates\ProjectTemplates\*.*` InstallTemplates CannotInstallTemplates
|
|
InstallTemplates:
|
|
SetOutPath "$DOCUMENTS\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
File /r '..\..\ProjectTemplates\VisualStudio2010\*.zip'
|
|
File /r '..\..\ProjectTemplates\VisualStudio2013\MonoGameShared.zip'
|
|
File /r '..\..\ProjectTemplates\VisualStudio2015\WindowsUniversal10.VB.zip'
|
|
File /r '..\..\ProjectTemplates\VisualStudio2017\*.zip'
|
|
GOTO EndTemplates
|
|
CannotInstallTemplates:
|
|
DetailPrint "Visual Studio 2017 not found"
|
|
EndTemplates:
|
|
|
|
SectionEnd
|
|
|
|
; Optional section (can be disabled by the user)
|
|
Section "Start Menu Shortcuts" Menu
|
|
CreateDirectory $SMPROGRAMS\${APPNAME}
|
|
SetOutPath "$INSTDIR"
|
|
CreateShortCut "$SMPROGRAMS\${APPNAME}\Uninstall MonoGame.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
SetOutPath "${MSBuildInstallDir}\Tools"
|
|
CreateShortCut "$SMPROGRAMS\${APPNAME}\MonoGame Pipeline.lnk" "${MSBuildInstallDir}\Tools\Pipeline.exe" "" "${MSBuildInstallDir}\Tools\Pipeline.exe" 0
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Website.url" "InternetShortcut" "URL" "http://www.monogame.net"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Website.url" "InternetShortcut" "IconFile" "$INSTDIR\monogame.ico"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Website.url" "InternetShortcut" "IconIndex" "0"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Documentation.url" "InternetShortcut" "URL" "http://www.monogame.net/documentation"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Documentation.url" "InternetShortcut" "IconFile" "$INSTDIR\monogame.ico"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Documentation.url" "InternetShortcut" "IconIndex" "0"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Support.url" "InternetShortcut" "URL" "http://community.monogame.net/"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Support.url" "InternetShortcut" "IconFile" "$INSTDIR\monogame.ico"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Support.url" "InternetShortcut" "IconIndex" "0"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Bug Reports.url" "InternetShortcut" "URL" "https://github.com/mono/MonoGame/issues"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Bug Reports.url" "InternetShortcut" "IconFile" "$INSTDIR\monogame.ico"
|
|
WriteINIStr "$SMPROGRAMS\${APPNAME}\MonoGame Bug Reports.url" "InternetShortcut" "IconIndex" "0"
|
|
|
|
SectionEnd
|
|
|
|
LangString CoreComponentsDesc ${LANG_ENGLISH} "Install the Runtimes and the MSBuild extensions for MonoGame"
|
|
LangString MonoDevelopDesc ${LANG_ENGLISH} "Install the project templates for MonoDevelop"
|
|
LangString VS2010Desc ${LANG_ENGLISH} "Install the project templates for Visual Studio 2010"
|
|
LangString VS2012Desc ${LANG_ENGLISH} "Install the project templates for Visual Studio 2012"
|
|
LangString VS2013Desc ${LANG_ENGLISH} "Install the project templates for Visual Studio 2013"
|
|
LangString VS2015Desc ${LANG_ENGLISH} "Install the project templates for Visual Studio 2015"
|
|
LangString VS2017Desc ${LANG_ENGLISH} "Install the project templates for Visual Studio 2017"
|
|
LangString MenuDesc ${LANG_ENGLISH} "Add a link to the MonoGame website to your start menu"
|
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${CoreComponents} $(CoreComponentsDesc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${MonoDevelop} $(MonoDevelopDesc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${VS2010} $(VS2010Desc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${VS2012} $(VS2012Desc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${VS2013} $(VS2013Desc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${VS2015} $(VS2015Desc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${VS2017} $(VS2017Desc)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${Menu} $(MenuDesc)
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
|
|
Function checkVS2010
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2010\Templates\ProjectTemplates\*.*` end disable
|
|
disable:
|
|
SectionSetFlags ${VS2010} $0
|
|
end:
|
|
FunctionEnd
|
|
|
|
Function checkVS2012
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2012\Templates\ProjectTemplates\*.*` end disable
|
|
disable:
|
|
SectionSetFlags ${VS2012} $0
|
|
end:
|
|
FunctionEnd
|
|
|
|
Function checkVS2013
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2013\Templates\ProjectTemplates\*.*` end disable
|
|
disable:
|
|
SectionSetFlags ${VS2013} $0
|
|
end:
|
|
FunctionEnd
|
|
|
|
Function checkVS2015
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2015\Templates\ProjectTemplates\*.*` end disable
|
|
disable:
|
|
SectionSetFlags ${VS2015} $0
|
|
end:
|
|
FunctionEnd
|
|
|
|
Function checkVS2017
|
|
IfFileExists `$DOCUMENTS\Visual Studio 2017\Templates\ProjectTemplates\*.*` end disable
|
|
disable:
|
|
SectionSetFlags ${VS2017} $0
|
|
end:
|
|
FunctionEnd
|
|
|
|
Function .onInit
|
|
IntOp $0 $0 | ${SF_RO}
|
|
Call checkVS2010
|
|
Call checkVS2012
|
|
Call checkVS2013
|
|
Call checkVS2015
|
|
Call checkVS2017
|
|
IntOp $0 ${SF_SELECTED} | ${SF_RO}
|
|
SectionSetFlags ${core_id} $0
|
|
FunctionEnd
|
|
|
|
;--------------------------------
|
|
;Uninstaller Section
|
|
|
|
Section "Uninstall"
|
|
|
|
DeleteRegKey HKLM 'Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Desktop OpenGL'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME}'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\${APPNAME} for Windows Store'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\${APPNAME} for Windows Phone 8.1'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows Phone ARM'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows Phone x86'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\${APPNAME} for Windows 10 UAP'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\MonoAndroid\v2.3\AssemblyFoldersEx\${APPNAME} for Android'
|
|
DeleteRegKey HKLM 'SOFTWARE\Microsoft\MonoTouch\v1.0\AssemblyFoldersEx\${APPNAME} for iOS'
|
|
|
|
DeleteRegKey HKCU 'Software\Microsoft\VisualStudio\10.0\Default Editors\mgcb'
|
|
DeleteRegKey HKCU 'Software\Microsoft\VisualStudio\11.0\Default Editors\mgcb'
|
|
DeleteRegKey HKCU 'Software\Microsoft\VisualStudio\12.0\Default Editors\mgcb'
|
|
|
|
DeleteRegKey HKCR '.mgcb'
|
|
DeleteRegKey HKCR 'MonoGame.ContentBuilderFile'
|
|
|
|
IfFileExists $WINDIR\SYSWOW64\*.* Is64bit Is32bit
|
|
Is32bit:
|
|
GOTO End32Bitvs64BitCheck
|
|
Is64bit:
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Desktop OpenGL'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\${APPNAME} for Windows Store'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\${APPNAME} for Windows Phone 8.1'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows Phone ARM'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows Phone x86'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\${APPNAME} for Windows 10 UAP'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\MonoAndroid\v2.3\AssemblyFoldersEx\${APPNAME} for Android'
|
|
DeleteRegKey HKLM 'SOFTWARE\Wow6432Node\Microsoft\MonoTouch\v1.0\AssemblyFoldersEx\${APPNAME} for iOS'
|
|
|
|
|
|
End32Bitvs64BitCheck:
|
|
|
|
ReadRegStr $0 HKLM 'SOFTWARE\Wow6432Node\Xamarin\MonoDevelop' "Path"
|
|
${If} $0 == "" ; check on 32 bit machines just in case
|
|
ReadRegStr $0 HKLM 'SOFTWARE\Xamarin\MonoDevelop' "Path"
|
|
${EndIf}
|
|
|
|
${If} $0 == ""
|
|
${Else}
|
|
RMDir /r "$0\AddIns\MonoDevelop.MonoGame"
|
|
${EndIf}
|
|
|
|
RMDir /r "$DOCUMENTS\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
RMDir /r "$DOCUMENTS\Visual Studio 2013\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
RMDir /r "$DOCUMENTS\Visual Studio 2015\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
RMDir /r "$DOCUMENTS\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\MonoGame"
|
|
RMDir /r "${MSBuildInstallDir}"
|
|
RMDir /r "$SMPROGRAMS\${APPNAME}"
|
|
|
|
Delete "$INSTDIR\Uninstall.exe"
|
|
RMDir /r "$INSTDIR"
|
|
|
|
SectionEnd
|
|
|