I hear you. I think a short reply to all of this would be that IMO some
people need to learn to tweak the message based on the audience.
BTW, Beer sounds good. I had eased off on the stuff but now that I have a
new neighbor I find myself drinking a lot more of it. Funny how putting a
former Marine and an active duty Sailor together has that effect..... I'm
almost afraid of what will come next.
[EMAIL PROTECTED] wrote: v\:* {behavior:url(#default#VML);} o\:*
{behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape
{behavior:url(#default#VML);} Hi Chris,
Oops
no I didnt mean to reply just to you. Bringing the list back in on the
conversation!
Im certainly not trying to imply that all custom actions are evil, but a
significant amount of time and effort have gone into the built-in Microsoft
custom actions, and the ones so far included in WiX to minimize the risk of
problems.
If youve been writing installations for 12+ years, then like me (around 16
years, mostly using WISE and InstallShield) youve probably hosed yourself at
least once. Youre also experienced enough to know when a custom action *is*
appropriate. Perhaps Im reading more into the messages that pop up here than I
should, but many seem to be from people who are just getting started with a
declarative installation experience and dont want to read the (admittedly
mind-numbing) documentation. They want (and sometimes need) to get something
out the door quickly and may not even care about possible problems the decision
will cause later for their users.
Yes, Microsoft Installer is disturbingly lacking in some areas especially
after being out in the wild as long as it has. Id be surprised if anyone
reading this list disagreed with that analysis! Sadly, we can only try to do
the best we can with what is available. I certainly agree that sometimes that
means coloring outside the lines.
A wrapper DLL certainly doesnt prevent someone from writing a proper CA
pattern. Im sure anyone with the appropriate experience would do everything in
their power to do so. The challenge is with those who may not understand why
they should do so.
I also was not intending to sound nanny like with my comment aimed at the
poster of the original question. I just know from personal experience that
sometimes people say things like I need to call method X because they havent
paid attention to the fact that the desired result is something which could
(and should) be accomplished natively. (An example would be where a co-worker
was convinced that he needed a custom action to write a specific value to a
file
but the application in question not only did not need that setting, it
actually changed it to a different value on first execution!)
I personally have never suggested iexpress as a bootstrapper (mostly because
I do not know the license status for it). I suspect that those who have may
believe that since it was deployed in the IE6 Administration Kit they can use
it freely. (They may even be right, or like you also have InstallShield
licenses!) Yes, IMHO if you are using it without any necessary license it is
indeed piracy and should not be condoned.
Even if we didnt agree on everything, Im sure wed get on fine over a beer
(or whatever your drink of choice is)! J
Regards,
Richard
---------------------------------
From: Christopher Painter [mailto:[EMAIL PROTECTED]
Sent: Monday, January 07, 2008 4:22 PM
To: Foster, Richard - PAL
Subject: RE: [WiX-users] Wrapper dll required?
Did you mean to reply to just me?
For your first argument, it doesn't automatically make it bad either. If
we apply your logic then ALL custom actions are evil. EXE's, Type 1 DLL's and
Script is all arbitrary code also. I'm sorry, but I've been writing installs
for 12+ years and I'm not going to drink that kool-aid because no matter how
many times people try to say it, MSI is not feature complete enough to stay
within the confines of declarative programming.
As for configuration changing CA's, I never mentioned this. But let's
assume that this is the case. If the wrapping DLL can map properties to
function arguments in/out then you could use this pattern to populate
CustomActionData. You could also retrieve CustomActionData in the wrapper and
pass it to a function. So I'm not seeing how using a wrapper to call a non
type-1 DLLFx is preventing you from writing a proper CA pattern. The worse
I see is you can't use the handle to pump messages back up the stack. It's a
little more complicated then it needs to be and probably has a couple more
moving parts that could fail.... but sometimes we are given third party API's
to interact with that we can't rewrite and we need to adapt with a thunking
layer.
As for the situation comment.... that presumes a nanny state where we need
to ask the requirements police how to write our installs. That's the sad
downside to declartive programming..... everyone just assumes that us wee
little setup developer automatically don't know what we are doing and that we
haven't thought it through. This is further reenforced by the `ca's show
you've failed` type dogma.
As for the pirate comment, I see people around here rip the iexpress
bootstrapper all the time. Is that not piracy? I wouldn't be pirating
because I happen to own InstallShield and I'm licensed to redist it.
Otherwise I'm sure you and I probably agree on just about everything. :-)
Regards,
Chris
[EMAIL PROTECTED] wrote:
Just because another installer supports execution of an arbitrary piece
of code doesnt make it a good idea.
I, for one, happen to agree with the WiX teams decision not to support
such an operation (at least in the current version) because of the significant
risks such support places on creating *maintainable* installation packages with
full support for rollback etc.
While there are some excellent reasons for custom actions, in many cases
the desire to use a custom action indicates a flaw in the installation or
application design.
For anyone in such a situation, If you can give at least some information
about the exact task being performed there is a much greater chance that youll
get a response which helps you safely accomplish your goal.
Regards,
Richard
P.S. As far as ripping and consuming a third party library without
knowing the licensing status of same
I for one will just forget you mentioned
it! There is a name for someone engaging in that type of activity, and that
name is pirate or thief.
---------------------------------
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christopher
Painter
Sent: Monday, January 07, 2008 3:42 PM
To: WiX Users
Subject: Re: [WiX-users] Wrapper dll required?
InstallShield has such support and it would be useful if WiX did also.
Basically there is a custom table that you can use to describe dll, exported
function name, arguments and return and map them to/from constants and
properties. The engine ( DLLWrap.dll ) is about 200k.
The dll is redistributed in many IS packages and could easily be ripped
and consumed if you weren't particularly worried about whether this is legal or
not. ( It wouldn't be the first time I saw third party bits repurposed around
here. )
---------------------------------
* C O N F I D E N T I A L I T Y N O T I C E *
-----------------------------------------------------------
The content of this e-mail is intended solely for the use of the individual or
entity to whom it is addressed. If you have received this communication in
error, be aware that forwarding it, copying it, or in any way disclosing its
content to any other person, is strictly prohibited. Quixote Traffic
Corporation is neither liable for the contents, nor for the proper, complete
and timely transmission of (the information contained in) this communication.
If you have received this communication in error, please notify the author by
replying to this e-mail immediately and delete the material from any computer.
---------------------------------
Looking for last minute shopping deals? Find them fast with Yahoo! Search.
---------------------------------
* C O N F I D E N T I A L I T Y N O T I C E *
-----------------------------------------------------------
The content of this e-mail is intended solely for the use of the individual or
entity to whom it is addressed. If you have received this communication in
error, be aware that forwarding it, copying it, or in any way disclosing its
content to any other person, is strictly prohibited. Quixote Traffic
Corporation is neither liable for the contents, nor for the proper, complete
and timely transmission of (the information contained in) this communication.
If you have received this communication in error, please notify the author by
replying to this e-mail immediately and delete the material from any computer.
---------------------------------
Never miss a thing. Make Yahoo your homepage.-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users