Pop message

Sam Nass's picture

Hi Guys,

What is the best way to add a pop up message advising users of different notices while deploying a MSI
Specially when the package requires a reboot and you want to give users a chance to reboot whenever they want without forcing them to reboot
by adding reallysuppress switch

Thanks

SN

EdT's picture

How are you deploying?

Sam, it depends on how you are deploying the apps - and I'm assuming you are deploying remotely via SMS or Altiris and not via a manual install, therefore with limited UI.

Assuming your deployment method can be set to "Interact with User", the simplest solution is to use a Type 38 custom action (run vbscript from embedded) to stick up a message box. Add 4096 to the display attributes to make it system modal, so that the user cannot lose it behind other windows.

Google on "msgbox" to get the full description of the fields

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Sam Nass's picture

Is this something I can

Is this something I can use?

SplashTextOn,,, A MsgBox is about to appear.
Sleep 3000
SplashTextOff
MsgBox Please reboot your machine for the changes to take effect!

EdT's picture

Probably not

I don't believe that the wscript.sleep command works in an embedded vbscript - or have I misunderstood your question?

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Sam Nass's picture

You are right it doesn't

You are right it doesn't

Sam Nass's picture

it's DOS hard coded which I

it's DOS hard coded which I just thought it will magically run a vbscript
I can save my VB script as VBS and then import it there and that should work right?

EdT's picture

Yes

Stick it at the end of your "Immediate" InstallExecute sequence and mark it asynchronous so that the MSI install does not wait for the vbscript to exit.
As the vbscript is basically a single line, you can just paste or type the line into the "call vbscript from embedded code" custom action in the msi script tab.

Try something like:

msgbox "Please reboot your machine to complete the installation of X",4160,"Application X Install"

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Sam Nass's picture

Thanks! what is the 4160 for?

Thanks! what is the 4160 for?

Sam Nass's picture

Sorry--I quite did not get

Sorry--I quite did not get you
I have added the script by using "callVBscript from embedded" now you have also talked about the InstallExecuteSequence table
Do I need to add a new row there?

EdT's picture

How about doing some research?

Sam,
If you google on msgbox as I suggested, or get hold of the wscript help file script56.chm (or whatever the current version is), then the answer to your question about what 4160 means, would be right there for you to read!!
Basically its a summation of 4096 = system modal and 64 = Informative message box (there are several options here including a question mark).

As for your second question, adding a custom action does nothing by itself. You also need to tell windows installer to run the custom action and also when to run it.
If you are adding it via the msiscript tab then you add it to the immediate sequence near the bottom (end) of the sequence. This translates to an addition to the InstallExecute table if you are looking in setup editor, where the InstallExecute sequence table will thereafter have an entry in it which is your custom action, with a sequence number in the sequence column that indicates when it should be run.

Hope that clarifies the solution!

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Sam Nass's picture

This GREAT help!! Thanks!

This GREAT help!! Thanks!