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 didn’t mean to reply just to you. Bringing the list back in on the 
conversation!
   
  I’m 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 you’ve been writing installations for 12+ years, then like me (around 16 
years, mostly using WISE and InstallShield) you’ve probably hosed yourself at 
least once. You’re also experienced enough to know when a custom action *is* 
appropriate. Perhaps I’m 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 don’t 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. I’d 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 doesn’t prevent someone from writing a proper CA 
pattern. I’m 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 haven’t 
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 didn’t agree on everything, I’m sure we’d 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 doesn’t make it a good idea.

     

    I, for one, happen to agree with the WiX team’s 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 you’ll 
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

Reply via email to