From f888f08ade7fcc84fb5df4c72dc61baf87c499dd Mon Sep 17 00:00:00 2001
From: David Golub <golubdr@gmail.com>
Date: Mon, 17 Feb 2014 16:53:36 -0500
Subject: [PATCH] CPack/WIX: Add support for more customization of Add/Remove
 Programs.

---
 Modules/CPackWIX.cmake                   | 30 +++++++++++++++++++++++++++++-
 Modules/WIX.template.in                  | 28 ++++++++++++++++++++++++++++
 Source/CPack/WiX/cmCPackWIXGenerator.cxx |  7 +++++++
 3 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 39183c6..1c8399a 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -60,10 +60,38 @@
 #
 # .. variable:: CPACK_WIX_PRODUCT_ICON
 #
-#  The Icon shown next to the program name in Add/Remove programs.
+#  The Icon shown next to the program name in Add/Remove Programs.
 #
 #  If set, this icon is used in place of the default icon.
 #
+# .. variable:: CPACK_WIX_COMMENTS
+#
+# Comments shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_CONTACT
+#
+# Contact information shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_HELP_LINK
+#
+# Help and support information URL shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_URL_INFO_ABOUT
+#
+# General information URL shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_URL_UPDATE_INFO
+#
+# Update information URL shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_HELP_TELEPHONE
+#
+# Help and support telephone number shown in Add/Remove Programs.
+#
+# .. variable:: CPACK_WIX_SIZE
+#
+# Size (in kilobytes) of the application shown in Add/Remove Programs.
+#
 # .. variable:: CPACK_WIX_UI_REF
 #
 #  This variable allows you to override the Id of the ``<UIRef>`` element
diff --git a/Modules/WIX.template.in b/Modules/WIX.template.in
index 59a75c7..d2c9293 100644
--- a/Modules/WIX.template.in
+++ b/Modules/WIX.template.in
@@ -28,7 +28,35 @@
         <Property Id="ARPPRODUCTICON">ProductIcon.ico</Property>
         <Icon Id="ProductIcon.ico" SourceFile="$(var.CPACK_WIX_PRODUCT_ICON)"/>
         <?endif?>
+        
+        <?ifdef CPACK_WIX_COMMENTS?>
+        <Property Id="ARPCOMMENTS" Value="$(var.CPACK_WIX_COMMENTS)"/>
+        <?endif?>
+        
+        <?ifdef CPACK_WIX_CONTACT?>
+        <Property Id="ARPCONTACT" Value="$(var.CPACK_WIX_CONTACT)"/>
+        <?endif?>
+        
+        <?ifdef CPACK_WIX_HELP_LINK?>
+        <Property Id="ARPHELPLINK" Value="$(var.CPACK_WIX_HELP_LINK)"/>
+        <?endif?>
 
+        <?ifdef CPACK_WIX_URL_INFO_ABOUT?>
+        <Property Id="ARPURLINFOABOUT" Value="$(var.CPACK_WIX_URL_INFO_ABOUT)"/>
+        <?endif?>
+        
+        <?ifdef CPACK_WIX_URL_UPDATE_INFO?>
+        <Property Id="ARPURLUPDATEINFO" Value="$(var.CPACK_WIX_URL_UPDATE_INFO)"/>
+        <?endif?>
+        
+        <?ifdef CPACK_WIX_HELP_TELEPHONE?>
+        <Property Id="ARPHELPTELEPHONE" Value="$(var.CPACK_WIX_HELP_TELEPHONE)"/>
+        <?endif?>
+        
+        <?ifdef CPACK_WIX_SIZE?>
+        <Property Id="ARPSIZE" Value="$(var.CPACK_WIX_SIZE)"/>
+        <?endif?>
+        
         <?ifdef CPACK_WIX_UI_BANNER?>
         <WixVariable Id="WixUIBannerBmp" Value="$(var.CPACK_WIX_UI_BANNER)"/>
         <?endif?>
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index 43119d6..b637f5a 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -320,6 +320,13 @@ bool cmCPackWIXGenerator::CreateWiXVariablesIncludeFile()
   CopyDefinition(includeFile, "CPACK_PACKAGE_VERSION");
   CopyDefinition(includeFile, "CPACK_WIX_LICENSE_RTF");
   CopyDefinition(includeFile, "CPACK_WIX_PRODUCT_ICON");
+  CopyDefinition(includeFile, "CPACK_WIX_COMMENTS");
+  CopyDefinition(includeFile, "CPACK_WIX_CONTACT");
+  CopyDefinition(includeFile, "CPACK_WIX_HELP_LINK");
+  CopyDefinition(includeFile, "CPACK_WIX_URL_INFO_ABOUT");
+  CopyDefinition(includeFile, "CPACK_WIX_URL_UPDATE_INFO");
+  CopyDefinition(includeFile, "CPACK_WIX_HELP_TELEPHONE");
+  CopyDefinition(includeFile, "CPACK_WIX_SIZE");
   CopyDefinition(includeFile, "CPACK_WIX_UI_BANNER");
   CopyDefinition(includeFile, "CPACK_WIX_UI_DIALOG");
   SetOptionIfNotSet("CPACK_WIX_PROGRAM_MENU_FOLDER",
-- 
1.8.5.2.msysgit.0

