Where can I find the source code for built in dialogs (WelcomeDlg, ErrorDlg, etc)? - wix

I've built an installer based on WixUI_FeatureTree.wxs. I now need to add a third page with some additional controls. I would like it to look the same as CustomizeDlg in WixUI_FeatureTree.wxs. Where can I look to find where it's created/defined.
I understand there may not be a WXS file for it, but I still wanted to look at where it's created/defined so I can build an identical dialog using all the same properties.

For WiX Toolset v3, you want the UIExtension.This is WixUI_FeatureTree.

Related

I need to remove feature selection screen from my wix installer

I have created a setup using wix installer, During installations user must have to install all features from feature tree, So I don't want to display this feature option screen during installation. Is there any way to achieve this.
Dialog Set: You can select a dialog set without this dialog? Default dialog sets. You are probably using Advanced or Mondo?
Mandatory Features: You can set all features to be mandatory? I guess you might already have done so. Then the user can not do any damage from the GUI (maybe they still can from msiexec.exe command line).
Custom Dialogs: You can create your own dialog set and take it out? Some details here.
Minimalistic sample
Zip version of Minimalistic sample

Wixtoolset dual listbox

Is it possible to do a dual listbox custom dialog with wixtoolset using a custom action?
I'm essentially trying to do this:
https://www.advancedinstaller.com/user-guide/tutorial-combobox-listbox.html#combolist-scenario1
Half of the solution is here: https://www.firegiant.com/wix/tutorial/standard-libraries/custom-actions-and-user-interface/
I got my first listbox populated using WcaAddTempRecord (wcautil from wixtoolset sdk). The problem is that I can't get the second listbox to show the added data when "moving" a listitem to the second listbox. I even tried to publish the NewDialog event to show a second dialog with the same dual listbox controls, which seems to be the workaround proposed on various posts on this subject. No success there either; I just can't get the second listbox to show its content.
I did look at wixtoolset sources for an WcaAddTempRecord on a listbox but the only usage was commented out.
Any pointers?
Dual Listboxes: Stefan Kruger - MSI MVP - has a great sample here: http://www.installsite.org/pages/en/msi/articles/MultiListBox/index.htm. Note that there are problems with MSI dialog events, so you need to actually use two dialog boxes to ensure proper dialog refresh. It is pretty clunky conceptually, but the sample is good.
Dark.exe: You can use WiX's dark.exe tool to decompile the MSI in Stefan's sample. You can then extract the dialog WiX markup and incorporate into your own WiX project. This is not trivial.
Real-world sample with custom dialogs (Helge Klein)
Official WiX documentation
dark.exe sample: Below is a command line. Here is more (section 4).
dark.exe -x outputfolder MySetup.msi
Links (just for easy retrieval, the above links should do):
Back/Next Button in UI using Wix toolset
How show version number in title of installation in WIX?
Removing Default dialogs from MSI

Is there a way to avoid displaying help link in control panel using installshield for a basic msi project?

Is there a way to avoid displaying help link in control panel using installshield for a basic msi project?
I have a basic msi project. Help link that appears in Add/Remove programs of control panel needs to be removed. Other properties such as Support link,Update information needs to be retained.
Is there a way to remove Help link?
Thanks in advance.
This sort of thing is native Windows Installer functionality. You might ensure that the properties ARPHELPLINK and ARPHELPTELEPHONE are empty, to see if that provides the desired behavior. If not, I don't see any obvious way to influence this.

Display files in a directory list control

Is there a way for user to select a specific file using BrowseDlg? All i can find is that you can select only a folder!! I believe File selection is one of the "common" functionality in use.
Can anyone provide some suggestion on how this can be achieved.
Thanks!
Update
I am thinking of creating a C# custom aciton for this, as all other CA in project are in C#. But I am not sure about few things....
How can I sequence this CA dialog with my exsiting UI sequence.
How to trigger a CA on a button click from one of my custom dialog.
How to get the file path back from File Browse CA to be further used by WIX.
The other CAs that I have created does not have any UI associated.
Please advice.
Thanks!
Actually, Windows Installer doesn't have anything built-in for the "Browse for file" dialog. Various vendors offer their custom solutions, like Advanced Installer and InstallShield.
Anyway, this all ends up in a custom dialog and custom action for Browse button. You can find an example of this here (search for "File Browse Dialog" on that page). The package you'll find contains the custom action, sample solution and some notes. It is based on InstallShield, but you can take at least custom action from there (creating a custom dialog in WiX is not that hard). As a last resort, you can try to implement this CA yourself.

WiX Show Dialog Based on Feature to be Installed

Let me be upfront I am novice with WiX. I have a custom dialog CustomSetupTypeDlg.wxs that changes the Typical/Custom/Complete to Desktop/Server/Suite. It sets WixUI_InstallMode to InstallDesktop, InstallServer and InstallSuite appropriately.
I need to have the user browse for an installation folder depending upon what feature is to be installed. If InstallDesktop or InstallSuite is selected the user has to select two different paths for DESKTOPINSTALLDIRECTORY and SERVERINSTALLDIRECTORY. However if the install mode is InstallServer only SERVERINSTALLDIRECTORY choice should be presented.
I am uncertain on how to go about doing this.
You want to have actions in your InstallExecute sequence that display the dialogs you need. Inside the tag you provide a conditional, which, when true, causes the action to actually happen. See this tutorial, specifically section 5.3 for a list of conditionals.
I decided to simplify the project by splitting the desktop and server features into two separate installers.