[java-identity-provider] branch dev/IDP-2136 updated: IDP-2136 Consider Splitting the Windows Installer into IdP and Jetty+Procrun
Rod Widdowson
rdw at steadingsoftware.com
Wed Jul 26 14:36:37 UTC 2023
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch dev/IDP-2136
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=17ae8028b71d4f22e47c70ce2a40c068f78ca64c
The following commit(s) were added to refs/heads/dev/IDP-2136 by this push:
new 17ae8028b IDP-2136 Consider Splitting the Windows Installer into IdP and Jetty+Procrun
17ae8028b is described below
commit 17ae8028b71d4f22e47c70ce2a40c068f78ca64c
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jul 26 15:36:00 2023 +0100
IDP-2136 Consider Splitting the Windows Installer into IdP and Jetty+Procrun
https://shibboleth.atlassian.net/browse/IDP-2136
Add a UI
---
.../wix/{Jetty-delete.wxs => Jetty-Delete.wxs} | 17 +--
idp-installer/src/main/wix/Jetty-Gui.wxs | 116 +++++++++++++++++++++
idp-installer/src/main/wix/Jetty-InstallDlg.wxs | 81 ++++++++++++++
idp-installer/src/main/wix/Jetty-Main.wxs | 2 +
idp-installer/src/main/wix/Jetty-User.wxs | 2 +-
idp-installer/src/main/wix/JettyNew.bat | 4 +-
6 files changed, 206 insertions(+), 16 deletions(-)
diff --git a/idp-installer/src/main/wix/Jetty-delete.wxs b/idp-installer/src/main/wix/Jetty-Delete.wxs
similarity index 75%
rename from idp-installer/src/main/wix/Jetty-delete.wxs
rename to idp-installer/src/main/wix/Jetty-Delete.wxs
index 8031c92cd..aee56b58d 100644
--- a/idp-installer/src/main/wix/Jetty-delete.wxs
+++ b/idp-installer/src/main/wix/Jetty-Delete.wxs
@@ -19,24 +19,13 @@
<!-- Explicit delete behind ourselves on installs -->
<Fragment>
<ComponentGroup Id="DeleteFiles">
- <Component Id="RemoveOldJettyBaseEtc" Guid="{D98798EB-445C-425B-BBAA-9992F04B67EC}" Win64="no" Directory="IDP_INSTALLDIR">
+ <Component Id="RemoveOldJetty" Guid="{D98798EB-445C-425B-BBAA-9992F04B67EC}" Win64="no" Directory="IDP_INSTALLDIR">
<RegistryValue Id="RemoveOldJettyBaseEtc" Root="HKLM" Key="SOFTWARE\Shibboleth\IdP" Name="RemoveOldJettyBaseEtc" Value="TRUE" Type="string" KeyPath="yes" />
<util:RemoveFolderEx On="install" Property="OldJettyBaseEtc" />
- </Component>
-
- <Component Id="RemoveOldJettyBaseLib" Guid="{7360D58D-30CD-4782-A8F5-66275C4FA15B}" Win64="no" Directory="IDP_INSTALLDIR">
- <RegistryValue Id="RemoveOldJettyBaseLib" Root="HKLM" Key="SOFTWARE\Shibboleth\IdP" Name="RemoveOldJettyBaseLib" Value="TRUE" Type="string" KeyPath="yes" />
<util:RemoveFolderEx On="install" Property="OldJettyBaseLib" />
- </Component>
-
- <Component Id="RemoveOldJettyBaseResources" Guid="{19AE423B-7F36-491A-9FE8-C0B1216E3EF5}" Win64="no" Directory="IDP_INSTALLDIR">
- <RegistryValue Id="RemoveJettyBaseResources" Root="HKLM" Key="SOFTWARE\Shibboleth\IdP" Name="RemoveOldJettyBaseResources" Value="TRUE" Type="string" KeyPath="yes" />
<util:RemoveFolderEx On="install" Property="OldJettyBaseResources" />
- </Component>
-
- <Component Id="RemoveOldJettyBaseWebapps" Guid="{CE03E32C-D5B2-46E6-B337-40CF206A997F}" Win64="no" Directory="IDP_INSTALLDIR">
- <RegistryValue Id="RemoveOldJettyBaseWebapps" Root="HKLM" Key="SOFTWARE\Shibboleth\IdP" Name="RemoveOldJettyBaseWebapps" Value="TRUE" Type="string" KeyPath="yes" />
<util:RemoveFolderEx On="install" Property="OldJettyBaseWebapps" />
+ <util:RemoveFolderEx On="both" Property="OldJettyBaseTmp" />
</Component>
<Component Id="RemoveJettyDir" Guid="{557F0D43-F730-4912-BFE6-1905E69644A8}" Win64="no" Directory="TARGETDIR">
@@ -54,6 +43,7 @@
<CustomAction Id="SetOldJettyBaseLib" Property="OldJettyBaseLib" Value="[IDP_INSTALLDIR]\jetty-base\lib" />
<CustomAction Id="SetOldJettyBaseResources" Property="OldJettyBaseResources" Value="[IDP_INSTALLDIR]\jetty-base\resources" />
<CustomAction Id="SetOldJettyBaseWebapps" Property="OldJettyBaseWebapps" Value="[IDP_INSTALLDIR]\jetty-base\webapps" />
+ <CustomAction Id="SetOldJettyBaseTmp" Property="OldJettyBaseRmp" Value="[IDP_INSTALLDIR]\jetty-base\tmp" />
<CustomAction Id="SetProcRunDir" Property="ProcRunDir" Value="[SHIBBOLETHDIR]\ProcRun" />
<CustomAction Id="SetJettyDir" Property="JettyDir" Value="[SHIBBOLETHDIR]\Jetty" />
@@ -62,6 +52,7 @@
<Custom Action="SetOldJettyBaseLib" After="AppSearch" />
<Custom Action="SetOldJettyBaseResources" After="AppSearch" />
<Custom Action="SetOldJettyBaseWebapps" After="AppSearch" />
+ <Custom Action="SetOldJettyBaseTmp" After="AppSearch" />
<Custom Action="SetProcRunDir" After="AppSearch" />
<Custom Action="SetJettyDir" After="AppSearch" />
</InstallExecuteSequence>
diff --git a/idp-installer/src/main/wix/Jetty-Gui.wxs b/idp-installer/src/main/wix/Jetty-Gui.wxs
new file mode 100644
index 000000000..8b21bdd3c
--- /dev/null
+++ b/idp-installer/src/main/wix/Jetty-Gui.wxs
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Licensed to the University Corporation for Advanced Internet
+Development, Inc. (UCAID) under one or more contributor license
+agreements. See the NOTICE file distributed with this work for
+additional information regarding copyright ownership. The UCAID
+licenses this file to You under the Apache License, Version 2.0
+(the 'License'); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an 'AS IS' BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied. See the License for the specific language governing
+permissions and limitations under the License. -->
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" >
+<!-- This file controls the dispaying of the GUI dialogs (both WiX and custom) -->
+ <Fragment>
+ <WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\license.rtf" />
+ <WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)\TopBanner.bmp" />
+ <WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)\Dialog.bmp" />
+ <WixVariable Id="WixUICostingPopupOptOut" Value="1" />
+
+ <!-- GUI For Jetty installer. Cloned and modified from the IdP -->
+
+ <!-- Property that Light complained for -->
+ <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
+
+ <UI Id="JettyInstallUI">
+
+ <!-- "WixUI_InstallDir includes the following dialogs:" -->
+ <DialogRef Id="BrowseDlg" />
+ <DialogRef Id="DiskCostDlg" />
+ <DialogRef Id="InvalidDirDlg" />
+ <DialogRef Id="LicenseAgreementDlg" />
+ <DialogRef Id="WelcomeDlg" />
+
+ <!-- "In addition, WixUI_InstallDir includes the following common
+ dialogs that appear in all WixUI dialog sets:" -->
+ <DialogRef Id="CancelDlg" />
+ <DialogRef Id="ErrorDlg" />
+ <DialogRef Id="ExitDialog" />
+ <DialogRef Id="FatalError" />
+ <DialogRef Id="FilesInUse" />
+ <DialogRef Id="MaintenanceTypeDlg" />
+ <DialogRef Id="MaintenanceWelcomeDlg" />
+ <DialogRef Id="MsiRMFilesInUse" />
+ <DialogRef Id="OutOfDiskDlg" />
+ <DialogRef Id="OutOfRbDiskDlg" />
+ <DialogRef Id="PrepareDlg" />
+ <DialogRef Id="ProgressDlg" />
+ <DialogRef Id="ResumeDlg" />
+ <DialogRef Id="UserExit" />
+ <DialogRef Id="VerifyReadyDlg" />
+ <DialogRef Id="WaitForCostingDlg" />
+
+ <!-- We also define one dialog -->
+ <DialogRef Id="InstallJetty" />
+
+ <!-- Text Styles (from Orca) -->
+ <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
+ <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
+ <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
+
+ <!-- Events (from Orca\ControlEvent and from light"s complaints) -->
+ <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
+ <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4">
+ WIXUI_INSTALLDIR_VALID<>"1"
+ </Publish>
+
+ <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallJetty">
+ LicenseAccepted = "1"
+ </Publish>
+
+ <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+ <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+
+ <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
+
+ <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">
+ (NOT Installed) AND (NOT ALREADYINSTALLED)
+ </Publish>
+ <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallJetty">
+ (NOT Installed) AND ALREADYINSTALLED
+ </Publish>
+ <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">
+ Installed AND PATCH
+ </Publish>
+
+ <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return">1</Publish>
+ <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
+ <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
+ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">
+ Installed AND PATCH
+ </Publish>
+ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallJetty">
+ NOT Installed OR PATCH
+ </Publish>
+ <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">
+ Installed AND NOT PATCH
+ </Publish>
+
+ <ProgressText Action="QtSetACEConf">Setting the ACLs on the idp conf directory</ProgressText>
+ <ProgressText Action="QtSetACECreds">Setting the ACLs on the idp credentials directory</ProgressText>
+ <ProgressText Action="QtSetACELogs">Setting the ACLs on the idp logs directory</ProgressText>
+ <ProgressText Action="QtSetACEJettyLog">Setting the ACLs on the jetty-base logs directory</ProgressText>
+ <ProgressText Action="QtSetACEJettyTmp">Setting the ACLs on the jetty-base tmp directory</ProgressText>
+ <ProgressText Action="QtSetACEJettyStart">Setting the ACLs on the jetty-base start.d directory</ProgressText>
+ <ProgressText Action="WixRemoveFoldrrsEx">Cleaning out previous install</ProgressText>
+
+ </UI>
+ </Fragment>
+</Wix>
diff --git a/idp-installer/src/main/wix/Jetty-InstallDlg.wxs b/idp-installer/src/main/wix/Jetty-InstallDlg.wxs
new file mode 100644
index 000000000..2563a7f6b
--- /dev/null
+++ b/idp-installer/src/main/wix/Jetty-InstallDlg.wxs
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Licensed to the University Corporation for Advanced Internet
+ Development, Inc. (UCAID) under one or more contributor license
+ agreements. See the NOTICE file distributed with this work for
+ additional information regarding copyright ownership. The UCAID
+ licenses this file to You under the Apache License, Version 2.0
+ (the 'License'); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an 'AS IS' BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License. -->
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <UI>
+ <!-- This Dialog sets up INSTALL_JETTYD_USER, JETTYD_USER, JETTYD_DOMAIN, JETTYD_PASSWORD -->
+
+ <Dialog Id="InstallJetty" Width="370" Height="270" Title="[ProductName] Setup">
+ <!-- Stuff at the top: picture, some text, a line -->
+ <Control Id="TopBitMap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" Text="WixUI_Bmp_Banner" />
+ <Control Id="TopInfo" Type="Text" X="15" Y="6" Width="150" Height="12" Text="{\WixUI_Font_Title}Configure Shibboleth" Transparent="yes" />
+ <Control Id="TopDetailed" Type="Text" X="25" Y="24" Width="320" Height="12" Text="Please Select whether to run as a captive user" Transparent="yes" />
+ <Control Id="TopLine" Type="Line" X="0" Y="44" Width="370" Height="1" />
+
+ <Control Id="InstallJettyD" Type="CheckBox" X="25" Y="52" Height="20" Width="60"
+ Property="INSTALL_JETTYD_USER" CheckBoxValue="TRUE" Text="Run As &User"/>
+
+ <Control Id="DescriptionLine3A" Type="Text" X="25" Y="76" Height="20" Width="60" Text="User Domain">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+ <Control Id="Shibd_Domain" Type="Edit" X="85" Y="74" Height="17" Width="80"
+ Property="JETTYD_DOMAIN" Text="[JETTYD_DOMAIN]">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+
+ <Control Id="DescriptionLine3B" Type="Text" X="25" Y="96" Height="20" Width="60" Text="Username">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+ <Control Id="Shibd_User" Type="Edit" X="85" Y="94" Height="17" Width="80"
+ Property="JETTYD_USER" Text="[JETTYD_USER]">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+
+ <Control Id="DescriptionLine3C" Type="Text" X="25" Y="116" Height="20" Width="60" Text="Password">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+ <Control Id="Shibd_Pass" Type="Edit" X="85" Y="114" Height="17" Width="80"
+ Property="JETTYD_PASSWORD" Password="yes">
+ <Condition Action="hide">NOT INSTALL_JETTYD_USER</Condition>
+ <Condition Action="show">INSTALL_JETTYD_USER</Condition>
+ </Control>
+
+ <!-- Stuff at the bottom: line, Back,Next, [space] Cancel -->
+ <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="1" />
+ <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="&Back">
+ <Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
+ </Control>
+
+ <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="&Next" Default="yes">
+ <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+ </Control>
+
+ <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Text="&Cancel" Cancel="yes">
+ <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+ </Control>
+ </Dialog>
+
+ </UI>
+ </Fragment>
+</Wix>
diff --git a/idp-installer/src/main/wix/Jetty-Main.wxs b/idp-installer/src/main/wix/Jetty-Main.wxs
index e8f2fc882..219c939d3 100644
--- a/idp-installer/src/main/wix/Jetty-Main.wxs
+++ b/idp-installer/src/main/wix/Jetty-Main.wxs
@@ -110,5 +110,7 @@
<UpgradeVersion ExcludeLanguages="yes" IncludeMaximum="yes" Maximum="127.255.255" Minimum="0.0.1" OnlyDetect="yes" Property="ALREADYINSTALLED" />
</Upgrade>
+ <UIRef Id="JettyInstallUI" />
+
</Product>
</Wix>
diff --git a/idp-installer/src/main/wix/Jetty-User.wxs b/idp-installer/src/main/wix/Jetty-User.wxs
index 9faf5fffb..b9a461390 100644
--- a/idp-installer/src/main/wix/Jetty-User.wxs
+++ b/idp-installer/src/main/wix/Jetty-User.wxs
@@ -157,7 +157,7 @@
<Custom Action="SetACEJettyLogs" After="SetIcaclsVerb"/>
<Custom Action="QtSetACEJettyLogs" After="QtFinalizeJetty"/>
- <!-- Write the ACEs. Procron: log -->
+ <!-- Write the ACEs. Procrun: log -->
<Custom Action="SetACEProcrunLog" After="SetIcaclsVerb"/>
<Custom Action="QtSetACEProcrunLog" After="QtFinalizeJetty"/>
</InstallExecuteSequence>
diff --git a/idp-installer/src/main/wix/JettyNew.bat b/idp-installer/src/main/wix/JettyNew.bat
index 4962db9d9..87947e381 100644
--- a/idp-installer/src/main/wix/JettyNew.bat
+++ b/idp-installer/src/main/wix/JettyNew.bat
@@ -190,13 +190,13 @@ REM compile Jetty and procrun contents as well as the main command line
"%WIX%/BIN/CANDLE" -nologo -dJettySrc=jetty-extract\%Jex% -dProcrunSrc=procrun-extract -dPlatform=x86 -arch x86 jetty_contents.wxs Jetty-main.wxs Jetty-Procrun.wxs -ext WixFirewallExtension -ext WixUtilExtension
if ERRORLEVEL 1 goto done
-"%WIX%/BIN/CANDLE" -nologo -arch x86 -djettyBaseRoot=idp-jetty-base-extract\jetty-base jetty_base_contents.wxs Jetty-User.wxs jetty-delete.wxs -ext WixUtilExtension
+"%WIX%/BIN/CANDLE" -nologo -arch x86 -djettyBaseRoot=idp-jetty-base-extract\jetty-base -dProjectDir=. jetty_base_contents.wxs Jetty-User.wxs jetty-delete.wxs Jetty-Gui.wxs Jetty-InstallDlg.wxs -ext WixUtilExtension
if ERRORLEVEL 1 goto done
REM link for x64
-"%WIX%/BIN/LIGHT" -nologo -out Jetty-x64.msi jetty_base_contents.wixobj jetty_contents.wixobj Jetty-Procrun.wixobj Jetty-main.wixobj jetty-delete.wixobj Jetty-User.wixobj -ext WixFirewallExtension -sw1072 -ext WixUtilExtension -sice:ICE61
+"%WIX%/BIN/LIGHT" -nologo -out Jetty-x64.msi jetty_base_contents.wixobj jetty_contents.wixobj Jetty-Procrun.wixobj Jetty-main.wixobj jetty-delete.wixobj Jetty-User.wixobj Jetty-Gui.wixobj Jetty-InstallDlg.wixobj -ext WixFirewallExtension -sw1072 -ext WixUtilExtension -sice:ICE61 -ext WixUIExtension
if ERRORLEVEL 1 goto done
dir Jetty-*.msi
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list