Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email found in subject

2011-01-14 Thread Shaun Hayward
Thanks, Chris!

Funny it should be you that replies. I'm looking at deploying a VSTO add-in and 
I've read the related articles on your blog. The custom action is to check for 
the presence of KB976477. I think I've FINALLY found a fool-proof (yeah, right) 
way to determine if it (or a newer patch that includes 976477) is present. 
(It's FOSS, so anyone who is interested can have the code)

So it sounds like C# is just fine. YAY! The DTF classes look REALLY sweet in 
comparison to what I'm dealing with in C++ - I just didn't know if I should 
feel free to use them at this point.

Should the add-in be targeting a specific version of the framework? My add-in 
requires .NET Framework 4, and .NET 4 does not necessarily seems to include 
full compatibility with .NET 2 (so saith the QAs where I work).

Good-bye, C++ Custom Action - hello, C# Custom Action.

Thanks again - you made my week.
- Shaun

PS: No flack on using InstallScript. Whatever works at the end of the day and 
makes your life easy, right?






-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Friday, January 14, 2011 6:32 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email found 
in subject


 VB/JScript is still a no go.  The managed blog was ( thankfully ) O.B.E. when 
WiX released managed custom action via DTF.

Personally, if I had the C++ chops, had enough reusable libraries and was 
typically shipping unmanaged apps then I probably would be an unmanaged 
purist for CA's.   WiX uses C++ in it's custom actions because customers might 
not need/want .NET and since the CA's are being used by a very wide audience 
it's good to spend the time and make them perfect.

But alas, I've got C# chops, the base class libraries are very powerful and I 
ship nearly all managed apps.  


For me, the choice is easy.  For the rare occasion that I don't want a 
dependency on .NET I either  a) role an InstallScript custom action or b)  
write 
it in DTF first and then borrow a resource from development to port it over to 
C++.

PS-  Don't anyone jump on my InstallScript comment unless you know what you are 
talking about. :-)   Prior is IS 12 I'd agree with you 100%.

Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me



- Original Message 
From: Shaun Hayward shayw...@omnivex.com
To: WiX-users@lists.sourceforge.net WiX-users@lists.sourceforge.net
Sent: Fri, January 14, 2011 12:39:11 PM
Subject: [WiX-users] Custom Actions - C++ vs C# vs VBScript

Hello, WiX Community

I've been playing around with WiX for about a year now and took over my 
company's installations (WiX-based) a few months ago. I'm really enjoying it.

I'm looking for some advice on the pros/cons of various ways of writing Custom 
Actions. I understand that an issue with the Custom Action can prevent your 
installer from working at all. And obviously if a piece of functionality 
already 
exists in WiX then one should not re-write it in a custom action.

I'm mainly a C# dev and doing some rudimentary VC++.

I found it very easy to do Custom Actions in VBScript but Rob Mensching posted 
an article (http://wix.sourceforge.net/manual-wix2/robmen_20040520.htm) that 
outlines why VBScript sucks for custom actions. Lack of debugging and 
conflict 
with Virus Scanners seem to be the biggies. I'm assuming these reasons still 
apply and VBScript (or Jscript) should be counted out.

Most of the Custom Action examples I've found have been C# (my preferred 
language) and even Nick Ramirez's excellent book on WiX only gives the C# 
examples. However, I came across another Rob Mensching article 
(http://robmensching.com/blog/posts/2007/4/19/Managed-Code-CustomActions-no-support-on-the-way-and-heres)
 from 2007 that outlines why Managed Custom Actions wouldn't work. Are these 
issues still a consideration?

Of course, VC++ has very few dependencies and probably has the most 
compatibility. Theoretically, you should be able to static link against the 
VC++ 
Runtime and have no external dependencies at all. But C++ code is, for me, a 
lot 
harder to write. The worst is trying to figure out which string is which.

Does anyone have any incites or advice on the pros and cons of each? In 
particular, what are the down-sides of writing custom actions in Managed code 
(C#/VB)?

Thanks
- Shaun



The information in this e-mail is intended solely for the addressee and access 
by anyone else is unauthorized.  Omnivex accepts no liability for the content 
of 
this e-mail, or for the consequences of any actions taken on the basis of the 
information provided. Any views or opinions presented in this e-mail are solely 
those of the author and do not necessarily represent those of the company.  
Omnivex makes no warranties, express or implied and is not responsible for 
errors

Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email found in subject

2011-01-14 Thread Christopher Painter
Funny you say that,  I was doing some work with KB976477 just today.   Some 
much 
that I have that KB memorized.

I don't use a CA to detect this hotfix.  I just  use the 
AppSearch/DrLocator/Signature tables to search [CommonFilesFolder]\Microsoft 
Shared\Office12 for MSO.DLL version 12.0.6520.5000 or greater. 
 
Rob has made some comments lately about targetting CLR runtime 
versions. Generally I write my custom actions to target .NET 2.0 and set up the 
DTF CA's to run against CLR 2.0 or 4.0.

Either way I still find myself having to make sure .NET 3.5SP1 and .NET 4.0 are 
on my target machines.  For example VSTO AddIns using .NET 4.0 targetting 
Office 
2007 have to have both the 2.0 and 4.0 CLR loaded.  Yeah, seriously.

BTW, there are lot's of articles on DTF over at my blog.



- Original Message 
From: Shaun Hayward shayw...@omnivex.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Fri, January 14, 2011 5:56:44 PM
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email found 
in 
subject

Thanks, Chris!

Funny it should be you that replies. I'm looking at deploying a VSTO add-in and 
I've read the related articles on your blog. The custom action is to check for 
the presence of KB976477. I think I've FINALLY found a fool-proof (yeah, right) 
way to determine if it (or a newer patch that includes 976477) is present. 
(It's 
FOSS, so anyone who is interested can have the code)

So it sounds like C# is just fine. YAY! The DTF classes look REALLY sweet in 
comparison to what I'm dealing with in C++ - I just didn't know if I should 
feel 
free to use them at this point.

Should the add-in be targeting a specific version of the framework? My add-in 
requires .NET Framework 4, and .NET 4 does not necessarily seems to include 
full 
compatibility with .NET 2 (so saith the QAs where I work).

Good-bye, C++ Custom Action - hello, C# Custom Action.

Thanks again - you made my week.
- Shaun

PS: No flack on using InstallScript. Whatever works at the end of the day and 
makes your life easy, right?






-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Friday, January 14, 2011 6:32 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email found 
in 
subject


 VB/JScript is still a no go.  The managed blog was ( thankfully ) O.B.E. when 
WiX released managed custom action via DTF.

Personally, if I had the C++ chops, had enough reusable libraries and was 
typically shipping unmanaged apps then I probably would be an unmanaged 
purist for CA's.   WiX uses C++ in it's custom actions because customers might 
not need/want .NET and since the CA's are being used by a very wide audience 
it's good to spend the time and make them perfect.

But alas, I've got C# chops, the base class libraries are very powerful and I 
ship nearly all managed apps.  


For me, the choice is easy.  For the rare occasion that I don't want a 
dependency on .NET I either  a) role an InstallScript custom action or b)  
write 

it in DTF first and then borrow a resource from development to port it over to 
C++.

PS-  Don't anyone jump on my InstallScript comment unless you know what you are 
talking about. :-)   Prior is IS 12 I'd agree with you 100%.

Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me



- Original Message 
From: Shaun Hayward shayw...@omnivex.com
To: WiX-users@lists.sourceforge.net WiX-users@lists.sourceforge.net
Sent: Fri, January 14, 2011 12:39:11 PM
Subject: [WiX-users] Custom Actions - C++ vs C# vs VBScript

Hello, WiX Community

I've been playing around with WiX for about a year now and took over my 
company's installations (WiX-based) a few months ago. I'm really enjoying it.

I'm looking for some advice on the pros/cons of various ways of writing Custom 
Actions. I understand that an issue with the Custom Action can prevent your 
installer from working at all. And obviously if a piece of functionality 
already 

exists in WiX then one should not re-write it in a custom action.

I'm mainly a C# dev and doing some rudimentary VC++.

I found it very easy to do Custom Actions in VBScript but Rob Mensching posted 
an article (http://wix.sourceforge.net/manual-wix2/robmen_20040520.htm) that 
outlines why VBScript sucks for custom actions. Lack of debugging and 
conflict 

with Virus Scanners seem to be the biggies. I'm assuming these reasons still 
apply and VBScript (or Jscript) should be counted out.

Most of the Custom Action examples I've found have been C# (my preferred 
language) and even Nick Ramirez's excellent book on WiX only gives the C# 
examples. However, I came across another Rob Mensching article 
(http://robmensching.com/blog/posts/2007/4/19/Managed-Code-CustomActions-no-support-on-the-way