Quantcast

Custom Actions - C++ vs C# vs VBScript

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Custom Actions - C++ vs C# vs VBScript

Shaun Hayward
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 or omissions.

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript

Christopher Painter

 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 <[hidden email]>
To: "[hidden email]" <[hidden email]>
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 or omissions.

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



     

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Email found in subject

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:[hidden email]]
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 <[hidden email]>
To: "[hidden email]" <[hidden email]>
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 or omissions.

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



     

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Email found in subject

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 <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
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:[hidden email]]
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 <[hidden email]>
To: "[hidden email]" <[hidden email]>
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 or omissions.

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



     

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



     

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject

Shaun Hayward
I didn't realize WiX had a way to actually retrieve a DLL's version and compare against it. I was looking all over for that.

Any chance you have a code sample up on your blog?

And I'll be sure to check out the DTF articles on your blog.

Thanks
- Shaun

________________________________________
From: Christopher Painter [[hidden email]]
Sent: Friday, January 14, 2011 7:16 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject

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 <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
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:[hidden email]]
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 <[hidden email]>
To: "[hidden email]" <[hidden email]>
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 or omissions.

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users





------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users





------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript

robmen
In reply to this post by Christopher Painter
I'm a purist but I write my custom actions as declarative, data driven
beasties designed so I never have to solve that problem again. That attitude
is where the bulk of the WiX toolset custom actions come from. <smile/>

Simply put, custom actions will be the most vulnerable part of your install.
Avoid them. When you can't, respect the complexity and write them well, with
as few dependencies as possible.
On Fri, Jan 14, 2011 at 3:32 PM, Christopher Painter <
[hidden email]> wrote:

>
>  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 <[hidden email]>
> To: "[hidden email]" <[hidden email]>
> 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 or omissions.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject

robmen
In reply to this post by Shaun Hayward
WiX doesn't do it, the Windows Installer does. WiX is just the language.
<smile/>

Check out the FileSearch element.

On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]> wrote:

> I didn't realize WiX had a way to actually retrieve a DLL's version and
> compare against it. I was looking all over for that.
>
> Any chance you have a code sample up on your blog?
>
> And I'll be sure to check out the DTF articles on your blog.
>
> Thanks
> - Shaun
>
> ________________________________________
> From: Christopher Painter [[hidden email]]
> Sent: Friday, January 14, 2011 7:16 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject
>
> 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 <[hidden email]>
> To: General discussion for Windows Installer XML toolset.
> <[hidden email]>
> 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:[hidden email]]
> 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 <[hidden email]>
> To: "[hidden email]" <[hidden email]>
> 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 or omissions.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

Shaun Hayward
> WiX doesn't do it, the Windows Installer does. WiX is just the language.

True :-)

So let me rephrase: I didn't realize that MSI had a way to retrieve the DLL's version and compare against it. But since it does, the awesome WiX will support it. Does anyone have a WiX sample of how to accomplish this?

Thanks!
- Shaun


Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429 | www.omnivex.com

-----Original Message-----
From: Rob Mensching [mailto:[hidden email]]
Sent: Friday, January 14, 2011 11:12 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

WiX doesn't do it, the Windows Installer does. WiX is just the language.
<smile/>

Check out the FileSearch element.

On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]> wrote:

> I didn't realize WiX had a way to actually retrieve a DLL's version and
> compare against it. I was looking all over for that.
>
> Any chance you have a code sample up on your blog?
>
> And I'll be sure to check out the DTF articles on your blog.
>
> Thanks
> - Shaun
>
> ________________________________________
> From: Christopher Painter [[hidden email]]
> Sent: Friday, January 14, 2011 7:16 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject
>
> 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 <[hidden email]>
> To: General discussion for Windows Installer XML toolset.
> <[hidden email]>
> 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:[hidden email]]
> 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 <[hidden email]>
> To: "[hidden email]" <[hidden email]>
> 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 or omissions.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

robmen
The WiX Documentation for FileSearch element has a link to this page:
http://wix.sourceforge.net/manual-wix3/check_the_version_number.htm.

On Mon, Jan 17, 2011 at 7:44 AM, Shaun Hayward <[hidden email]> wrote:

> > WiX doesn't do it, the Windows Installer does. WiX is just the language.
>
> True :-)
>
> So let me rephrase: I didn't realize that MSI had a way to retrieve the
> DLL's version and compare against it. But since it does, the awesome WiX
> will support it. Does anyone have a WiX sample of how to accomplish this?
>
> Thanks!
> - Shaun
>
>
> Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429
> | www.omnivex.com
>
> -----Original Message-----
> From: Rob Mensching [mailto:[hidden email]]
> Sent: Friday, January 14, 2011 11:12 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject - Email found in subject
>
> WiX doesn't do it, the Windows Installer does. WiX is just the language.
> <smile/>
>
> Check out the FileSearch element.
>
> On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]>
> wrote:
>
> > I didn't realize WiX had a way to actually retrieve a DLL's version and
> > compare against it. I was looking all over for that.
> >
> > Any chance you have a code sample up on your blog?
> >
> > And I'll be sure to check out the DTF articles on your blog.
> >
> > Thanks
> > - Shaun
> >
> > ________________________________________
> > From: Christopher Painter [[hidden email]]
> > Sent: Friday, January 14, 2011 7:16 PM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> > Emailfound in subject - Email found in subject
> >
> > 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 <[hidden email]>
> > To: General discussion for Windows Installer XML toolset.
> > <[hidden email]>
> > 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:[hidden email]]
> > 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 <[hidden email]>
> > To: "[hidden email]" <[hidden email]>
> > 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 or omissions.
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
>
>
> --
> virtually, Rob Mensching - http://RobMensching.com<http://robmensching.com/>LLC
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript

Shaun Hayward
In reply to this post by Shaun Hayward
Thanks, Rob - that's exactly what I was after.

In all my Googling, I was looking for a way to retrieve the version number and then do my own comparison (with no luck). This is a slightly different way but acheives my exact aim.

Many thanks
- Shaun

________________________________________
From: Rob Mensching [[hidden email]]
Sent: Monday, January 17, 2011 7:54 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject - Email found in subject

The WiX Documentation for FileSearch element has a link to this page:
http://wix.sourceforge.net/manual-wix3/check_the_version_number.htm.

On Mon, Jan 17, 2011 at 7:44 AM, Shaun Hayward <[hidden email]> wrote:

> > WiX doesn't do it, the Windows Installer does. WiX is just the language.
>
> True :-)
>
> So let me rephrase: I didn't realize that MSI had a way to retrieve the
> DLL's version and compare against it. But since it does, the awesome WiX
> will support it. Does anyone have a WiX sample of how to accomplish this?
>
> Thanks!
> - Shaun
>
>
> Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429
> | www.omnivex.com
>
> -----Original Message-----
> From: Rob Mensching [mailto:[hidden email]]
> Sent: Friday, January 14, 2011 11:12 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject - Email found in subject
>
> WiX doesn't do it, the Windows Installer does. WiX is just the language.
> <smile/>
>
> Check out the FileSearch element.
>
> On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]>
> wrote:
>
> > I didn't realize WiX had a way to actually retrieve a DLL's version and
> > compare against it. I was looking all over for that.
> >
> > Any chance you have a code sample up on your blog?
> >
> > And I'll be sure to check out the DTF articles on your blog.
> >
> > Thanks
> > - Shaun
> >
> > ________________________________________
> > From: Christopher Painter [[hidden email]]
> > Sent: Friday, January 14, 2011 7:16 PM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> > Emailfound in subject - Email found in subject
> >
> > 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 <[hidden email]>
> > To: General discussion for Windows Installer XML toolset.
> > <[hidden email]>
> > 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:[hidden email]]
> > 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 <[hidden email]>
> > To: "[hidden email]" <[hidden email]>
> > 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 or omissions.
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> ------------------------------------------------------------------------------
> > Protect Your Site and Customers from Malware Attacks
> > Learn about various malware tactics and how to avoid them. Understand
> > malware threats, the impact they can have on your business, and how you
> > can protect your company and customers by using code signing.
> > http://p.sf.net/sfu/oracle-sfdevnl
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
>
>
> --
> virtually, Rob Mensching - http://RobMensching.com<http://robmensching.com/>LLC
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

Christopher Painter
In reply to this post by Shaun Hayward
Perhaps SourceForge is swallowing my messages again but here are links and notes
I sent you yesterday.  
 

----- Original Message ----
From: Christopher Painter <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
Sent: Mon, January 17, 2011 11:00:52 AM
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

Take a look at

http://wix.sourceforge.net/manual-wix3/wix_xsd_filesearch.htm

http://wix.sourceforge.net/manual-wix3/check_the_version_number.htm

Pay careful attention to:

Important: When doing a locale-neutral search for a file, you must set the
MinVersion property to one revision number lower than the actual version you
want to search for. In this example, while we want to find file version
6.0.6001.1751, the MinVersion is set to 6.0.6001.1750. This is because of a
quirk in how the Windows Installer matches file versions. More information is
available in the Windows Installer documentation.
 
 

 
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 <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
Sent: Mon, January 17, 2011 9:44:53 AM
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

> WiX doesn't do it, the Windows Installer does. WiX is just the language.

True :-)

So let me rephrase: I didn't realize that MSI had a way to retrieve the DLL's
version and compare against it. But since it does, the awesome WiX will support
it. Does anyone have a WiX sample of how to accomplish this?

Thanks!
- Shaun


Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429 |
www.omnivex.com

-----Original Message-----
From: Rob Mensching [mailto:[hidden email]]
Sent: Friday, January 14, 2011 11:12 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

WiX doesn't do it, the Windows Installer does. WiX is just the language.
<smile/>

Check out the FileSearch element.

On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]> wrote:

> I didn't realize WiX had a way to actually retrieve a DLL's version and
> compare against it. I was looking all over for that.
>
> Any chance you have a code sample up on your blog?
>
> And I'll be sure to check out the DTF articles on your blog.
>
> Thanks
> - Shaun
>
> ________________________________________
> From: Christopher Painter [[hidden email]]
> Sent: Friday, January 14, 2011 7:16 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject
>
> 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 <[hidden email]>
> To: General discussion for Windows Installer XML toolset.
> <[hidden email]>
> 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:[hidden email]]
> 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 <[hidden email]>
> To: "[hidden email]" <[hidden email]>
> 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
>
>s
> )
>
> 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 or omissions.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users


     

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Custom Actions - C++ vs C# vs VBScript

Shaun Hayward
Thanks, Chris - I didn't receive your original message but appreciate the re-send.

This should make life considerably easier.


Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429 | www.omnivex.com


-----Original Message-----
From: Christopher Painter [mailto:[hidden email]]
Sent: Tuesday, January 18, 2011 9:03 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfoundin subject - Email found in subject - Email found in subject - Email found in subject

Perhaps SourceForge is swallowing my messages again but here are links and notes
I sent you yesterday.


----- Original Message ----
From: Christopher Painter <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
Sent: Mon, January 17, 2011 11:00:52 AM
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

Take a look at

http://wix.sourceforge.net/manual-wix3/wix_xsd_filesearch.htm

http://wix.sourceforge.net/manual-wix3/check_the_version_number.htm

Pay careful attention to:

Important: When doing a locale-neutral search for a file, you must set the
MinVersion property to one revision number lower than the actual version you
want to search for. In this example, while we want to find file version
6.0.6001.1751, the MinVersion is set to 6.0.6001.1750. This is because of a
quirk in how the Windows Installer matches file versions. More information is
available in the Windows Installer documentation.




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 <[hidden email]>
To: General discussion for Windows Installer XML toolset.
<[hidden email]>
Sent: Mon, January 17, 2011 9:44:53 AM
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

> WiX doesn't do it, the Windows Installer does. WiX is just the language.

True :-)

So let me rephrase: I didn't realize that MSI had a way to retrieve the DLL's
version and compare against it. But since it does, the awesome WiX will support
it. Does anyone have a WiX sample of how to accomplish this?

Thanks!
- Shaun


Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429 |
www.omnivex.com

-----Original Message-----
From: Rob Mensching [mailto:[hidden email]]
Sent: Friday, January 14, 2011 11:12 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in
subject - Email found in subject - Email found in subject

WiX doesn't do it, the Windows Installer does. WiX is just the language.
<smile/>

Check out the FileSearch element.

On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward <[hidden email]> wrote:

> I didn't realize WiX had a way to actually retrieve a DLL's version and
> compare against it. I was looking all over for that.
>
> Any chance you have a code sample up on your blog?
>
> And I'll be sure to check out the DTF articles on your blog.
>
> Thanks
> - Shaun
>
> ________________________________________
> From: Christopher Painter [[hidden email]]
> Sent: Friday, January 14, 2011 7:16 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
> Emailfound in subject - Email found in subject
>
> 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 <[hidden email]>
> To: General discussion for Windows Installer XML toolset.
> <[hidden email]>
> 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:[hidden email]]
> 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 <[hidden email]>
> To: "[hidden email]" <[hidden email]>
> 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
>
>s
> )
>
> 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 or omissions.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users




------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Loading...