Levi, thanks for this information, i think the penny has finally dropped. There is no need to recompile anything, just cut and paste xml.
Using the Wiki example http://www.wixwiki.com/index.php?title=WixUI_Custom
as base i have been able to successfully
insert the license key
dialog.
For other people who are stuggling, here is how i did it
To insert the license key dialog described in the http://www.wixwiki.com/index.php?title=WixUI_Custom
into the WixUI_Mondo
sequence...
1) Download the WIX source package
2) Extract the package
and browse to the {sourcedir}\src\ext\UIExtension\wixlib
3) Open the
file WixUI_Mondo.wxs and copy the entire <UI> section from
it
4) Replace the Wiki example <UI> section with the
<UI> section from WixUI_Mondo.wxs
5) Add the new
<dialog> code from the example to <UI> section
6) Rewire
the Next and Back buttons, as per the original example
7) Re-insert
the template for the license key entry control
<Property Id="PIDTemplate" Value="####-####-####-####"
/>
8) No need to recompile the WixUIExtension.dll just use -ext
WixUIExtension.dll as normal
You should end up with something looking similar to this
<!--WixUI_Mondo.wxs includes this so we need
it -->
<UIRef Id="WixUI_Common" />
<UI Id="WixUI_Mondo">
<Property
Id="PIDTemplate" Value="####-####-####-####" />
<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" />
<Property Id="DefaultUIFont"
Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Mondo" />
<DialogRef Id="ErrorDlg"
/>
<DialogRef Id="FatalError"
/>
<DialogRef Id="FilesInUse"
/>
<DialogRef Id="MsiRMFilesInUse"
/>
<DialogRef Id="PrepareDlg"
/>
<DialogRef Id="ProgressDlg"
/>
<DialogRef Id="ResumeDlg"
/>
<DialogRef Id="UserExit"
/>
<Publish Dialog="ExitDialog"
Control="Finish" Event="EndDialog" Value="Return"
Order="999">1</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog"
Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog"
Value="WelcomeDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog"
Value="LicenseKeyDlg" Order="2">LicenseAccepted = "1"</Publish>
<Publish Dialog="LicenseKeyDlg"
Control="Back" Event="NewDialog"
Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="LicenseKeyDlg" Control="Next" Event="ValidateProductID"
Value="[PIDKEY]"
Order="1">1</Publish>
<Publish
Dialog="LicenseKeyDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg"
Order="2">ProductID</Publish>
<Publish Dialog="SetupTypeDlg"
Control="Back" Event="NewDialog"
Value="LicenseKeyDlg">1</Publish>
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="NewDialog"
Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="SetupTypeDlg" Control="CustomButton" Event="NewDialog"
Value="CustomizeDlg">1</Publish>
<Publish Dialog="SetupTypeDlg" Control="CompleteButton" Event="NewDialog"
Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="CustomizeDlg"
Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg"
Order="1">WixUI_InstallMode =
"Change"</Publish>
<Publish
Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg"
Order="2">WixUI_InstallMode =
"InstallCustom"</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog"
Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="VerifyReadyDlg"
Control="Back" Event="NewDialog" Value="CustomizeDlg"
Order="1">WixUI_InstallMode =
"InstallCustom"</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog"
Value="SetupTypeDlg" Order="2">WixUI_InstallMode = "InstallTypical" OR
WixUI_InstallMode =
"InstallComplete"</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog"
Value="CustomizeDlg" Order="3">WixUI_InstallMode =
"Change"</Publish>
<Publish
Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog"
Value="MaintenanceTypeDlg" Order="4">WixUI_InstallMode = "Repair" OR
WixUI_InstallMode = "Remove"</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg"
Control="ChangeButton" Event="NewDialog"
Value="CustomizeDlg">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="MaintenanceTypeDlg" Control="Back" Event="NewDialog"
Value="MaintenanceWelcomeDlg">1</Publish>
<Dialog Id="LicenseKeyDlg"
Width="370" Height="270" Title="[ProductName]
Setup">
<Control
Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15"
Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}User Information"
/>
<Control
Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15"
Transparent="yes" NoPrefix="yes" Text="Enter the following information to
personalize your installation"
/>
<Control
Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44"
TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)"
/>
<Control
Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="UserNameLabel"
Type="Text" X="20" Y="60" Width="290" Height="13" Text="Full Name:"
/>
<Control
Id="UserName" Type="Edit" X="20" Y="72" Width="320" Height="18"
Property="USERNAME"
Text="47"/>
<Control
Id="OrgNameLabel" Type="Text" X="20" Y="93" Width="290" Height="13"
Text="Organization:" />
<Control Id="OrgName" Type="Edit" X="20" Y="105" Width="320" Height="18"
Property="COMPANYNAME" Text="{53}"
/>
<Control
Id="LicenseKeyLabel" Type="Text" X="20" Y="126" Width="290" Height="13"
Text="License Key:" />
<Control Id="LicenseKey" Type="MaskedEdit" X="20" Y="139" Width="320"
Height="15" Property="PIDKEY" Text="[PIDTemplate]" />
<Control Id="BottomLine"
Type="Line" X="0" Y="234" Width="370" Height="0"
/>
<Control Id="Next"
Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes"
Text="Next" />
<Control
Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17"
Text="Back" />
<Control
Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17"
Cancel="yes"
Text="Cancel">
<Publish Event="SpawnDialog"
Value="CancelDlg">1</Publish>
</Control>
</Dialog>
</UI>
--------- Original Message --------
From: "Levi Wilson" <[EMAIL PROTECTED]>
To: "Scullum" <[EMAIL PROTECTED]>, "wix-users@lists.sourceforge.net" <wix-users@lists.sourceforge.net>
Subject: Re: [WiX-users] User Interface Help Needed On Displaying A Custom DIalog
Date: 11/01/07 13:58
I don't believe that you have to recompile the UIExtension.dll to achieve what you want. If you take a look at http://www.wixwiki.com/index.php?title=WixUI_Custom you'll notice that they have a <UIRef /> tag that references the common dialogs. Then underneath in their <UI /> tag is where they basically define the same sequence that the WixUI_InstallDir.wxs defines (found in the src/ext/UIExtension/wixlib directory), and then adds the appropriate tags in there for the LicenseKeyDlg that they also define in there. This would be defined in your main .wxs file I believe. Then you just candle / light it and you should be good to go. You don't need to recompile the UIExtension.dll.
On 1/11/07, Scullum <[EMAIL PROTECTED]> wrote:Sorry for being such an idiot. I dont know how i missed this in the wiki.. much appreciated.
So basically, I have to recompile the entire UIExtension.dll with my necessary dialogs inside; not too much of a problem.
As an aside has anyone already created a new UIExtension with IIS settings akin to the freebie websetup installer you get with VS.
Wishfully thinking that maybe some internal microsoft product uses this and may release the dialog code as a starting point
Thanks for all the help thus far
--------- Original Message --------
From: "Rob MacFadyen" <[EMAIL PROTECTED]>
To: "'Bob Arnson'" <[EMAIL PROTECTED]>, "'Scullum'" < [EMAIL PROTECTED]>
Cc: wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] User Interface Help Needed On Displaying A Custom DIalog
Date: 11/01/07 11:14
There's a list of dialogs (with screen shots) at:
http://www.wixwiki.com/index.php?title=UiExtension
Regards,
Rob
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto: [EMAIL PROTECTED]] On Behalf Of Bob Arnson
Sent: Wednesday, January 10, 2007 11:57 PM
To: Scullum
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] User Interface Help Needed On Displaying A Custom
DIalog
Scullum wrote:
>
> Error LGHT0204: ICE17: PushButton: 'Next' of Dialog: 'InstallDirDlg'
> does not have an event defined in the ControlEvent table. It is a 'Do
> Nothing' button.
>
WixUI_Mondo doesn't use InstallDirDlg -- are you referencing it?
> But i do not know the names of all the dialogs, what would this be
> called. Is there a of the dialog names somewhere, i have looked in
> the user guide and the wiki but have not found anything of relevance
>
There's no such list. If you're customizing the UI, it's assumed you're also
looking at the source code in src/ext/UIExtension/wixlib.
>
> Secondly assuming the custom install dialog is called
> 'CustomInstallDlg' would this be sufficient to display my dialog
> within the sequence?
> <Publish Dialog="LicenseAgreementDlg" Control="Next"
> Event="NewDialog" Value="CustomInstallDlg">LicenseAccepted =
> "1"</Publish>
>
You have to provide an entire dialog set; you can't just override the
dialogs you're interested in. You have to replace WixUI_Mondo, for example,
by copying it and updating the Back/Next control events to refer to your
custom dialog.
--
sig://boB
http://bobs.org
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
________________________________________________
Message sent using UebiMiau 2.7.2
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
________________________________________________
Message sent using UebiMiau 2.7.2
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users