how to create custom UI for MSI in Wix? - wix

I want to enhance my UI dialog of MSI using Wix. Can you point out me the best tool which provides an option to create such UI? Also, is there possible to show animated GIF image in MSI wizard

You want to look into "Embedded UI" (also sometimes called "External UI"). But once you go down this path, you have to provide the entire UI, and nothing in InstallUISequence gets run (like Costing).
There is a sample Embedded UI in Wix that demos a WPF UI and a prgress bar that reacts to what is going on in the MSI installation.
A middle-ground option is to create some Custom Actions that display a UI. I do this to accomplish things like looking up a user in AD, search for SQL Servers on the network, browsing for databases in a SQL Server, and browsing for SSL Certificates. You can then trigger these custom actions through a push button.
As far as animated GIFs go - as far as I know they are not supported.

You could look at using burn
http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

Related

Wix Installer v3 - Embed Browser

I have been searching for this for days, and I can't seem to find anything that would solve this.
I have a requirement to show a web browser control in a Wix installer dialog that shows the application's Terms of Service web page.
We DON'T want to use the standard EULA page, which simply displays a compiled in RTF file, because the terms can change from time to time and we don't want to have to rebuild the installer each time just for that.
From what I can see, there are options for creating custom dialogs, but that seems like a lot of work for changing one thing. We really don't want to have to redesign the whole installer.
Does anyone know if this is possible?
No, it is not possible.
Windows installer can only show RTF or plain text, that is included in the package. It cannot show a web site, and you cannot define a custom page that would support a custom control, such as an embedded web browser because custom controls are not supported.
This is not less work but you can create a bundle in WiX and a custom BootstrapperApplication to implement whatever UI you want.

Windows Installer : SpawnAndWaitDialog not getting closed automatically?

I am using a C# custom action followed by a SpawnAndWait Dialog.
Something Like
PROPERTY WORK_DONE="False"
1.LaunchCustomAction (This does some work and sets WORK_DONE to True)
2.Show SpawnAndWait (Exit when WORK_DONE="True")
Problem,For SpawnAndWait Dialog to Appear, I need to mark my CustomAction as
asynchronous, that is to continue installation without waiting for the custom action to finish. But Whenever I do this, Properties are not getting updated and as a result SpawnAndWait Dialog doesn't get closed automatically.
If I don't mark my Condition as async, The dialog doesn't appear and it waits for the custom action to finish first.
My Requirement is to Show a small popup window that lets the user know that there is a background task going on, Please wait.
Please let me know what am I doing wrong.
I am using C# custom Action via Wix Toolset to build the custom action and AdvancedInstaller to build the installer.
I would highly recommend you (if you are willing to) to write your custom action as an unmanaged custom action written in native C++ and use the MsiSetProperty function to set your property. There are lots of Windows Installer incompatibilities and limitations in what regards its integration with managed custom actions.
If you still need to use a managed C# custom action please try to add your custom action as a custom action with sequence in Advanced Installer if this configuration is suitable for your scenario.

How to add custom action to the 'close' event after successful installation

I have two msis and packed them into a bootstrapper EXE installer. But I want to have the ability to launch the application after installation. I know there's a way to achieve this by adding a 'launch' button. Then there will be two buttons when the installation succeeded. But is there a way to add a custom action to the 'close' button or remove the 'close' button?
Thanks!
Wix Burn UI is not a powerful for now, as far I know, however you can do anything you want, it's just matter of time you're willing to put in. Burn UI does not play well with properties for now, you can't even create custom TextBox to fill up a property, but if time is not a problem:
1) You can download Wix source, and modify everything the way you want it to be, making it reusable.
2) You can create custom WiX Burn UI(I like WPF+MVVM), which shouldn't take too much time, and should be very interesting. There you can include anything your soul wants.
3) You can disable WIx BURN UI and use MSI internalUI,
this is good example; http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html
That will allow you to configfure everything, such as "Close" button having a custom action. + removing Close button by overriding custom dialogs(you can download them from wix, *.THM files)
No, neither of those is possible.

Is it possible in WIX to force user to scroll all Eula to proceed further?

We have a WIX Eula box , We need to make sure that user read all the EULA contents before he says accept ?
Is there any way to keep accept check box or button disabled until user scrolls it down completely?
Any help will be really appreciable.
This is not supported by Windows Installer, so it cannot be done in WiX.
It's supported only by some setup authoring tools which use an external installation UI. Their external UI can detect the scroll position and update buttons accordingly.
So for now it would be best to simply use the standard behavior.

Office2007 Setupstyle with WIX

any idea, how to make a setup which looks like Office2007-Setup? For example the blue buttons which become golden on hover etc.?
Greetings
This would take A LOT of work because Office 2007 isn't using native/internal MSI UI capabilities. It is instead implementing a custom external UI handler.
Beyond the Native Windows Installer User Interface