From 5730772f6b206a47a53c7117bdfb7d7cc89595dc Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Thu, 14 Jan 2016 15:50:08 -0800
Subject: [PATCH] disable install button with neither component selected

---
 cmake/templates/NSIS.template.in | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/cmake/templates/NSIS.template.in b/cmake/templates/NSIS.template.in
index c49442ee1f..152aaa1d61 100644
--- a/cmake/templates/NSIS.template.in
+++ b/cmake/templates/NSIS.template.in
@@ -1076,6 +1076,16 @@ SectionEnd
 ; Component dependencies
 Function .onSelChange
   !insertmacro SectionList MaybeSelectionChanged
+
+  ; if neither component is selected, disable the install button
+  ${IfNot} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@}
+  ${AndIfNot} ${SectionIsSelected} ${@SERVER_COMPONENT_NAME@}
+    GetDlgItem $0 $HWNDPARENT 1
+    EnableWindow $0 0
+  ${Else}
+    GetDlgItem $0 $HWNDPARENT 1
+    EnableWindow $0 1
+  ${EndIf}
 FunctionEnd
 
 ;--------------------------------