Click here to Skip to main content
15,888,454 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi guys,

I'm creating a C# Windows Installer (using a C# Setup Project) for an application that I'm deploying and I have a problem with the limited UI controls.

Throughout the install process, I am logging all the installer activity to an XML file, so in the final screens of the install process, I'd like to parse that XML programmatically (perhaps through a custom action) and bind it to a grid onto the dialog box (which is pretty much like a Windows Form) or parse the XML and display it in text format.

The closest I've come is to attach the "Read Me" dialog box which takes an ".RTF" body of text to display, which I should have no problem parsing my XML into an .RTF format, however, how I can I programmatically do that through a custom action so that I can display it on the Read Me dialog box?

The other option is to create a brand new dialog box to bind a grid or parsed XML to. I've been looking at this article (http://www.codeproject.com/KB/install/vsSetupCustomDialogs.aspx[^]) using the Orca tool however, it's mainly for textbox control or radio buttons.

Can someone help me with this issue please?

Thanks very much.
Posted

1 solution

Add an InstallerClass to your main project, then Custom Actions of your Setup file will call it. On the properties of the InstallerClass you can execute AfterInstall, BeforeInstall, etc. You can pop up a form here (though this is bad form and SEPERATE from your installation, i.e. very difficult to integrate into the installation). You can modify some of the install state variables but basically the Setup Projects that come with Visual Studio are somewhat limited. Some examples can be found here, you can just skip to the Installer Class portion and basically add the event you want and Form f = new Form(); f.Show(); or f.ShowDialog();
 
Share this answer
 
Comments
Dalek Dave 24-Nov-10 5:08am    
Good Answer.
ChristInBen 24-Nov-10 15:38pm    
Thanks, it worked. :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900