Complete developmetn of the new GUI. Further testing needed, particularly in the...
authorrdw <rdw@cb58f699-b61c-0410-a6fe-9272a202ed29>
Fri, 25 May 2012 12:32:38 +0000 (12:32 +0000)
committerrdw <rdw@cb58f699-b61c-0410-a6fe-9272a202ed29>
Fri, 25 May 2012 12:32:38 +0000 (12:32 +0000)
Fix an issue whereby we ciouldn't install with no shibd.  Also needs testing through an upgrade.

git-svn-id: https://svn.shibboleth.net/cpp-sp/branches/REL_2@3679 cb58f699-b61c-0410-a6fe-9272a202ed29

msi/WiX/ShibbolethSP-exe-x86.wxs
msi/WiX/ShibbolethSP-gui.wxs
msi/WiX/ShibbolethSP-main-x86.wxs
msi/WiX/ShibbolethSP-noarch.wxs

index 480b95d..3f65cc3 100644 (file)
                           DisplayName='Shibboleth 2 Daemon (Default)' Type='ownProcess' \r
                           Start='auto' ErrorControl='ignore' />\r
           <ServiceControl Id='shibd_Default' Name='shibd_Default' Stop='uninstall'  \r
-                          Remove='uninstall' Start='install' Wait='yes' />\r
+                          Remove='uninstall' Start='install' Wait='no' />\r
         </Component>\r
         <Directory Id='sbin_debug' Name='debug' FileSource='$(var.SPBuildDirectory)\cpp-sp\Debug' >\r
           <Component Id='shibd.exe_debug' Guid='{91E9DF13-0940-43E7-9A2F-9571F6FC3DF2}'>\r
index 005520d..2aaf3cc 100644 (file)
          blindly by looking at documentation (for sizes and dialog names) \r
          and the generated.msi -->\r
 \r
-    <!-- The Banners for the dialog boxes -->\r
-    <Binary Id='WixUI_Bmp_Dialog' SourceFile='Dialog.bmp' />\r
-    <Binary Id='WixUI_Bmp_Banner' SourceFile='TopBanner.bmp' />\r
-\r
-    <!-- Banners that WixUI needs (taken from the old installer) -->\r
-    <Binary Id='WixUI_Ico_Info' SourceFile='Info.bmp' />\r
-    <Binary Id='WixUI_Ico_Exclam' SourceFile='Info.bmp' />\r
-    <Binary Id='WixUI_Bmp_Up' SourceFile='Up.bmp' />\r
-    <Binary Id='WixUI_Bmp_New' SourceFile='New.bmp' />\r
-\r
-    <!-- property that Light complained for -->\r
+    <!-- Property that Light complained for -->\r
     <Property Id='DefaultUIFont' Value='WixUI_Font_Normal' />\r
 \r
     <!-- "You must set a property named WIXUI_INSTALLDIR with a value\r
@@ -88,7 +78,7 @@
        WIXUI_INSTALLDIR_VALID&lt;&gt;"1"\r
       </Publish>\r
 \r
-      <Publish Dialog='LicenseAgreementDlg' Control='Next' Event='NewDialog' Value='InstallDirDlg'>\r
+      <Publish Dialog='LicenseAgreementDlg' Control='Next' Event='NewDialog' Value='InstallDirDlgShib'>\r
        LicenseAccepted = "1"\r
       </Publish>\r
 \r
       <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg'>\r
         Installed AND PATCH\r
       </Publish>\r
-      <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='InstallDirDlg'>\r
+      <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='InstallDirDlgShib'>\r
         NOT Installed\r
       </Publish>\r
       <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='MaintenanceTypeDlg'>\r
         Installed AND NOT PATCH\r
       </Publish>\r
 \r
-      <!-- Events we need to kill -->\r
+      <!-- And now the new dialog that we add.  This sets up:\r
+           INSTALLDIR\r
+           INSTALL_SHIBD_SERVICE\r
+           INSTALL_32BIT (if a 64bit machine)\r
+           INSTALL_ISAPI_FILTER (if IIS about)\r
+           SHIB_FILE_EXTENSION (if IIS about)\r
+        -->\r
+\r
+      <Dialog Id='InstallDirDlgShib' Width='370' Height='270' Title='[ProductName] Setup'>\r
+        <!-- Stuff at the top: picture, some text, a line -->\r
+        <Control Id='TopBitMap' Type='Bitmap' X='0' Y='0' Width='370' Height='44' Text='WixUI_Bmp_Banner' />\r
+        <Control Id='TopInfo' Type='Text' X='15' Y='6' Width='150' Height='12' \r
+                 Text='{\WixUI_Font_Title}Configure Shibboleth' Transparent='yes'/>\r
+        <Control Id='TopDetailed' Type='Text' X='25' Y='24' Width='320' Height='12' \r
+                 Text='Please choose where to install the Shibboleth SP and other installation options' Transparent='yes'/>\r
+        <Control Id='TopLine' Type='Line' X='0' Y='44' Width='370' Height='1' />\r
+\r
+        <!-- Buttons to control Shibboleth Setup -->\r
+        <Control Id='DescriptionLine1' Type='Text' X='25' Y='51' Height='12' Width='320' \r
+                 Text='The files for [ProductName] will be installed in the following folder.'/>\r
+\r
+        <Control Id='DescriptionLine2' Type='Text' X='25' Y='70' Height='12' Width='320' \r
+                 Text='To install into a different folder, click the Browse button, and select another folder.'/>\r
+\r
+        <Control Id='DescriptionLine3' Type='Text' X='25' Y='90' Height='12' Width='320' \r
+                 Text='You can choose not to install [ProductName] by clicking Cancel to exit the installer.' />\r
+\r
+        <!-- Where? -->\r
+        <Control Id='Dest' Type='Edit' X='25' Y='115' Width='228' Height='17' Property='INSTALLDIR' Text='[INSTALLDIR]' />\r
+        <Control Id='ChangeFolder' Type='PushButton' X='265' Y='115' Height='17' Width='56' Text='B&amp;rowse...'>\r
+          <Publish Event='SpawnDialog' Value='BrowseDlg' Order='1'>1</Publish>\r
+          <Publish Event='[_BrowseProperty]' Value='[WIXUI_INSTALLDIR]' Order='1'>1</Publish>\r
+        </Control>\r
+\r
+        <!-- Service? -->\r
+        <Control Id='InstallShibd' Type='CheckBox' X='25' Y='146' Height='17' Width='160' \r
+                 Property='INSTALL_SHIBD_SERVICE' CheckBoxValue='TRUE' \r
+                 Text='Install Shibd daemon' />\r
+\r
+        <!-- 32 Bits? -->\r
+        <Control Id='Install32Bit' Type='CheckBox' X='185' Y='146' Height='17' Width='160'\r
+                 Property='INSTALL_32BIT' CheckBoxValue='TRUE' \r
+                 Text='32bit defaults'>\r
+          <Condition Action='show'>IS64BITINSTALL = "TRUE"</Condition>\r
+          <Condition Action='hide'>IS64BITINSTALL &lt;&gt; "TRUE"</Condition>\r
+        </Control>\r
+\r
+        <!-- ISAPI? -->\r
+        <Control Id='InstallISAPI' Type='CheckBox' X='25' Y='175' Height='17' Width='160'\r
+                 Property='INSTALL_ISAPI_FILTER' CheckBoxValue='TRUE' \r
+                 Text='Install ISAPI filter and configure IIS'>\r
+          <Condition Action='show'>IISMAJORVERSION</Condition>\r
+          <Condition Action='hide'>NOT IISMAJORVERSION</Condition>\r
+        </Control>\r
+        <Control Id='FileExtensionText' Type='Text' X='185' Y='178' Height='17' Width='96'\r
+                 Text='Shibboleth File Extension'>\r
+          <Condition Action='show'>IISMAJORVERSION</Condition>\r
+          <Condition Action='hide'>NOT IISMAJORVERSION</Condition>\r
+        </Control>\r
+        <Control Id='FileExtensionEdit' Type='Edit' X='285' Y='175' Height='17' Width='50'\r
+                 Property='SHIB_FILE_EXTENSION' Text='[SHIB_FILE_EXTENSION]'>\r
+          <Condition Action='show'>IISMAJORVERSION</Condition>\r
+          <Condition Action='hide'>NOT IISMAJORVERSION</Condition>\r
+          <Condition Action='enable'>INSTALL_ISAPI_FILTER = "TRUE"</Condition>\r
+          <Condition Action='disable'>INSTALL_ISAPI_FILTER &lt;&gt; "TRUE"</Condition>\r
+        </Control>\r
+\r
+        <!-- Stuff at the bottom: line, Back,Next, [space] Cancel -->\r
+        <Control Id='BottomLine' Type='Line' X='0' Y='234' Width='370' Height='1' />\r
+        <Control Id='Back' Type='PushButton' X='180' Y='243' Width='56' Height='17' Text='&amp;Back'>\r
+          <Publish  Event='NewDialog' Value='LicenseAgreementDlg'>1</Publish>\r
+        </Control>\r
+\r
+        <Control Id='Next' Type='PushButton' X='236' Y='243' Width='56' Height='17' Text='&amp;Next' Default='yes'>\r
+          <Publish Event='SetTargetPath' Value='[WIXUI_INSTALLDIR]'>1</Publish>\r
+          <Publish Event='DoAction' Value='WixUIValidatePath' >\r
+            NOT WIXUI_DONTVALIDATEPATH\r
+          </Publish>\r
+          <Publish Event='SpawnDialog' Value='InvalidDirDlg' >\r
+            NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID&lt;&gt;"1"\r
+          </Publish>\r
+          <Publish Event='NewDialog' Value='VerifyReadyDlg'>\r
+            WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"\r
+          </Publish>\r
+        </Control>\r
+\r
+        <Control Id='Cancel' Type='PushButton' X='304' Y='243' Width='56' Height='17' Text='&amp;Cancel' Cancel='yes'>\r
+          <Publish  Event='SpawnDialog' Value='CancelDlg'>1</Publish>\r
+        </Control>\r
+      </Dialog>\r
+\r
       <Publish Dialog='InstallDirDlg' Control='Back' Event='NewDialog' Value='LicenseAgreementDlg'>1</Publish>\r
 \r
       <Publish Dialog='InstallDirDlg' Control='Next' Event='NewDialog' Value='VerifyReadyDlg' Order='4'>\r
         NOT WIXUI_DONTVALIDATEPATH\r
       </Publish>\r
       <Publish Dialog='InstallDirDlg' Control='Next' Event='SetTargetPath' Value='[WIXUI_INSTALLDIR]' Order='1'>1</Publish>\r
-      <Publish Dialog='InstallDirDlg' Control='ChangeFolder' Event='SpawnDialog' Value='BrowseDlg'>1</Publish>\r
-      <Publish Dialog='InstallDirDlg' Control='ChangeFolder' Event='[_BrowseProprty]' Value='[WIXUI_INSTALLDIR]' >1</Publish>\r
+      <Publish Dialog='InstallDirDlg' Control='ChangeFolder' Event='SpawnDialog' Value='BrowseDlg' Order='2'>1</Publish>\r
+      <Publish Dialog='InstallDirDlg' Control='ChangeFolder' Event='[_BrowseProperty]' Value='[WIXUI_INSTALLDIR]' >1</Publish>\r
 \r
 \r
     </UI>\r
index 93c616f..d3fe0cc 100644 (file)
@@ -34,7 +34,7 @@
     <Condition Message='Shibboleth requires a Windows NT-based operating system.'>NOT Version9X</Condition>\r
     <Condition Message='You must uninstall recent versions of Shibboleth before using this installer. To uninstall, use the &quot;Change&quot; option from the Add/Remove dialog and then Remove. Attempting to uninstall directly causes the installer to hang on most systems.'>SHIB_OLDVERSION = "none"</Condition>\r
 \r
-    <Condition Message='For a 32 installation on a 64 architecture, install the 64-bit MSI but specify the 32-bit Service'>NOT VersionNT64</Condition>\r
+    <Condition Message='For a 32-bit installation on a 64-bit architecture, install the 64-bit MSI but specify 32-bit defaults'>NOT VersionNT64</Condition>\r
 \r
     <Media Id='1' Cabinet='product.cab' EmbedCab='yes' />\r
 \r
@@ -43,7 +43,7 @@
     <!-- NOTE we should not use sys.BUILDARCH since that reflects the candle parameters, *NOT* the architecture -->\r
     <Property Id='IS64BITINSTALL' Value='FALSE'/>\r
 \r
-    <UIRef Id='ShibbolethInstallDir'/> \r
+    <UIRef Id='ShibbolethInstallDir'/>\r
 \r
     <!-- Files -->\r
     <Directory Id='TARGETDIR' Name='SourceDir'>\r
index 0c39a15..f09ff55 100644 (file)
       <!-- Do not mess with SCM if this is an upgrade -->\r
 \r
       <InstallServices>(NOT Installed) AND (NOT ALREADYINSTALLED) AND (INSTALL_SHIBD_SERVICE = "TRUE")</InstallServices>\r
+      <StartServices>(NOT Installed) AND (INSTALL_SHIBD_SERVICE = "TRUE")</StartServices>\r
       <DeleteServices>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</DeleteServices>\r
 \r
     </InstallExecuteSequence>\r