Wix: User Interface WixUI_FeatureTree add control to Welcome Dialog - wix

I'm using WiX installer and WixUI_FeatureTree UI. I want to customize the Welcome Dialog window by adding one more text control. How can I do that? I search the documentation and didn't find anything
I that is not possible then can I change the height of the "Description" control? I tried like this but the Height was not changed?
<UI>
<Publish Dialog="WelcomeDlg" Control="Description" Property="Height" Value="150"></Publish>
</UI>

Adding a new control would require replacing the entire dialog and re-wiring the UI sequences to get your dialog to show up instead. You can read about that here: Customizing Built-in WixUI Dialog Sets.
If you just want to extend the contents of a control, WiX v3.6 has a new feature that allows .wxl files to not only change the text of a control but to change it's coordinates as well. Bob Arnson has a good article on that here: Localizing more than strings in WiX v3.6.

Related

How can i add a button to wix installer finish dialog box

I am currently using WixUI_Minimal dialog set, So, just like optional text (CA_Set_WIXUI_EXITDIALOGOPTIONALTEXT) can we add a button to the finish or exit dialog box on success scenario? I want to open a pdf file on the button click action.
Below is the code of how i am adding a custom text on finish dialog:
<UIRef Id="WixUI_Minimal" />
<CustomAction Id="CA_Set_WIXUI_EXITDIALOGOPTIONALTEXT" Property="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Thank you for installing [ProductName]."/>
<InstallUISequence>
<Custom Action="CA_Set_WIXUI_EXITDIALOGOPTIONALTEXT" After="FindRelatedProducts">NOT Installed</Custom>
</InstallUISequence>
You can have a look at this sample: https://github.com/glytzhkof/WiXOpenLogFile
It will show a check box that you can use to open the MSI log file. The MsiLogging property defined in the source file means that the log file will always be created. If you remove it the check box in the last dialog will be hidden (unless the log is still created by policy).
Here are a couple of other samples:
Custom Dialog Basics: https://github.com/glytzhkof/WiXCustomDialog - this sample shows the basic of customizing WiX dialogs. You base yourself off an existing WiX default dialog set and then extend it as necessary. This sample is very basic.
Experimental Dialog: https://github.com/glytzhkof/WiXViewLogExperiment - this little experiment uses a spawned dialog to show "something" at the end of the setup. Not too successful, but at least functional for testing and further experimentation. It is essentially an effort to prevent the update problems of normal MSI dialogs.
Links:
On WiX dialogs and MSI GUI
Injecting dialogs in WiX dialog sets

WiX Installer: How to hide/remove the Welcome dialog in WixUI_InstallDir mode

I am trying to remove the WelcomeDlg from the built-in WixUI_InstallDir dialog set.
For creating the setup executable and adding prerequisites , I used the bootstrap application where in I bundles the created msi. Now the issue is the bootstrap comes with its own Welcome dialog and the embedded msi also shows its own dialog box. In order to get rid of the msi welcome dialog, I
have removed the Publish statemnts related to Welcome dlg from the custom WixUI_InstallDir.wxs. But I am not able to get hide the welcome dialog.
Is there any way to get rid of the msi welcome dialog ?
Recently I also faced similar kind of situation where I need to exclude showing WelcomeDlg. Our idea was to create a custom license agreement dialog as the first dialog of the UI.
In order to achieve that behavior, following changes have been made.
Created a new wxs dialog with id "AdvancedWelcomeEulaDlgEx" which shows the EULA, checkbox to accept and Next button.
In this dialog's InstallUISequence, added the following line.
<InstallUISequence>
<Show Dialog="AdvancedWelcomeEulaDlgEx" Before="ProgressDlg">NOT Installed</Show>
</InstallUISequence>
Suppress the WelcomeDlg from showing. We used an approach like below in main UI fragment (Condition ensures that it won't show in normal case; In our case Installed and Patch case never happens as it is the way it handled)
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="AdvancedWelcomeEulaDlgEx" >Installed AND PATCH</Show>
</InstallUISequence>
You can check out this link which explains a similar kind of approach.
Basically the idea is to suppress the Welcome dialog and use the next dialog or custom dialog as initial one. Also, the Publish events of Next and other dialog's events should be rewired accordingly.

How can I make the background of an checkbox transparent in wix?

How can I make the background of the checkbox transparent or white?
That is quite common complaint. The quick answer is - no, there's no way to do it nicely. Let me quote the WiX Toolset tutorial:
And a common complaint: no, the checkbox can't have a transparent
background. If you have a bitmap in the background, it will be ugly,
just like in our example above. The only workaround is to reduce the
width of the checkbox to the actual box itself and to place an
additional static text (these can be made transparent) adjacent to it.
The downside of the workaround described is you won't be able to click the text in the label to check/uncheck the checkbox. You'll have to click directly into the control.
There is, however, one more (even uglier?) workaround: design the final dialog the way to have default grey area to place the checkbox on.
A workaround I have used is to create a new version of the built-in WiX dialog set "Mondo" where I modify the end dialog to contain a much smaller picture which does not cover the whole dialog surface. This should allow the natural background color - normally gray - to fill the rest of the dialog. Screenshot below:
https://github.com/glytzhkof/WiXOpenLogFile
There could be side-effects, but this should allow the dialog's background color to fill the dialog properly:
Main wxs file snippet:
<Binary Id="MyOwnExitBitmap" SourceFile="myOwnExit.bmp" />
Dialog wxs file snippet:
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="70" Height="70" TabSkip="no" Text="MyOwnExitBitmap" />
See full example above on github.com.
Not a direct answer but just another workaround that can be ok in some cases. If that's just one checkbox like launch app/readme/whatever - then it can be placed to the buttons panel which has the same background:

WiX - How to define only Feature tree UI

I've used the WixUI_FeatureTree dialog set but what I really need is a UI with the feature selection dialog, nothing else. WixUI dialog library contains the CustomizeDlg dialog which I understand to be the feature selection. I can't find any docs on using a single library dialog. Tried copying WixUI_FeatureTree.wxs fragment to my WXS and modifying it but I'm missing declaration or references (The Windows Installer XML variable !(wix.WixUICostingPopupOptOut) is unknown.). I'm using WiX v3.7 over VS2010.
Try to add the line
<UIRef Id="WixUI_Common" />
to the product element (best after </UI> ). this shold solve the ... variable ... is unknown error. then try to follow the "Changing the UI sequence of a built-in dialog set" example of this page: http://wix.sourceforge.net/manual-wix3/WixUI_customizations.htm

Wix Localization

I have localized all the strings which I added in the project.
But a "Cancel" button in Error dialog in Wix which comes while uninstall is not localized.
Its showing in English. The text in the dialog is localized.This dialog is default wix dialog.
I have added WixUI_ErrorProgressText library in wxs file.
got a solution..
by changing Edit Summary Information of msi and change Languages to corresponding language code.
Do this using any patch or programming language like vc++ etc.