- Have a separate dialog for updates (allowing us to refactor the current dialog into a separate file)
- Save all user supplied parameters (in case we need them later)
- Set up parameters from these as appropriate for the update case.
- Remove some old cruft from no-longer needed Dialogs
We still have some work to do because an update will sense shibd running and we are about to stop it.
wixcop -indent:2 ShibbolethSP-gui.wxs
candle ShibbolethSP-gui.wxs
+wixcop -indent:2 ShibbolethSP-update-dlg.wxs
+candle ShibbolethSP-update-dlg.wxs
+
+wixcop -indent:2 ShibbolethSP-install-dlg.wxs
+candle ShibbolethSP-install-dlg.wxs
+
wixcop -indent:2 ShibbolethSP-main-x64.wxs
candle ShibbolethSP-main-x64.wxs
-light -sw1055 -sice:ICE82 -o ShibbolethSP-main-x64.msi ShibbolethSP-main-x64.wixobj ShibbolethSP-exe-x64.wixobj ShibbolethSP-registry-x64.wixobj ShibbolethSP-noarch.wixobj ShibbolethSP-exe-x86.wixobj ShibbolethSP-registry-x86.wixobj ShibbolethSP-gui.wixobj -ext WixUtilExtension.dll -ext WixUIExtension -ext WixIISExtension
+light -sw1055 -sice:ICE82 -o ShibbolethSP-main-x64.msi ShibbolethSP-main-x64.wixobj ShibbolethSP-exe-x64.wixobj ShibbolethSP-registry-x64.wixobj ShibbolethSP-noarch.wixobj ShibbolethSP-exe-x86.wixobj ShibbolethSP-registry-x86.wixobj ShibbolethSP-gui.wixobj ShibbolethSP-update-dlg.wixobj ShibbolethSP-install-dlg.wixobj -ext WixUtilExtension.dll -ext WixUIExtension -ext WixIISExtension
wixcop -indent:2 ShibbolethSP-main-x86.wxs
candle ShibbolethSP-main-x86.wxs
-light -sw1055 -sice:ICE82 -o ShibbolethSP-main-x86.msi ShibbolethSP-main-x86.wixobj ShibbolethSP-noarch.wixobj ShibbolethSP-exe-x86.wixobj ShibbolethSP-registry-x86.wixobj ShibbolethSP-gui.wixobj -ext WixUtilExtension.dll -ext WixUIExtension -ext WixIISExtension
+light -sw1055 -sice:ICE82 -o ShibbolethSP-main-x86.msi ShibbolethSP-main-x86.wixobj ShibbolethSP-noarch.wixobj ShibbolethSP-exe-x86.wixobj ShibbolethSP-registry-x86.wixobj ShibbolethSP-gui.wixobj ShibbolethSP-update-dlg.wixobj ShibbolethSP-install-dlg.wixobj -ext WixUtilExtension.dll -ext WixUIExtension -ext WixIISExtension
<ComponentRef Id='shibd.exe_debug'/>\r
\r
<!-- ShibbolethSP-registry-x32 -->\r
+ <ComponentRef Id='TargetDir'/>\r
+ <ComponentRef Id='InstallShibd'/>\r
+ <ComponentRef Id='InstallIsapi'/>\r
<ComponentRef Id='file_extension'/>\r
<ComponentRef Id='shib.ico' />\r
</Include>\r
<ServiceInstall Id='shibd' Name='shibd_Default' \r
DisplayName='Shibboleth 2 Daemon (Default)' Type='ownProcess' \r
Start='auto' ErrorControl='ignore' />\r
- <ServiceControl Id='shibd_Default' Name='shibd_Default' Stop='uninstall' \r
+ <ServiceControl Id='shibd_Default' Name='shibd_Default' Stop='both' \r
Remove='uninstall' Start='install' Wait='no' />\r
</Component>\r
<Directory Id='sbin_debug' Name='debug' FileSource='$(var.SPBuildDirectory)\cpp-sp\Debug' >\r
permissions and limitations under the License. -->\r
\r
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>\r
- <!-- This is where we put all executables & so & dlls which make up the SP X86 installer -->\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
<!-- "WixUI_InstallDir includes the following dialogs:" -->\r
<DialogRef Id='BrowseDlg' />\r
<DialogRef Id='DiskCostDlg' />\r
- <DialogRef Id='InstallDirDlg' />\r
<DialogRef Id='InvalidDirDlg' />\r
<DialogRef Id='LicenseAgreementDlg' />\r
<DialogRef Id='WelcomeDlg' />\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
<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\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
Installed AND PATCH\r
</Publish>\r
<Publish Dialog='VerifyReadyDlg' Control='Back' Event='NewDialog' Value='InstallDirDlgShib'>\r
- NOT Installed\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
- <!-- 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&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 <> "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 <> "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='&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='&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<>"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='&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
- WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"\r
- </Publish>\r
-\r
- <Publish Dialog='InstallDirDlg' Control='Next' Event='SpawnDialog' Value='InvalidDirDlg' Order='3'>\r
- NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"\r
- </Publish>\r
-\r
- <Publish Dialog='InstallDirDlg' Control='Next' Event='DoAction' Value='WixUIValidatePath' Order='2'>\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' Order='2'>1</Publish>\r
- <Publish Dialog='InstallDirDlg' Control='ChangeFolder' Event='[_BrowseProperty]' Value='[WIXUI_INSTALLDIR]' >1</Publish>\r
-\r
-\r
</UI>\r
</Fragment>\r
</Wix>\r
--- /dev/null
+<?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 contains the description of the dialog which captures installation\r
+ values for first time installs -->\r
+ <Fragment>\r
+\r
+ <UI>\r
+\r
+ <!-- This Dialog 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&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 <> "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 <> "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='&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='&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<>"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='&Cancel' Cancel='yes'>\r
+ <Publish Event='SpawnDialog' Value='CancelDlg'>1</Publish>\r
+ </Control>\r
+ </Dialog>\r
+\r
+ </UI>\r
+ </Fragment>\r
+</Wix>\r
<ComponentRef Id='shibd64.exe_debug'/>\r
\r
<!-- ShibbolethSP-registry-x64 -->\r
-\r
+ <ComponentRef Id='TargetDir64'/>\r
+ <ComponentRef Id='InstallShibd64'/>\r
+ <ComponentRef Id='InstallIsapi64'/>\r
+ <ComponentRef Id='Install32Bit64'/>\r
<ComponentRef Id='file_extension64'/>\r
<ComponentRef Id='shib64.ico' />\r
\r
</Directory><!-- var -->\r
</DirectoryRef>\r
\r
+ <!-- Stuff to do the editing and copy of the files -->\r
+\r
<Binary Id='EditConfigFileSrc' SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_edit_config_files.vbs-wix' />\r
\r
<CustomAction Id='EditConfigFiles' \r
<CustomAction Id='KeyGen' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />\r
<CustomAction Id='SetKeyGen' Property='KeyGen' Value='"[INSTALLDIR]etc\shibboleth\keygen.bat"' />\r
\r
+ <!-- Stuff to configure IIS. This is a one-shot (first install/last uninstall) -->\r
+\r
<Binary Id='install_isapi'\r
SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_install_isapi_filter.vbs-wix'/>\r
<Binary Id='uninstall_isapi' \r
<CustomAction Id='ServicePath64' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />\r
<CustomAction Id='SetServicePath64' Property='ServicePath64' Value='"[INSTALLDIR]etc\shibboleth\SetService64.bat"' />\r
\r
+ <!-- Inherit the installation dir if one was set -->\r
+ <CustomAction Id='InheritInstallDir' Property='INSTALLDIR' Value='[OLD_INSTALLDIR]' />\r
+ <CustomAction Id='InheritInstallDir64' Property='INSTALLDIR' Value='[OLD_INSTALLDIR64]' />\r
+\r
+ <!-- Set INSTALL_SHIBD correctly -->\r
+ <CustomAction Id='ClearInstallShibd' Property='INSTALL_SHIBD_SERVICE' Value='FALSE' />\r
+\r
+ <InstallUISequence>\r
+ <!-- All we need to sequence here is setting up inherited INSTALLDIR -->\r
+\r
+ <!-- inherit installationDir if there is something to inherit -->\r
+ <Custom Action='InheritInstallDir' After='AppSearch'>\r
+ OLD_INSTALLDIR\r
+ </Custom>\r
+ <Custom Action='InheritInstallDir64' After='InheritInstallDir'>\r
+ (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64\r
+ </Custom>\r
+ </InstallUISequence>\r
\r
<InstallExecuteSequence>\r
<Custom Action='SetEditConfigFiles' Before='CostInitialize'>NOT Installed</Custom>\r
(NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND IISMAJORVERSION\r
</Custom>\r
<Custom Action='ShibInstallISAPIFilter' After='InstallFiles'>\r
- (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION\r
+ (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION\r
</Custom>\r
\r
<!-- (try to) Uninstall IIS if\r
After='CostFinalize'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>\r
<Custom Action='ShibUninstallISAPIFilter' \r
Before='RemoveFiles'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>\r
- <!-- set service path to 64 bit one if this is an install and if we werre told to -->\r
+\r
+ <!-- set service path to 64 bit one if this is an install and if we were told to -->\r
\r
<Custom Action='SetServicePath64' Before='CostInitialize'>\r
(NOT Installed) AND (INSTALL_SHIBD_SERVICE = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")\r
(NOT Installed) AND (INSTALL_SHIBD_SERVICE = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")\r
</Custom>\r
\r
+ <!-- Duplicate actions from the UI case -->\r
+ <Custom Action='InheritInstallDir' After='AppSearch'>\r
+ OLD_INSTALLDIR\r
+ </Custom>\r
+ <Custom Action='InheritInstallDir64' After='InheritInstallDir'>\r
+ (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64\r
+ </Custom>\r
+\r
+ <!-- Clear out INSTALL_SHIBD_SERVICE (Set it to FALSE) if\r
+ - This is an update\r
+ - We didn't see an appropriate registryEntry\r
+ - TODO - we don't need this here I think\r
+ -->\r
+ <Custom Action='ClearInstallShibd' After='AppSearch'>\r
+ ALREADYINSTALLED AND (NOT OLD_SERVICEINSTALLED)\r
+ </Custom>\r
+\r
<!-- 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
Name='DisplayVersion' Type='raw' Win64='yes' />\r
</Property>\r
\r
+ <Property Id='OLD_INSTALLDIR64' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallDir64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallDir' Type='directory' Win64='yes'/>\r
+ </Property>\r
+\r
+ <Property Id='OLD_INSTALL_SHIBD_SERVICE64' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallShibd64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallShibd' Type='raw' Win64='yes'/>\r
+ </Property>\r
+\r
+ <Property Id='OLD_INSTALL_ISAPI_FILTER64' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallIsapi64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallIsapi' Type='raw' Win64='yes'/>\r
+ </Property>\r
+\r
+ <!-- 64 bit only -->\r
+ <Property Id='OLD_INSTALL_32BIT' Secure='yes'>\r
+ <RegistrySearch Id='OldInstall32Bit' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='Install32Bit' Type='raw' Win64='yes'/>\r
+ </Property>\r
+\r
<DirectoryRef Id='bin64'>\r
+ <!-- Save the Captured parameters into the registry -->\r
+ <Component Id='TargetDir64' Guid='{E89D3028-5415-4874-9CBC-806A2064C613}' Win64='yes'>\r
+ <RegistryValue Id='TargetDir64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallDir' Value='[INSTALLDIR]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
+ <Component Id='InstallShibd64' Guid='{7834C30C-DCAB-4C7E-9C75-396EFB759AC9}' Win64='yes'>\r
+ <RegistryValue Id='InstallShibd64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallShibd' Value='[INSTALL_SHIBD_SERVICE]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
+ <Component Id='Install32Bit64' Guid='{9A0181FE-6252-4C2E-8828-70281DCC3825}' Win64='yes'>\r
+ <RegistryValue Id='Install32Bit64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='Install32Bit' Value='[INSTALL_32BIT]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
+ <Component Id='InstallIsapi64' Guid='{288F97F5-E2E8-48DB-8291-B8445B77BA45}' Win64='yes'>\r
+ <Condition>IISMAJORVERSION</Condition>\r
+ <RegistryValue Id='InstallIsapi64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallIsapi' Value='[INSTALL_ISAPI_FILTER]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
<Component Id='file_extension64' Guid='{F17BED16-5988-4F9E-82E0-1D4DCB69EC26}' Win64='yes'>\r
<Condition>INSTALL_ISAPI_FILTER = "TRUE"</Condition>\r
<RegistryValue Id='FileExtension64' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
<RegistrySearch Id='SP2_3_1' Root='HKLM' \r
Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E4FA3B6C-6347-4B58-A07D-F9E388B3944B}' \r
Name='DisplayVersion' Type='raw' />\r
+ </Property>\r
+\r
+ <Property Id='OLD_INSTALLDIR' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallDir' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallDir' Type='directory' />\r
+ </Property>\r
+\r
+ <Property Id='OLD_INSTALL_SHIBD_SERVICE' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallShibd' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallShibd' Type='raw' />\r
+ </Property>\r
+\r
+ <Property Id='OLD_INSTALL_ISAPI_FILTER' Secure='yes'>\r
+ <RegistrySearch Id='OldInstallIsapi' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallIsapi' Type='raw' />\r
+ </Property>\r
\r
+ <!-- non virtualized registry setting -->\r
+ <Property Id='OLD_SERVICEINSTALLED' Secure='yes'>\r
+ <RegistrySearch Id='OldServiceInstalled' Root='HKLM' Key='SYSTEM\CurrentControlSet\services\shibd_Default'\r
+ Name='ImagePath' Type='raw' />\r
</Property>\r
+\r
<DirectoryRef Id='bin'>\r
+ <!-- Save the Captured parameters into the registry -->\r
+ <Component Id='TargetDir' Guid='{F02FB6E5-1146-4EC5-9D59-07BA6732C4DD}' >\r
+ <RegistryValue Id='TargetDir' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallDir' Value='[INSTALLDIR]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
+ <Component Id='InstallShibd' Guid='{67ABE9AB-5ACF-44FE-8620-AEA676E88187}' >\r
+ <RegistryValue Id='InstallShibd' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallShibd' Value='[INSTALL_SHIBD_SERVICE]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
+ <Component Id='InstallIsapi' Guid='{4F81E47D-B406-42B6-A702-90ACA666075E}' >\r
+ <Condition>IISMAJORVERSION</Condition>\r
+ <RegistryValue Id='InstallIsapi' Root='HKLM' Key='SOFTWARE\Shibboleth' \r
+ Name='InstallIsapi' Value='[INSTALL_ISAPI_FILTER]' Type='string' KeyPath='yes' />\r
+ </Component>\r
+\r
<Component Id='file_extension' Guid='{88D0BEF3-6E15-4688-8492-9FF23B6221DF}'>\r
<Condition>INSTALL_ISAPI_FILTER = "TRUE"</Condition>\r
<RegistryValue Root='HKLM' Key='SOFTWARE\Shibboleth' \r
Name='FileExtension' Value='[SHIB_FILE_EXTENSION]' Type='string' KeyPath='yes' />\r
</Component>\r
\r
+ <!-- pretty icon for the "install programs" page -->\r
<Component Id='shib.ico' Guid='{FA0F86A1-0731-4D66-8216-BC74D231B598}'>\r
<File KeyPath='yes' Source='$(var.SPBuildDirectory)\cpp-sp\msi\shib.ico' />\r
<RegistryValue Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]' \r
--- /dev/null
+<?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
+ <!-- The dialog to display if we sense an upgrade -->\r
+ <Fragment>\r
+\r
+ <UI>\r
+ <Dialog Id='UpdateDlgShib' Width='370' Height='270' Title='[ProductName] Update'>\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}Update Shibboleth' Transparent='yes'/>\r
+ <Control Id='TopDetailed' Type='Text' X='25' Y='24' Width='320' Height='12' \r
+ Text='Update to [ProductName]' 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 updates files for [ProductName] will be installed to [INSTALLDIR]'/>\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='&Back'>\r
+ <Publish Event='NewDialog' Value='WelcomeDlg'>1</Publish>\r
+ </Control>\r
+\r
+ <Control Id='Next' Type='PushButton' X='236' Y='243' Width='56' Height='17' Text='&Next' Default='yes'>\r
+ <Publish Event='NewDialog' Value='VerifyReadyDlg'/>\r
+ </Control>\r
+\r
+ <Control Id='Cancel' Type='PushButton' X='304' Y='243' Width='56' Height='17' Text='&Cancel' Cancel='yes'>\r
+ <Publish Event='SpawnDialog' Value='CancelDlg'>1</Publish>\r
+ </Control>\r
+ </Dialog>\r
+ </UI>\r
+ </Fragment>\r
+</Wix>\r