Silent bootstrapper

Developer
Dec 21, 2010 at 3:55 PM

I have just started using DNI and can't seem to make it behave like a bootstrapper! Or more precisely what I think bootstrapper should do. What I would like to do is run a DNI setup.exe that will check for .Net 4.0 and some other things, install them if required and then lanuch my MSI. If .Net 4.0 and the other items are already installed then it should just launch the MSI without any dialogs. Following a discussion here I added my msi to "complete_command" (e.g. msiexec /i "mysetup.msi") I set auto_close_if_installed=true but if my pre-reqs are already installed I still get the "installation_completed" message before it launches the MSI.

Am I doing this the correct way? Is there any way to silently launch my MSI if all the pre-reqs are installed?

Thanks, Neil

Developer
Dec 21, 2010 at 11:02 PM

Hi Neil,

It is recommend not to put the main product's setup installer in complete_command, but add it as the last component instead.

Hope that helps! :)

Developer
Dec 22, 2010 at 9:06 AM

But then I either have two vastly different UIs or no UI at all, neither really work for my application.

Coordinator
Dec 22, 2010 at 12:24 PM

So is the problem just the message? Leave the installation completed mesage blank and it won't show.

I believe that making your MSI an actual component is better because DNI controls the component execution (unlike a complete command). You could try 2.0 where you can draw HTML UI, maybe that looks more acceptable.

Developer
Dec 22, 2010 at 1:30 PM

I tried setting the complete message to an empty string and it still displayed a message - I thought there must have been a default but I will try again.

I am using 2.0 but I am not sure that gives a rich enough UI, I need multiple path entries and a "run checkbox" etc. The paths must be validated and in once case must not be a compressed drive so I need a custom action to test it. I would also like to display a license agreement. I can do all this with the MSI UI but can't see how it could be done with DNI.

Developer
Dec 22, 2010 at 5:56 PM

Not sure what I did wrong last time but clearing installation_completed and installation_none seemed to do the trick.

Developer
Dec 24, 2010 at 12:10 PM

Setting installation_completed and installation_none almost works but you still get a blank progress dialog popup for a few seconds. Is there any way to stop that?

Coordinator
Dec 24, 2010 at 6:14 PM

There're two options: show_progress_dialog and show_cab_dialog, setting both to false should do what you want.