!include FileFunc.nsh !include WinVer.nsh Unicode true XPStyle on ManifestSupportedOS all RequestExecutionLevel user AutoCloseWindow true InstallColors FFD74A 000000 ShowInstDetails show OutFile "bin\post-install-launcher.exe" Icon "post-install-launcher.ico" ChangeUI all "${NSISDIR}\Contrib\UIs\sdbarker_tiny.exe" Caption "Almost there..." SubCaption 1 " " SubCaption 2 " " SubCaption 3 " " SubCaption 4 " " !macro PrintStatusMessage message SetDetailsPrint both DetailPrint "${message}" SetDetailsPrint listonly Sleep 333 !macroend Section BringToFront # Just to be sure! !insertmacro PrintStatusMessage "Detecting operating system, please wait..." ${IfNot} ${AtLeastBuild} 7601 MessageBox MB_ICONSTOP|MB_TOPMOST "This application runs on Windows 7 (SP1) or later!" ExecShell "open" "https://support.microsoft.com/en-us/windows/install-windows-7-service-pack-1-sp1-b3da2c0f-cdb6-0572-8596-bab972897f61" Quit ${EndIf} !insertmacro PrintStatusMessage "Detecting installed .NET Framework version, please wait..." SetRegView 32 ClearErrors ReadRegDWORD $0 HKLM 'SOFTWARE\WOW6432Node\Microsoft\NET Framework Setup\NDP\v4\Full' 'Release' ${IfNot} ${Errors} DetailPrint "Installed release: $0" ${IfThen} $0 >= 461808 ${|} Goto launch_application ${|} ${Else} DetailPrint ".NET Framework not found!" ${Endif} !insertmacro PrintStatusMessage "Installing .NET Framework 4.7.2, please wait..." ${Do} ClearErrors ExecShellWait /ALLOWERRORUI "open" "$EXEDIR\ndp472-kb4054531-web.exe" /passive ${IfNot} ${Errors} ${OrIf} ${Cmd} `MessageBox MB_ICONEXCLAMATION|MB_RETRYCANCEL|MB_TOPMOST "Failed to launch .NET Framework installer!" IDCANCEL` ${ExitDo} ${EndIf} ${Loop} launch_application: !insertmacro PrintStatusMessage "Launching the application, please wait..." ${GetParent} $EXEDIR $1 SetOutPath "$1" ExecShell /ALLOWERRORUI "open" "$OUTDIR\slunkcrypt-gui.exe" SectionEnd