This commit is contained in:
leejinho 2020-01-03 11:05:25 +09:00
commit cd99df47ff
3 changed files with 34 additions and 101 deletions

View File

@ -1,97 +0,0 @@
Function CheckAndDownloadDotNet45
# Let's see if the user has the .NET Framework 4.5 installed on their system or not
# Remember: you need Vista SP2 or 7 SP1. It is built in to Windows 8, and not needed
# In case you're wondering, running this code on Windows 8 will correctly return is_equal
# or is_greater (maybe Microsoft releases .NET 4.5 SP1 for example)
# Set up our Variables
Var /GLOBAL dotNET45IsThere
Var /GLOBAL dotNET_CMD_LINE
Var /GLOBAL EXIT_CODE
ReadRegDWORD $dotNET45IsThere HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Release"
IntCmp $dotNET45IsThere 378389 is_equal is_less is_greater
is_equal:
Goto done_compare_not_needed
is_greater:
# Useful if, for example, Microsoft releases .NET 4.5 SP1
# We want to be able to simply skip install since it's not
# needed on this system
Goto done_compare_not_needed
is_less:
Goto done_compare_needed
done_compare_needed:
#.NET Framework 4.5 install is *NEEDED*
# Microsoft Download Center EXE:
# Web Bootstrapper: http://go.microsoft.com/fwlink/?LinkId=225704
# Full Download: http://go.microsoft.com/fwlink/?LinkId=225702
# Setup looks for components\dotNET45Full.exe relative to the install EXE location
# This allows the installer to be placed on a USB stick (for computers without internet connections)
# If the .NET Framework 4.5 installer is *NOT* found, Setup will connect to Microsoft's website
# and download it for you
# Reboot Required with these Exit Codes:
# 1641 or 3010
# Command Line Switches:
# /showrmui /passive /norestart
# Silent Command Line Switches:
# /q /norestart
# Let's see if the user is doing a Silent install or not
IfSilent is_quiet is_not_quiet
is_quiet:
StrCpy $dotNET_CMD_LINE "/q /norestart"
Goto LookForLocalFile
is_not_quiet:
StrCpy $dotNET_CMD_LINE "/showrmui /passive /norestart"
Goto LookForLocalFile
LookForLocalFile:
# Let's see if the user stored the Full Installer
IfFileExists "$EXEPATH\components\dotNET45Full.exe" do_local_install do_network_install
do_local_install:
# .NET Framework found on the local disk. Use this copy
ExecWait '"$EXEPATH\components\dotNET45Full.exe" $dotNET_CMD_LINE' $EXIT_CODE
Goto is_reboot_requested
# Now, let's Download the .NET
do_network_install:
Var /GLOBAL dotNetDidDownload
NSISdl::download "http://go.microsoft.com/fwlink/?LinkId=225704" "$TEMP\dotNET45Web.exe" $dotNetDidDownload
StrCmp $dotNetDidDownload success fail
success:
ExecWait '"$TEMP\dotNET45Web.exe" $dotNET_CMD_LINE' $EXIT_CODE
Goto is_reboot_requested
fail:
MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to download .NET Framework. ${PRODUCT_NAME} will be installed, but will not function without the Framework!"
Goto done_dotNET_function
# $EXIT_CODE contains the return codes. 1641 and 3010 means a Reboot has been requested
is_reboot_requested:
${If} $EXIT_CODE = 1641
${OrIf} $EXIT_CODE = 3010
SetRebootFlag true
${EndIf}
done_compare_not_needed:
# Done dotNET Install
Goto done_dotNET_function
#exit the function
done_dotNET_function:
FunctionEnd

View File

@ -1,13 +1,43 @@
!macro customInit !macro customInit
# guid=7e51495b-3f4d-5235-aadd-5636863064f0 # Uninstallation of UC ware
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DS Talk_is1" "UninstallString" ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DS Talk_is1" "UninstallString"
${If} $0 != "" ${If} $0 != ""
MessageBox MB_ICONINFORMATION|MB_TOPMOST "이전 버전의 DS Talk을 제거 하시겠습니까?" IDOK
ExecWait $0 $1 ExecWait $0 $1
${EndIf} ${EndIf}
# Installation of .NET Framework
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Release"
IntCmp $0 460798 is_equal is_less is_greater
is_equal:
Goto dnf_install_not_needed
is_greater:
Goto dnf_install_not_needed
is_less:
Goto dnf_install_needed
dnf_install_needed:
NSISdl::download "http://go.microsoft.com/fwlink/?LinkId=825298" "$TEMP\dotNET47Web.exe"
Pop $R0
${If} $R0 != "success"
MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to download .NET Framework. ${PRODUCT_NAME} will be installed, but will not function without the Framework!"
Goto done_dotNET
${Else}
ExecWait '"$TEMP\dotNET47Web.exe" /showrmui /passive /norestart' $1
${If} $1 = 1641
${OrIf} $1 = 3010
SetRebootFlag true
${EndIf}
${EndIf}
dnf_install_not_needed:
Goto done_dotNET
done_dotNET:
!macroend !macroend
!macro customInstall !macro customInstall
# File "${BUILD_RESOURCES_DIR}\win\bin\npcap-0.99-r7.exe"
# ExecWait '"$INSTDIR\npcap-0.99-r7.exe" /npf_startup=yes /loopback_support=yes /admin_only=no /dot11_support=yes /vlan_support=yes /winpcap_mode=yes'
!macroend !macroend