WIX Feature Tree with Checkbox selection - wix

I am in need to add a Features tree with checkbox selection to my msi. Can any one point me to some sample as how to achieve this please?
I already have one Feature element (ProductMain) that installs all the mandatory components. I have tried using the built-in CustomizeDlg and FeaturesDlg but not sure how to change the Selection tree to use Checkboxes
I am using WIXUI_Common set of dialogs.
I would appreciate any suggestion/guidance in this regard.
Sincere thanks!

You're limited to the UI supported by Windows Installer (which is quite limited). I don't think you can customize the SelectionTree control to display checkboxes. Alternatively, you can emulate the desired behavior by placing a number of checkboxes on a dialog and implement a certain logic to set feature levels.

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

Auto select License Agreement checkbox (or hide it)

I made an installer using wix burn.
I used the standard bootstrapper with Hyperlink license theme.
I don't want to display the EULA checkbox on upgrades. Once accepted one time, I don't want to show it again, or at least auto select it.
To achieve that, I customized the bafunctions.dll and wrote some code in OnDetect(). After a given condition is match, I set the variable EulaAcceptCheckbox = 1. I know that this is the variable name corresponding to the EULA checkbox because I inspected the log of the installer before making this changes.
After making all the modifications, I know my logic is working because I see the following lines in the log:
[1510:1410][2015-11-17T19:01:04]i000: Running detect complete BA function
[1510:1410][2015-11-17T19:01:04]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 1
But the checkbox is not displayed as checked. I tried to set 'EulaAcceptCheckbox' in OnDetect() and also in OnDetectComplete(): no luck.
I also tried to set LicenseUrl="" and WixStdbaLicenseUrl="" but that does not work either.
I have already used bafunctions.dll to do some checkbox customization in another installer. It seems not to work with the EULA checkbox only. What's wrong with my approach?
There seems to be no solution for this.

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.

How to add a button to the main toolbar in Eclipse programmatically

I've a question. I cannot find the way, how to add buttons to main toolbar programmatically. My problem is, that I've the task to dynamically (based on XML configuration file) build menus and toolbar. I found how to add a menu item programmatically, but not toolbar button.
Tutorials mostly show how to create buttons and menus using plugin descriptor (plugin.xml), but not how to do it programatically. It seems, that it is out of bounds of Eclipse plugin philosophy.
I've just found this:
There might be layout problems with this approach. I also don't
believe the framework will try and re-create your dynamic item except
at random toolbarmanager updates. With Menus they can be updated on an
SWT.Show event, which is why CompoundContributionItem only applies to
Menus.
What shall I do? Can I say Sorry, there is no way to build toolbar dynamically. I can do it just for menus? Collegue says, that it must be possible, but he does neither know how.
The only way to be able to create main toolbar entries programmatically is in an RCP app, where you supply the ActionBarAdvisor for the workbench window. This isn't dynamic, however, just called on window creation.
Another way to do it would be to use org.eclipse.ui.menus and contribute org.eclipse.ui.menus.ExtensionContributionFactory. It also works only on workbench window creation (not really dynamic), but you could read your own XML and provide IContributionItems for the main menu or toolbar.
How dynamic are you trying to be? Most solutions work well on startup/window creation.
PW
Whenever you try to do something programmatically in Eclipse that is normally done through plugin definitions you are walking on thin ice. I've tried it on a few occasions and it rarely ended up being easy or good.
Instead, think of what it is that you only know at runtime and need to be able to change on the fly. Is it the name or icon of the button? That can be changed at runtime.
Take a look at runtime commands, they can be confusing to define properly, but with them you can for example create buttons that are only visible if a condition is active. That condition could be set at runtime.

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.