Well I dropped by to ask for help (I wonder if I will get it now :-)) but
first I have to chime in and agree with Chris and Mark. I dislike that what
I am about to post is basically a rant, but I think there are a lot more
people on their side than others seem to think, so I want to show my
support.
Rob, it's worse than assembly... I can handle assembly, it's just low level,
there is still logic and order to it (well, less so with Intel.. but
still). Many of the statements in this thread defending WiX demonstrates
to me how out of touch some people (the development team?) are with the
needs of the users. Of course the fact that MSI sucks beyond belief isn't
the fault of WiX. That WiX does so little to remedy the situation is
something that can be addressed though. If it wasn't a "design goal" one
wonders why? Your #3 - "being very cautious" is valid of course... but
there is a very strong need to "automagically fix things" because what
you've got with MSI is a REALLY big mess.
I still laugh that short filenames are required in what is labelled as
version 2... that is so far off the mark. I've even seen comments relating
to V3 (where short filenames were addressed) that go something like
"apparently some developers found that useful" maybe I missed the sarcasm,
but it seemed as if the WiX development team didn't get how brain dead the
short filenames were in the first place? Keeping short filenames around at
all has got to be one of Microsoft's biggest blunders, the fact that MSI
only runs on systems that support long filenames adds to the pain. I still
to this day am dumbfounded that anyone uses WiX V2, they are masochists I
guess.
(comments below are referring to other messages, not Rob's that I have
quoted at the bottom)
>> 2. learn how to write custom dialogs and use them liberally
>Use custom dialogs only when needed; most projects don't need them.
So very wrong. They are needed.. in my experience, almost always. In the
cases where you don't need them, you usually don't even need an installer at
all - though I think all software on Windows should require an installer
that is properly integrated into the Add/Remove programs database before the
system will even run it. It would probably plug a few user vulnerabilities
in a much friendlier way than the Vista disaster, It's just not practical
because of the difficulty in making a proper installer - a fault of MSI.
>"My critisism does not come from the frustration of being stuck. It does
come from realization, once it was solved, how complicated even the simplest
task was!"
Full agreement here. We have a team of very bright developers.. and all of
them stare in disbelief at what needs to be done for the installer. When I
have to seriously struggle with the decision to write an installer framework
from scratch or suffer though the poorly thought out crap that is available
already - something is wrong. I choose to suffer through MSI because it
appears to be "the right way to install software on Windows" - why else is
it "built-in"?
We moved to WiX because the other products like Install Shield/Install
Anywhere were too narrow and only worked well for the most trivial installs
- and they were severely overpriced for that. Hearing that internal
projects at Microsoft were using WiX gave us some confidence in it.
I do need to re-state that I realize most of the pain points with WiX are
because of the complete rubbish that WiX has to work with - MSI. MSI is so
filled with seemingly arbitrary restrictions and odd-ball requirements.
Simple things like getting icons to work properly for example are needlessly
encumbered with nonsensical requirements. That's a perfect example of
something WiX could "fix" but doesn't. Another example is the simple task
of getting the "back" button to work in a UI if you need a few custom
dialogs (with some of them conditionally shown). That the end user EVER has
to code the logic for the back button is ridiculous. I realize that the way
MSI does UIs is much lower level, that having a back button at all isn't a
requirement of MSI... but be practical - handling the common case of having
the back button is a good thing and doesn't need to interfere with anyone
that chooses to slap some odd-ball UI on their installer.
I think the WiX development team underestimates the number of professional,
top-end developers that are stunned with how crappy doing an installer for
Windows is. I've never met a single developer that isn't flabbergasted at
the hoops you need to jump through to do the simplest things.
>"I believe you should write the install then the code - if you can't
install it, don't code it."
That's simply not the way it works, and that isn't going to change. I get
where you are coming from though... the general installation layout of the
product does need to be understood sooner rather than later. The reason
that the installer isn't "done first" or in parallel with other development
is simple - everyone hates it. Getting anyone to do it is like pulling
teeth. Nobody on the team wants to be the "installer guy", for good reason.
(There is also the fact that it is intuitively backwards to write an
installer for something that doesn't exist yet.)
Regards,
Scott
On Mon, May 12, 2008 at 10:01 PM, Rob Mensching <[EMAIL PROTECTED]>
wrote:
> 1. Yes, WiX is a relatively thin layer above MSI. Some people liken it
> to assembly but I still think C/C++ is more appropriate. The only thing
> that makes C++ reasonable is a wide range of libraries to help do some heavy
> lifting (like file IO (libc, kernel32) or drawing pixels on the screen
> (gdi32)). We're still building up those layers.
>
> 2. I basically agree with all of the issues raised below. I don't see
> anything new in that list of pain points with the Windows Installer.
>
> 3. However, the real question is how would you fix them in a way that
> always works? So far we have been very cautious about "automagically fixing
> things" since there are a lot of different valid ways to solve the same
> problem.
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users