Reputation: 3960
I created an msi using wix installer but for this software to work we need to install another software. SO I want user to show a message as a dialog so that they will be aware of dependency package installation. Once user click ok in this dialog background installation should progress
For this I created a custom dialog and called form my Produt.wxs, but it is not acting as information radiator but takes control of installation.
How can I spawn a information radiator after showing the welcome screen so once user click ok the dialog should go and next page of licence agreement should show.
Product.wxs
<Product Id="*" Name="Mentor PC" Language="1033" Version="1.0.0.0" Manufacturer="Waygate Technologies" UpgradeCode="303D1BF2-E4C1-44A3-9BBC-85D61CE0F7B7">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Manufacturer="Waygate Technologies" Description="Version 1.0" Comments="(C) 2020 Technologies" Platform="x64"/>
<MajorUpgrade AllowDowngrades="yes" Schedule="afterInstallValidate" />
<MediaTemplate EmbedCab="yes" />
<UIRef Id="SetupDialogUI" />
<Binary Id="bgPic" SourceFile="$(env.installer_icons_dir)/Technologies-dialog.png"/>
SetupDialog.wxs
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="SetupDialogUI">
<Property Id="Ok">OKbtn</Property>
<Binary Id="OKbtn" SourceFile="$(env.installer_icons_dir)/OKbtn.bmp"/>
<Dialog Id="SetupDialog" Width="400" Height="300" Title="Waygate Technologies">
<Control Id="background" Type="Bitmap" Text="bgPic" Height="300" Width="400" X="0" Y="0" TabSkip="no" />
<Control Id="introText" Type="Text" X="130" Y="50" Width="350" Height="22" Transparent="yes" Text="{\TahomaHeader}Welcome to Metro App setup." />
<Control Id="explanationText" X="130" Y="100" NoWrap="no" RightAligned="no" Transparent="yes" Type="Text" Width="250" Height="100" Text="{\TahomaNormal}To continue with the setup click on the Install button. If you choose not to install this application, click on the Cancel button to exit." />
<Control Id="installButton" Type="PushButton" Text="[Ok]" Height="40" Width="100" X="170" Y="250" Bitmap="yes">
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
</Dialog>
</UI>
<InstallUISequence>
<Show Dialog="SetupDialog" Before="ExecuteAction" />
</InstallUISequence>
Otherthan than "SetupDialog.wxs" I donty have any dialog files, its use default WIX provided
Upvotes: 0
Views: 40
Reputation: 708
If you have a dependent install requirement then you'll need to chain your installs instead of embedding them. One of the limits of Windows installer is that only one install can be running at any given time in the ExecuteSequence. Also, have you considered your end user running your install silently? How would that be handled with dialogs?
To chain your installs you'll need to build a bootstrapper (setup.exe). Take a look at WiX Burn. Focus on the Chaining part.
Upvotes: 0