Hi Greg,

If I understand your problem correctly, what you need to do is add these dll's 
as references to the custom action project, then set the Copy Local property to 
true.  When you build the custom action, your customaction.CA.dll will contain 
all of the dependencies needed for it to run, including your old dll's.

If you really want to copy the dll's to the machine, you will need to add them 
to a component with a <file .../> tag, reference it in a feature, and schedule 
your custom action to run after the files are copied.

-----Original Message-----
From: GregS [mailto:gsh...@actuate.com] 
Sent: Wednesday, April 24, 2013 4:37 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Including "third party" DLLs for installer to use

I'm new to WiX so my apologies if this is something I should know already.

Background:

I'm trying to use WiX to implement a new installer for an existing product 
whose current installer was written using a commercial tool. We have a large 
library of functions that our current installer calls during installation to do 
various tasks (for example, to validate the user's license file). This DLL is 
old and is not written in a .Net language. Rewriting the DLL is not an option - 
I'm under a tight schedule and it is too large to consider rewriting. So I need 
to reuse it.

Since I can't call the DLL directly from WiX, what I did is to import it 
manually into my C# custom action DLL. I'm writing wrapper functions in the 
custom action DLL to call the functions in the old DLL.

So far this works, but only because the old DLL is already present on the 
target computer and is in a known location. What I need is for this DLL to be 
bundled inside the MSI so that it gets unpacked into the temporary installation 
folder. I haven't been able to find a way to do this, and from Googling for an 
answer I've read that it isn't safe or recommended (for example here:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Call-3rd-party-dll-from-C-Custom-Action-td699134.html).
 

I tried using the <Binary> tag to include it but no luck. Probably because the 
DLL is not actually used from the WiX installer itself, but only imported at 
run time into the custom action DLL.

I also have to do something similar with an external EXE that our old installer 
calls. 

Any suggestions? Is what I'm trying to do possible?

Thanks
GregS




--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Including-third-party-DLLs-for-installer-to-use-tp7585415.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only 
SaaS-based application performance monitoring service that delivers powerful 
full stack analytics. Optimize and monitor your browser, app, & servers with 
just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! 
http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to