[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


MSI: handling custom dialogs in Visual studio setup project

Posted on 2008-11-18
Medium Priority
Last Modified: 2013-11-26
I have a custom dialog (with 2 radio buttons) in Visual Studio setup project
(2005). Is there anyway I can turn on/off showing the custom dialog based on
a registry key?

Basically, if a particular version of software is running (i am detecting
using a registry key) the custom dialog should not be shown, otherwise it
should be shown.

Thanks for the help.
Question by:vizagboy
  • 2
  • 2
LVL 40

Accepted Solution

Vadim Rapp earned 2000 total points
ID: 22988826
This would be easy in more capable MSI-authoring tool, but in Visual studio setup project there's only one ugly way I can think of: put in custom action; the action would analyze registry key anddisplay its own dialog. That however would occur already during theactual installation, not at the initial user interface steps. Another, no less ugly way would be to put custom dialog and specify property "visible" for its controls as the property resulting from the system search for your registry key; so it would show up anyways, but empty. You could put up a text like "this page is intentionally left blank", lol.

Or you can patch resulting msi file with orca or other tool; figure out the place in the script where custom dialog is called, and put the condition such as "if property = ... then".

Third option would be probably to realize that your requirements far exceed capabitilies of VS environment, and get  more capable tool; or ask to help with your project someone already possessing that tool - rather than continue to struggle yourself with new limitation every week.

Author Comment

ID: 22989232
Vadim..i didnt understand the first option. Custom actions are executed during install phase and the user interfaces are shown before the installation begins. How does the user interface know the registry key value?
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22989814
That's what I said: user interface won't know. But if you can do whatever is the result of your custom dialog in the custom action (of which I have no idea), then it can ask and do it alltogether. For example, the following scenario is possible, and will work regardless of the phase.

search for competitors software by registry key
if found then
   show dialog and ask if the user wants to wipe it out for 10% discount on your product
   if yes, then wipe it out
end if


Author Closing Comment

ID: 31518009
Looks like there is no straightforward solution in VS for this. Thanks for the information Vadim.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Simulator games are perfect for generating sample realistic data streams, especially for learning data analysis. It is even useful for demoing offerings such as Azure stream analytics, PowerBI etc.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question