Add Rainmeter.exe.config to declare support for the .NET 4.0 and 4.5 runtimes

This allows plugins like InputText.dll to be used with .NET 4.0/4.5 in addition to 2.0. Therefore, we can avoid installing .NET 2.0 on Windows 8 and 8.1 where it is not installed by default (whereas 4.5/4.5.1 is installed by default).
This commit is contained in:
Birunthan Mohanathas 2013-10-18 10:39:32 +03:00
parent 1940b7f97c
commit f6461a1b30
3 changed files with 38 additions and 21 deletions

View File

@ -118,6 +118,11 @@ xcopy /Q /S /Y ..\Build\Themes ..\testbench\x64\release\Layouts
<ItemGroup>
<ResourceCompile Include="Application.rc" />
</ItemGroup>
<ItemGroup>
<Content Include="Rainmeter.exe.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="Rainmeter.ico" />
</ItemGroup>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.5.1" />
<supportedRuntime version="v4.5" />
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

View File

@ -619,31 +619,33 @@ Section
${EndIf}
${EndIf}
; Download and install .NET if required
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Install"
${If} $0 <> 1
${If} $Install64Bit <> 1
NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe" "$PLUGINSDIR\dotnetfx.exe"
${Else}
NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe" "$PLUGINSDIR\dotnetfx.exe"
${EndIf}
Pop $0
${IfNot} ${AtLeastWinVista}
; Download and install .NET if required
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Install"
${If} $0 <> 1
${If} $Install64Bit <> 1
NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe" "$PLUGINSDIR\dotnetfx.exe"
${Else}
NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe" "$PLUGINSDIR\dotnetfx.exe"
${EndIf}
Pop $0
${If} $0 == "success"
ExecWait '"$PLUGINSDIR\dotnetfx.exe" /q:a /c:"install /q"' $0
Delete "$PLUGINSDIR\dotnetfx.exe"
${If} $0 == "success"
ExecWait '"$PLUGINSDIR\dotnetfx.exe" /q:a /c:"install /q"' $0
Delete "$PLUGINSDIR\dotnetfx.exe"
${If} $0 = 3010
SetRebootFlag true
${ElseIf} $0 <> 0
${If} $0 = 3010
SetRebootFlag true
${ElseIf} $0 <> 0
MessageBox MB_OK|MB_ICONSTOP "$(DOTNETINSTERROR)"
Quit
${EndIf}
${ElseIf} $0 == "cancel"
Quit
${Else}
MessageBox MB_OK|MB_ICONSTOP "$(DOTNETINSTERROR)"
Quit
${EndIf}
${ElseIf} $0 == "cancel"
Quit
${Else}
MessageBox MB_OK|MB_ICONSTOP "$(DOTNETINSTERROR)"
Quit
${EndIf}
${EndIf}
${EndIf}
@ -713,7 +715,6 @@ SkipIniMove:
${EndIf}
; Cleanup old stuff
Delete "$INSTDIR\Rainmeter.exe.config"
Delete "$INSTDIR\Rainmeter.chm"
Delete "$INSTDIR\Default.ini"
Delete "$INSTDIR\Launcher.exe"
@ -746,6 +747,7 @@ SkipIniMove:
${Else}
!insertmacro InstallFiles "x64"
${EndIf}
File "..\..\Application\Rainmeter.exe.config"
RMDir /r "$INSTDIR\Languages"
SetOutPath "$INSTDIR\Languages"
@ -991,6 +993,7 @@ Section Uninstall
RMDir /r "$INSTDIR\Fonts"
Delete "$INSTDIR\Rainmeter.dll"
Delete "$INSTDIR\Rainmeter.exe"
Delete "$INSTDIR\Rainmeter.exe.config"
Delete "$INSTDIR\SkinInstaller.exe"
Delete "$INSTDIR\uninst.exe"