Merge commit '2.5.0' into moonshot-packaging-fixes
[shibboleth/sp.git] / msi / WiX / ShibbolethSP-gui.wxs
diff --git a/msi/WiX/ShibbolethSP-gui.wxs b/msi/WiX/ShibbolethSP-gui.wxs
new file mode 100644 (file)
index 0000000..fde8f37
--- /dev/null
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+\r
+<!-- Licensed to the University Corporation for Advanced Internet\r
+     Development, Inc. (UCAID) under one or more contributor license\r
+     agreements.  See the NOTICE file distributed with this work for\r
+     additional information regarding copyright ownership. The UCAID\r
+     licenses this file to You under the Apache License, Version 2.0\r
+     (the 'License'); you may not use this file except in compliance\r
+     with the License.  You may obtain a copy of the License at\r
+     \r
+     http://www.apache.org/licenses/LICENSE-2.0\r
+     \r
+     Unless required by applicable law or agreed to in writing, software\r
+     distributed under the License is distributed on an 'AS IS' BASIS,\r
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+     implied.  See the License for the specific language governing\r
+     permissions and limitations under the License.  -->\r
+\r
+<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>\r
+  <!-- This file controls the dispaying of the GUI dialogs (both WiX and custom) -->\r
+  <Fragment>\r
+\r
+    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />\r
+    <WixVariable Id="WixUIBannerBmp" Value="TopBanner.bmp" />\r
+    <WixVariable Id="WixUIDialogBmp" Value="Dialog.bmp" />\r
+    <WixVariable Id="WixUICostingPopupOptOut" Value="1" />    \r
+\r
+    <!-- GUI For Shibboleth installer.  Uses the Wix packages, but linked in\r
+         blindly by looking at documentation (for sizes and dialog names) \r
+         and the generated.msi -->\r
+\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
+         of the ID of the directory you want the user to be able to specify\r
+         the location of." -->\r
+\r
+    <Property Id='WIXUI_INSTALLDIR' Value='INSTALLDIR' />\r
+\r
+    <UI Id='ShibbolethInstallDir' >\r
+\r
+      <!-- "WixUI_InstallDir includes the following dialogs:" -->\r
+      <DialogRef Id='BrowseDlg' />\r
+      <DialogRef Id='DiskCostDlg' />\r
+      <DialogRef Id='InvalidDirDlg' />\r
+      <DialogRef Id='LicenseAgreementDlg' />\r
+      <DialogRef Id='WelcomeDlg' />\r
+\r
+      <!-- "In addition, WixUI_InstallDir includes the following common\r
+           dialogs that appear in all WixUI dialog sets:" -->\r
+      <DialogRef Id='CancelDlg' />\r
+      <DialogRef Id='ErrorDlg' />\r
+      <DialogRef Id='ExitDialog' />\r
+      <DialogRef Id='FatalError' />\r
+      <DialogRef Id='FilesInUse' />\r
+      <DialogRef Id='MaintenanceTypeDlg' />\r
+      <DialogRef Id='MaintenanceWelcomeDlg' />\r
+      <DialogRef Id='MsiRMFilesInUse' />\r
+      <DialogRef Id='OutOfDiskDlg' />\r
+      <DialogRef Id='OutOfRbDiskDlg' />\r
+      <DialogRef Id='PrepareDlg' />\r
+      <DialogRef Id='ProgressDlg' />\r
+      <DialogRef Id='ResumeDlg' />\r
+      <DialogRef Id='UserExit' />\r
+      <DialogRef Id='VerifyReadyDlg' />\r
+      <DialogRef Id='WaitForCostingDlg' />\r
+\r
+      <!-- We also define two dialogs -->\r
+      <DialogRef Id='UpdateDlgShib' />\r
+      <DialogRef Id='InstallDirDlgShib' />\r
+\r
+      <!-- Text Styles (from Orca) -->\r
+      <TextStyle Id='WixUI_Font_Normal' FaceName='Tahoma' Size='8' />\r
+      <TextStyle Id='WixUI_Font_Bigger' FaceName='Tahoma' Size='12' />\r
+      <TextStyle Id='WixUI_Font_Title' FaceName='Tahoma' Size='9' Bold='yes'/>\r
+\r
+      <!-- Events (from Orca\ControlEvent and from light's complaints) -->\r
+      <Publish Dialog='BrowseDlg' Control='OK' Event='DoAction' Value='WixUIValidatePath' Order='3'>1</Publish>\r
+      <Publish Dialog='BrowseDlg' Control='OK' Event='SpawnDialog' Value='InvalidDirDlg' Order='4'>\r
+       WIXUI_INSTALLDIR_VALID&lt;&gt;"1"\r
+      </Publish>\r
+\r
+      <Publish Dialog='LicenseAgreementDlg' Control='Next' Event='NewDialog' Value='InstallDirDlgShib'>\r
+       LicenseAccepted = "1"\r
+      </Publish>\r
+\r
+      <Publish Dialog='MaintenanceTypeDlg' Control='RepairButton' Event='NewDialog' Value='VerifyReadyDlg'>1</Publish>\r
+      <Publish Dialog='MaintenanceTypeDlg' Control='RemoveButton' Event='NewDialog' Value='VerifyReadyDlg'>1</Publish>\r
+\r
+\r
+      <Publish Dialog='MaintenanceWelcomeDlg' Control='Next' Event='NewDialog' Value='MaintenanceTypeDlg'>1</Publish>\r
+\r
+      <Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='LicenseAgreementDlg'>\r
+        (NOT Installed) AND (NOT ALREADYINSTALLED)\r
+      </Publish>\r
+      <Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='UpdateDlgShib'>\r
+        (NOT Installed) AND ALREADYINSTALLED\r
+      </Publish>\r
+      <Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='VerifyReadyDlg'>\r
+        Installed AND PATCH\r
+      </Publish>\r
+\r
+      <Publish Dialog='ExitDialog' Control='Finish' Event='EndDialog' Value='Return'>1</Publish>\r
+      <Publish Dialog='LicenseAgreementDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg'>1</Publish>\r
+      <Publish Dialog='MaintenanceTypeDlg' Control='Back' Event='NewDialog' Value='MaintenanceWelcomeDlg'>1</Publish>\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='InstallDirDlgShib'>\r
+        (NOT Installed) AND (NOT ALREADYINSTALLED)\r
+      </Publish>\r
+      <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='UpdateDlgShib'>\r
+        (NOT Installed) AND ALREADYINSTALLED\r
+      </Publish>\r
+      <Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='MaintenanceTypeDlg'>\r
+        Installed AND NOT PATCH\r
+      </Publish>\r
+\r
+    </UI>\r
+  </Fragment>\r
+</Wix>\r