installer/windows: custom upgrade validation dialog (#3415)

This commit is contained in:
Fadila 2019-11-01 10:02:10 +01:00 committed by Kaloyan Raev
parent d9bb25b4b9
commit 0d2c03a124
4 changed files with 66 additions and 25 deletions

View File

@ -60,7 +60,7 @@ Patch dialog sequence:
<Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed OR NOT WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed OR NOT WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH AND NOT WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH AND NOT WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">NOT Installed AND WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="StorjWelcomeDlg" Control="Next" Event="NewDialog" Value="StorjValidateUpgradeDlg">NOT Installed AND WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="StorjWelcomeDlg">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="StorjWelcomeDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirConfigDlg">LicenseAccepted = "1"</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirConfigDlg">LicenseAccepted = "1"</Publish>
@ -115,7 +115,7 @@ Patch dialog sequence:
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="AllocatedBandwidthConfigDlg" Order="1">NOT Installed AND NOT WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="AllocatedBandwidthConfigDlg" Order="1">NOT Installed AND NOT WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH AND NOT WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH AND NOT WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="StorjWelcomeDlg" Order="2">Installed AND PATCH OR WIX_UPGRADE_DETECTED</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="StorjWelcomeDlg" Order="2">Installed AND PATCH AND NOT WIX_UPGRADE_DETECTED</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="StorjValidateUpgradeDlg" Width="370" Height="270" Title="Ready to update [ProductName]" TrackDiskSpace="yes">
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Bigger}Ready to update [ProductName]" />
<Control Id="UpgradeDescription" Type="Text" X="135" Y="70" Width="220" Height="100" Transparent="yes" Text="The Setup Wizard will update your Storj V3 Storage Node to version !(bind.FileVersion.Storagenodeexe). This operation will not modify your storage node's configuration." />
<Control Id="ButtonsDescription" Type="Text" X="135" Y="120" Width="220" Height="80" Transparent="yes" Text="Click Update to continue or Cancel to exit the wizard. " />
<Control Id="Upgrade" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Text="Update">
<Condition Action="show">ALLUSERS</Condition>
<Condition Action="enable">NOT Installed</Condition>
<Condition Action="default">NOT Installed</Condition>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
</Control>
<Control Id="UpgradeNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="Update">
<Condition Action="show">NOT ALLUSERS</Condition>
<Condition Action="enable">NOT Installed</Condition>
<Condition Action="default">NOT Installed</Condition>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
</Dialog>
<InstallUISequence>
<Show Dialog="StorjValidateUpgradeDlg" Before="ProgressDlg" Overridable="yes">(NOT Installed OR PATCH) AND WIX_UPGRADE_DETECTED</Show>
</InstallUISequence>
</UI>
</Fragment>
</Wix>

View File

@ -16,44 +16,39 @@
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" /> <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" /> <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" /> <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<!-- Upgrade text -->
<Control Id="UpgradeDescription" Type="Text" X="135" Y="80" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="The Setup Wizard will upgrade your the Storj V3 Storage Node installation. This operation will not modify your storage node's configuration." >
<Condition Action="show">WIX_UPGRADE_DETECTED</Condition>
<Condition Action="hide">NOT WIX_UPGRADE_DETECTED</Condition>
</Control>
<!-- Installation text -->
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="The Setup Wizard will install the Storj V3 Storage Node on your computer." > <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="The Setup Wizard will install the Storj V3 Storage Node on your computer." >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="RequirementsIntro" Type="Text" X="135" Y="105" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="Before you begin, make sure you meet the following requirements:" > <Control Id="RequirementsIntro" Type="Text" X="135" Y="105" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="Before you begin, make sure you meet the following requirements:" >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="AuthToken" Type="Text" X="135" Y="130" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've received an authorization token from Storj Labs" > <Control Id="AuthToken" Type="Text" X="135" Y="130" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've received an authorization token from Storj Labs" >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="Identity" Type="Text" X="135" Y="142" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've generated a new identity for your storage node" > <Control Id="Identity" Type="Text" X="135" Y="142" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've generated a new identity for your storage node" >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="Wallet" Type="Text" X="135" Y="154" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You have an ERC20 compatible wallet to receive payouts" > <Control Id="Wallet" Type="Text" X="135" Y="154" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You have an ERC20 compatible wallet to receive payouts" >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="PortForwarding" Type="Text" X="135" Y="166" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've configured port forwarding for your storage node" > <Control Id="PortForwarding" Type="Text" X="135" Y="166" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="- You've configured port forwarding for your storage node" >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="LearnMoreLink" Type="Hyperlink" X="135" Y="181" Width="320" Height="16" Transparent="yes"> <Control Id="LearnMoreLink" Type="Hyperlink" X="135" Y="181" Width="320" Height="16" Transparent="yes">
<Text><![CDATA[<a href="https://documentation.storj.io/setup/gui-windows">Learn more</a>]]></Text> <Text><![CDATA[<a href="https://documentation.storj.io/setup/gui-windows">Learn more</a>]]></Text>
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<Control Id="ClickNextInstruction" Type="Text" X="135" Y="208" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="Click Next to continue or Cancel to exit the Setup Wizard." > <Control Id="ClickNextInstruction" Type="Text" X="135" Y="208" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="Click Next to continue or Cancel to exit the Setup Wizard." >
<Condition Action="show">(NOT Installed OR NOT PATCH) AND NOT WIX_UPGRADE_DETECTED</Condition> <Condition Action="show">NOT Installed OR NOT PATCH</Condition>
<Condition Action="hide">(Installed AND PATCH) OR WIX_UPGRADE_DETECTED</Condition> <Condition Action="hide">Installed AND PATCH</Condition>
</Control> </Control>
<!-- Patch text --> <!-- Patch text -->
<Control Id="PatchDescription" Type="Text" X="135" Y="80" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeUpdateDlgDescriptionUpdate)" > <Control Id="PatchDescription" Type="Text" X="135" Y="80" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeUpdateDlgDescriptionUpdate)" >
@ -64,7 +59,7 @@
</Dialog> </Dialog>
<InstallUISequence> <InstallUISequence>
<Show Dialog="StorjWelcomeDlg" Before="ProgressDlg" Overridable="yes">NOT Installed OR PATCH</Show> <Show Dialog="StorjWelcomeDlg" Before="ProgressDlg" Overridable="yes">(NOT Installed OR PATCH) AND NOT WIX_UPGRADE_DETECTED</Show>
</InstallUISequence> </InstallUISequence>
</UI> </UI>
</Fragment> </Fragment>

View File

@ -20,6 +20,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AllocatedStorageConfig.wxs" /> <Compile Include="AllocatedStorageConfig.wxs" />
<Compile Include="StorjValidateUpgradeDlg.wxs" />
<Compile Include="StorjWelcomeDlg.wxs" /> <Compile Include="StorjWelcomeDlg.wxs" />
<Compile Include="ValidationError.wxs" /> <Compile Include="ValidationError.wxs" />
<Compile Include="InstallDirConfig.wxs" /> <Compile Include="InstallDirConfig.wxs" />