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

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.

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.

Wix / WixSharp installer. Track user cancel installation event

I'm developing the installer using WixSharp. I want to track (catch, subscribe etc) the event when user clicks the cancel button (cancel / abort installation).
I want to track during the stage user inputs the data and during the installation files process as well. It's better no changing the standard UI dialogs but using custom action or something. But if changing UI is the only way it's OK.
The project UI type is WixUI_InstallDir.
Thanks for attention.
You can't track this button click if you use this project type. But you can customize this project type if you adds this dialogs forms in your project
WixSharp Managed Setup - Cusom UI
Just add dialogs from this project and cancel handler (i think you know how to do it in winforms). Don't forget to check Project.cs, there are dialogs sequence and ManagedUI parameter set.

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.

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.

how to create custom UI for MSI in 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