Click here to Skip to main content
15,938,446 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
There is there is this set of windows application that I developed and need to develop an installer for them such that users can select whether they wish to install one or more of the application just as it is done in Microsoft Office. At first I wrote a custom action dll to add to the project as a custom action, unfortunately, the single dialogue box for making selections of project to install did not work, because I had no means of passing an INSTANCE to it(HINSTANCE is the first parameter of DialogBox function) so I decided to use an executable instead of a dll.I wrote a windows application instead. This executable worked. I simply call MsiInstallProduct function for every selection made by user. However, when I added the executable as a custom action to the setup project, the installer will proceed, run my executable but later report that the executable did not finish execution. Once I click Ok, the installer rolls back.

What could be the problem and what could be the likely solution. Is that my executable is returning the wrong value. I usually return ERROR_SUCCESS on success.

Or could it be that it is because I am attempting to do an installation while another installation is going on?

I don't know this Msi approach that uses XML and feature table.
If this problem defies solution,I am thinking of using the MSI/XML approach. Could anyone tell me where I can get a sample(or better still a customizable XML/MSI template code) MSI/XML code that I can adapt to suit my purpose.

What I wish to do is to give users a means of selectionone or more options of applications to install and then install the user selection. I probably will need a feature table.( I don't really know these TABLES stuff).

In the extreme case, I don't mind using another installer is easy to use and can give me this capability.

Enhzflep: removed words I need urgent help with from the title, in the interests of having more attention afforded the question
Updated 8-Oct-12 8:34am

1 solution

An installer is organized as features.
Each feature would be an application that you wish to install.
Each feature would contain several components.
A component may be a file or registry key.
Each component can have a key file that is automatically installed if removed or damaged.

So basically what you would do is create several components and then map the features to use one or more components.

Read more about it here -[^]
Share this answer

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