Warning: If you use the transparency key, your application will not be visible in Breeze or Goto Meeting presentations to name just two, most of the meeting companies other than LiveMeeting use transparency for other purposes and cause issues with transparent
Sure, updates are a good thing. But on hitting a brick wall that completely destroys usablility for an application, bootstrapping is it.
And I can't believe for a second that the Windows Installer team is out of the loop at any step of these teams running into this stuff. If they are, then there is a collosal problem in MS that needs to be fixed and people's heads need to roll over it. I know
for a fact that both the VS.net and SQL Server 2005 teams were bitching about this very thing regularily, and I don't think ANYONE missed Slammer which was a large part the responsibility of the Windows Installer team's mistakes with design in Windows Installer.
They would to have had their heads so far up their ... that they would have been tickling their tonsils.
This has been coming for almost 6 years now, they had lots of warning and have chosen to not do anything about it. That's unacceptable and inexcusable. 6 YEARS!!!!
We have been keeping a close eye on the thread here and I wanted to reply to some of the messages...
John Galt wrote:Please please please put this in and end the bootstrap crap.
The Windows Installer team completely understands the pain associated with bootstrappers, and we will be working hard in the future to address the situation. Unfortunately, we were not able to do this work in Windows Installer 4.0, but rest assured that we
will be looking at this very closely for our next release.
- Tyler Robinson - Program Manager, Windows Installer
Don't bother releasing a new version until you've fixed Bootstrappers. Update features are a pointless waste of time until you give us a seamless single install point. You're greatest problem is exemplified by trying to uninstall VS.net 2005 and SQL Server
2005. Do whatever it takes to fix this NOW as opposed to later and worry about the rest later. There are a ton of 3rd party systems (Wise for example) that give Windows Installer most of this functionality. However, there is absolutely NO WAY to get around
the bootstrap disaster. Yes it is a disaster and I'm not exagerating. Any application that needs a KB Article and a uninstall tool released by the dev guys that wrote it after the fact is a disaster waiting to happen. Windows Installer Team should be absolutely
asshamed that they have created this mess. And be doing whatever it takes to undo this and posting a huge appology to both 3rd party people forced to use Windows Installer and to the dev teams in MS that have to release crapware that can damage an OS installation
of not uninstalled with careful instructions that are many pages long.
I only beg and plead, on my hands and knees, for a single new feature in MSI:
Do whatever it takes to add the functionality into MSI to let me install MSDE/SQL Express as part of my own MSI installer. And also let it uninstall my custom instance when my app is removed.
If the functionality already exists in MSI, go to the SQL team's building and give them evil stares until they fix it.
I can't stress enough what a nightmare it is trying to bootstrap these things onto the front end. Bootstrappers don't deploy over IntelliMirror/SMS!
ShadowChaser: See my post. This is what MS has to do to fix this bootstrap uninstall nightmare that they have created. Instead they seem fixated on boostrappers as a way to solve the problem instead of fixing the originating problem that caused bootstrappers
to be necessary in the first place.
Fix the real problem, don't bandaid it please!!!!!!!!!
When is the MSI team going to fix the DLL Hell Part 2 that they've created?
I mean take a look at uninstalling VS.NET 2005 and SQL Server 2005 and you'll know what I mean. (and there is actually a tool to uninstall the betas etc because it's so damn hard to do it right!!!!)
Please please please for V4 of the Windows Installer engine provide us with the ability to sign Merge Modules and patch them separately from the application.
By doing this you achieve the following:
1. A Microsoft signed merge module could then write to the system directories thus updating/installing system components. (Add this functionliaty for a special exception to the rule please!) 2. Patching the modules gets rid of the reason why the MSDE merge modules were pulled. By allowing patching of merge modules (registered on the machine separately) all merge modules and system components can be updated independant of the application thus allowing
MS to update the system components that were installed via merge module without relying on 3rd parties to patch their applications.
End result, by doing these two small things and implimenting an exception to the "no install to system dir" rule (and also allowing by pass of System File Protection for signed merge modules from MS) we get rid of the need for all bootstrapping and can again
provide our end users with a seamless install experience and only install those things that are actually needed to be installed by our application based on the choices of our end users instead of having to install every system component even if it isn't needed
for the choices of the user (i.e. SQL Express Edition etc.)
Please please please put this in and end the bootstrap crap. A boot strap should only be needed (and included in the dev kit) to download and install (or grab off of the CD) the Windows Installer V4.0 setup and then run the installation. There is NEVER an excuse
for anything else to be installed before the application installer runs. It should all be done transparently for the user. There is no reason why the end user should ever know that SQL Server Express is also being installed on the computer. And the end user
shouldn't ever have to know to uninstall SQL Server Express separately from the application to get rid of your application on uninstall (i.e. VS.net 2005, SQL Server 2005 mess in Add/Remove Programs)
I can't say enough about how important this is to fix. It is the most important thing of ANY bug (yes it's a bug) that MS has in any of its products that need to be fixed. You're creating an installation experience that results in users being confused and the
uninstall experience is even worse (you shouldn't need a knowledge base article to be able to correctly uninstall an application, and if you dont' follow it you can end up with a non-functioning installation of the OS, both of which can happen uninstalling
VS.net 2005 and SQL Server 2005 by hand now)