Link to home
Start Free TrialLog in
Avatar of syscomdev
syscomdev

asked on

Custom Deployment Dialog Boxes (VB.NET - MSI)

I am attempting to create a standard install package, however, I want the 'finish' screen to be customized, i.e. I want a dialog which specifies text in a specific font and location in the dialog box.

Is there a way to inherit, lets say, the finished dialog box and modify it? I see the WID files under the C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Deployment\VsdDialogs directory.

Is there a way to create these or am I stuck with the pre-defined ones and have to find a way to use them?

Thank you in advance.
Avatar of abhatnagar
abhatnagar

Yes, you can auther your own billboard and insert it in place of the FinishDialog. Just make sure all the controls and stuff in the UI sequence are setup correctly.

One word of caution from my experience, the MSI engine is are has shut down at this point. So MSI properties and such are/may be unavailable.
Avatar of syscomdev

ASKER

And how would you create your own bilboard?

The add dialog does not provide the ability to add a dialog box created within the application or load a dialog box from a directory.

Thank you
Oh you want to add it to your application and launch your app after the install has finished instead of showing the Finish dialog from the MSI? Is this correct.

If so, then you can do this but error handling will be rough.

1. Simply modify the finish dialog to not be visible based on a successful install or reboot/success. You can set a property right before this through a CA (custom action)

2. If this works out, then modify all the clean-up tasks upon clicking Finish to happen automatically.

3. Setup a DoEvent (Asynchronous) to occur before these clean-up actions. Now in this DoEvent launch your application with a command line switch. Based on this switch show whatever dialog you want from your application.

4. Handle error situations when uninstalling, upgrading, install fails.
Oh another point of interest, if the UI sequence is skipped through a command line option like /qn then you may have to dup your CA for the DoEvent to the Execute Sequence and conditionalize appropriately.

Also, consider setting up the CA in the UI sequence before the Finish dialog and then let the Finish Dialog actions occur automatically while hiding this dialog.
I am sorry if I lead you down the wrong path.

No, when you  said add my own billboard, I was thinking that I was supposed to create a dialog box within the application and add it in place of the finish option.

I do >not< want to launch the application. I >do< want to create a custom billboard. That's the problem I am having.

Thanks for the information on how to do the launching though, its good to have.
I use InstallShield, so its pretty easy with it. With VB .NET you can probably simply copy the Finish billboard just like in InstallShield of course it'll be renamed to something else. Now take this copy and change it how you want.

After that you need to point your install to this new billboard instead of the Finish billboard. So simply find the identifier for the Finish billboard and replace it with your new one. Don't forget to perform the MSI clean-up items.
ok.

We do not use install shield to package our items, but the installer which comes with the VS package. They do not use standard files. What I was trying to get to was how to create the 'billboards' and then use them within the package.
Ok I did some playing around. In Visual Studio right click your Install project...

Go View >> User Interface

Now right click End under Install...

Click Add Dialog and then you should have a slew of options from there.
I understand that....however none of those dialogs do what I need it to do. I am looking for a way to create a dialog that would show up in that 'add dialog' option.l
nope this points to how to access the user interface window (which is what you showed previously under your view >> user interface) not how to create your own windows.
ASKER CERTIFIED SOLUTION
Avatar of abhatnagar
abhatnagar

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial