Are MSIs actually better than EXEs?
I've been packaging with Wise and SMS installer for the last several years and for the life of me I can't figure out what adavantage an MSI has over and EXE. Can someone tell me why MSI installations are better than scripting? (Please,don't say self healing. In my environment of 16k users, 500+ apps, it has caused far more headaches than not. )
PS I'm not trying to start a fight here I honestly want to know, what you all think.
PS I'm not trying to start a fight here I honestly want to know, what you all think.
0 Comments
[ + ] Show comments
Answers (15)
Please log in to answer
Posted by:
cdupuis
20 years ago
Posted by:
oofemioo
20 years ago
Most important is Self Healing. Also Transactional RollBack if install fails....However this can be disabled if you really dont like it....which will bring us back to day of explicity scripting RollBacks into SMS Installer Scripts.
Stuffs such as Advertisement are very good features which aren't available in EXEs.
Stuffs such as Advertisement are very good features which aren't available in EXEs.
Posted by:
MSIMaker
20 years ago
Posted by:
Garrett
20 years ago
Posted by:
kkaminsk
20 years ago
The MSI vs. EXE argument can get just as messy as which OS is more secure argument. I find most sites I visit are having an incredibly hard time adopting MSI technology. The one client I used to work with looked at the technology for two years and kept evaluating tools but even two years later they still will not attempt the pure MSI packaging environment. The early tools were horrible and today's tools still have issues that require a knowledgeable technician to sort out when things go wrong.
I've worked with companies that have gone full MSI and I can say only a few brave ones have tried this in the past two years where they wanted no legacy installers. For some it was not too painful and others it resulted in their operating system rollout schedules being significantly delayed and budgets going through the roof as resources were brought in to fix the timelines. The one thing I noticed is that you absolutely need a senior resource on site if you are going to embrace this technology. Long gone are the days of taking some level 1 desktop technician and teaching him how to do setup captures. You can get away with that until something weird happens then the guy is dead in the water for days trying to get things sorted out.
Now that I have said so much bad there are good things to be had with the technology such as self-healing, binary version management and advertising. Advertising was a very nice addition because now you don't need to buy a software deployment infrastructure as you can just use group policy to push software. I know I am assuming everyone has Active Directory but really it's pretty hard to find any significantly sized site not running it for some reason.
I think self healing can bring in savings but the real world figures are going to be difficult to gather because there are some MSIs that have issues that will self heal because of bad design and then there are the times that self healing actually fixes something. Still most users are restricted from verifying or reinstalling the application so I have some reservations as to how much self healing actually fixes as it is dependant on key paths failing. Still you do get a lack of DLL regression but still sometimes things just are not forward compatible.
Before I rant into oblivion I would say that EXE installers have a lower development cost. The big issue is which one gives you better TCO when the application goes through its lifecycle. I've heard many project managers cast their doubts over the TCO benefits of MSI technology once seeing the huge budgets required to get applications packaged into the new format (mainly man hours). I think once the industry comes more up to speed with MSI the costs of packaging MSIs will not be as bad but still I see the development costs with EXE installers still being lower for the next couple of years until the development tools become more foolproof.
I don't mean to say don't use MSI because it is a far from perfect technology. It will continue mature and the industry will adopt it more as time goes on. All you do is wait for the next update of Windows Installer or the latest rev of your development tool(s) and see some of your problems go away. Still there is at least one company that has a completely radical approach by saying "Why install when you can virtualize the application?". As Softgrid hits the market there might be some significant shifting away from traditional application deployment as we know it.
I've worked with companies that have gone full MSI and I can say only a few brave ones have tried this in the past two years where they wanted no legacy installers. For some it was not too painful and others it resulted in their operating system rollout schedules being significantly delayed and budgets going through the roof as resources were brought in to fix the timelines. The one thing I noticed is that you absolutely need a senior resource on site if you are going to embrace this technology. Long gone are the days of taking some level 1 desktop technician and teaching him how to do setup captures. You can get away with that until something weird happens then the guy is dead in the water for days trying to get things sorted out.
Now that I have said so much bad there are good things to be had with the technology such as self-healing, binary version management and advertising. Advertising was a very nice addition because now you don't need to buy a software deployment infrastructure as you can just use group policy to push software. I know I am assuming everyone has Active Directory but really it's pretty hard to find any significantly sized site not running it for some reason.
I think self healing can bring in savings but the real world figures are going to be difficult to gather because there are some MSIs that have issues that will self heal because of bad design and then there are the times that self healing actually fixes something. Still most users are restricted from verifying or reinstalling the application so I have some reservations as to how much self healing actually fixes as it is dependant on key paths failing. Still you do get a lack of DLL regression but still sometimes things just are not forward compatible.
Before I rant into oblivion I would say that EXE installers have a lower development cost. The big issue is which one gives you better TCO when the application goes through its lifecycle. I've heard many project managers cast their doubts over the TCO benefits of MSI technology once seeing the huge budgets required to get applications packaged into the new format (mainly man hours). I think once the industry comes more up to speed with MSI the costs of packaging MSIs will not be as bad but still I see the development costs with EXE installers still being lower for the next couple of years until the development tools become more foolproof.
I don't mean to say don't use MSI because it is a far from perfect technology. It will continue mature and the industry will adopt it more as time goes on. All you do is wait for the next update of Windows Installer or the latest rev of your development tool(s) and see some of your problems go away. Still there is at least one company that has a completely radical approach by saying "Why install when you can virtualize the application?". As Softgrid hits the market there might be some significant shifting away from traditional application deployment as we know it.
Posted by:
oofemioo
20 years ago
Posted by:
kkaminsk
20 years ago
It's not terminal services based. It can be used in a terminal services farm so that your citrix servers are not application specific and so it can simplify the farm management. The code still runs on the client but it is virtualized from installing on the client so you could run Oracle 7-9 on the same desktop. Now I am not sure if it's the holly grail of application integration as I am not completely familiar with the limitations of the product. My limited experience with it definately raises my eyebrow but time will tell if the industry embraces this as an alternative to conventional application management.
Posted by:
VikingLoki
20 years ago
Avoiding all the technical details, the Executive Summary of the EXE vs. MSI debate is:
MSI has tremendous benefits over EXE which are realized through economy of scale. If you have 10 workstations, don't even bother thinking about MSI. If you have 10,000 workstations, definitely look into MSI. It requires a sizable development cost, but once done the lifetime support cost will be reduced by 75%. The larger your environment, the larger your ROI will be. I'd guess the break-even point is 800 workstations. Less than that, EXE setups tend to be better. More than that, MSI will be of benefit. Much more than that, MSI is a no brainer.
MSI has tremendous benefits over EXE which are realized through economy of scale. If you have 10 workstations, don't even bother thinking about MSI. If you have 10,000 workstations, definitely look into MSI. It requires a sizable development cost, but once done the lifetime support cost will be reduced by 75%. The larger your environment, the larger your ROI will be. I'd guess the break-even point is 800 workstations. Less than that, EXE setups tend to be better. More than that, MSI will be of benefit. Much more than that, MSI is a no brainer.
Posted by:
oofemioo
20 years ago
Posted by:
MSIMaker
20 years ago
We have 30,000 workstations to deploy to where I work and on that scale msi is a better option for us because we don't patch apps. If an app requires a patch or upgrade or a new version then it is removed via AD and a new msi is deployed which includes the modification.
We work to a stateless workstation model which includes the requirement of removing apps as if they had never been installed in the first place. We also using self repairing to include HKCU keys that set user settings based on requirements so that users can not change them. With 30,000 users its more a case of control over the environment than anything else.
Our workstations are treated like phones and desks......they are supplied as part of the tools needed by employees to do the job. They are not toys and are not allowed to be treated as such. This brings the responsibility back to the employer to ensure that they work correctly all the time. Just like your deskphone. This is where a real saving in TCO can occur if the technology is used correctly.
We work to a stateless workstation model which includes the requirement of removing apps as if they had never been installed in the first place. We also using self repairing to include HKCU keys that set user settings based on requirements so that users can not change them. With 30,000 users its more a case of control over the environment than anything else.
Our workstations are treated like phones and desks......they are supplied as part of the tools needed by employees to do the job. They are not toys and are not allowed to be treated as such. This brings the responsibility back to the employer to ensure that they work correctly all the time. Just like your deskphone. This is where a real saving in TCO can occur if the technology is used correctly.
Posted by:
bobfrytz
20 years ago
For patching keep an eye on WUS
( http://www.microsoft.com/windowsserversystem/wus/default.mspx ).
This may be interesting and useful for orgs that are using the AD deployment method and want to use patching (MSP) after initial installation, rather than replacement of the entire application MSI.
I agree with the consus here that MSI is the way to go for larger orgs, (although I think it is worhtwile for 250 Plus user environments).
With the tools available now (Wise Package Studio and InstallShield Admin studio) it's a lot easier to get up to speed witth the MSI packaging process.
( http://www.microsoft.com/windowsserversystem/wus/default.mspx ).
This may be interesting and useful for orgs that are using the AD deployment method and want to use patching (MSP) after initial installation, rather than replacement of the entire application MSI.
I agree with the consus here that MSI is the way to go for larger orgs, (although I think it is worhtwile for 250 Plus user environments).
With the tools available now (Wise Package Studio and InstallShield Admin studio) it's a lot easier to get up to speed witth the MSI packaging process.
Posted by:
aogilmor
20 years ago
Great post, I think it summarizes the advantages of MSI's pretty well.
Having said that I've seen apps that simply cannot be repackaged (at least at my skill level, and I've done a lot of packaging). One in particular I worked on recently was a legacy paradox app which, when run, dynamically creates and deletes files in the root directory. It simply had to be run somehow with legacy setup program. When all's said and done it's the business and application users who rule - they don't give a darn if it's MSI or not, and if the app doesn't have an MSI or can't be repackaged for whatever reason - you're stuck with some really weird workarounds for these apps.
Although we didn't attempt wise script (EXE) with this, it may be worth attempting, as it's better than hacking the legacy setup and running it through AutoIT (ugh!)
Having said that I've seen apps that simply cannot be repackaged (at least at my skill level, and I've done a lot of packaging). One in particular I worked on recently was a legacy paradox app which, when run, dynamically creates and deletes files in the root directory. It simply had to be run somehow with legacy setup program. When all's said and done it's the business and application users who rule - they don't give a darn if it's MSI or not, and if the app doesn't have an MSI or can't be repackaged for whatever reason - you're stuck with some really weird workarounds for these apps.
Although we didn't attempt wise script (EXE) with this, it may be worth attempting, as it's better than hacking the legacy setup and running it through AutoIT (ugh!)
Posted by:
kkaminsk
20 years ago
Yeah sometimes it comes down to scriptit pushing buttons just to get the thing installed unless you got months to sit down and reverse engineer everything it is doing. If you want to do straight up legacy setup captures my tools of choice are Wise 9 (not free) and SMS Installer (free if you own SMS). Still they will not do everything. I use four different capture tools to do my job at packaging and even then its a hellish journey.
Posted by:
Toupeiro
20 years ago
Definately depends on which angle you are looking at it from. If you are supporting more than 20 Workstations, the functionality you get in Self healing, and customization of the entire install, as well as giving yourself a gateway for upgrades where such an option may not have existed in the installation format makes MSI far superior to vendor packaged exe's. It also allows development toward an installation standard for the Windows operating system by giving you the ability to run logo compliance QA against your installation. While it can definately be tedious, the overall outcome of something like that lessens the chances of running into flaky installs.
If only Linux RPM's were as functional as MSI's..
If only Linux RPM's were as functional as MSI's..
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.