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

Reply via email to