tags:

views:

73

answers:

2

Hi, I am trying to create a custom installer technology for some fun and generic utility...I have experimented with several tools including Orca, WiX, VS S&D projects, NSIS, Innosetup etc but all of them seem to suffer from one or more of the following deficiencies...

  1. Its too complex for simple needs or outright simplistic. There is no technology which covers middle ground.
  2. Does not support transacted setups.
  3. Forces you to learn a complex new programming language.

In the end I have decided to create my own installer technology to fulfill my needs...

  1. Declarative like WiX but no XML junk, will probably use boo instead.
  2. Transacted like MSI (in fact I am thinking of using MSI as the underlying technology)
  3. Outright simple and to the point but not too simple.

I would be grateful if you could answer some of the following questions keeping the above in mind.

Q1. Has this already been done? Can you point to some instances of such technology?
Q2. How do I detect program dependencies and find corresponding merge-modules like Visual studio does while creating setup and deployment projects?
Q3. How do I programmatically create an MSI package from .net (without using something like WiX)?

+1  A: 

Why are you re-inventing the wheel? The installers are good enough, I use NSIS as it covers my needs since the templates used are basically the same, just change a couple of macros that specifies the files to put together... I know and can understand why you have specific needs (we all have them!) but generally in the long run, setting up your own installer is...that is equivalent of setting up your own encryption algorithm, it may look good and secure to you but could be weak and easily broken. Maybe you haven't fully read the documentation enough, or understood some switches..

tommieb75
Oh, please don't get me started on the documentation...my head hurts already...the MSI documentation is nothing but rubbish. I am sorry but NSIS etc seem like poorly re-invented wheels themselves...why abandon std. platforms like .net, python, ruby etc and come up with some half assed DSL?
SDX2000
A: 

I think here is the answer to our prayers http://www.jsware.net/jsware/msicode.php5 :)...just going through it...will update my answer with my findings.

SDX2000