Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET app MSI installer multiple instances

I want to be able to produce a single MSI from VS08 which can be used to install e.g. demo, staging and production versions of the same app on the same website in the same IIS. In other words, the user needs to be in control of how many instances they want - I'm not in a position to pre-generate them by varying the product code (though in reality there is going to be a realistic upper limit of 10). <EDIT>The transforms route requires similar a priori knowledge AFAICT (bott suggested this route and while it would work, it would not make for a great customer experience)</EDIT>.

Other instances of my question exist, without answers at:

  • a comment on Scott Hanselman's blog
  • http://forums.asp.net/p/565248/565248.aspx

The ideal answer would be OOTB with VS08 but I wouldnt be surprised if this is yet another dead end with this. (BTW the best info on MSI ASP.NET installers I've seen is this scottgu post).

MSDEPLOY seems up my alley, so I was looking at something wrapping it, only I want to be able to support non-server OSes like XP and Vista.

I see signs of an upcoming InstallShield product that seems to do just that, which based on pain from 10 years ago I'd be keen to avoid, but am not completely averse to switching to something less painful. One side benefit would be that my [TeamCity] CI server wouldnt need to be polluted with a copy of VS for no good reason (and no, I definitely wont be needing to keep it there to run MSTESTs either :D).

like image 636
Ruben Bartelink Avatar asked Feb 11 '09 16:02

Ruben Bartelink


1 Answers

Have you read this ? Installing Multiple Instances of Products and Patches

my advice is to use wix. you can use your current msi and decompile it with "dark". dark creates all xml files you need from your msi. then you can make the changes with wix and after that you can integrate the steps into your msbuild process.

like image 180
coding Bott Avatar answered Oct 04 '22 02:10

coding Bott