We are trying to have faxes automatically be sent from within an SSIS package.

We have figured out how to send faxes utilizing the Right Fax COM API (rfcomapi.dll)

But our issue is that in order to reference any external assembly within SSIS, that assembly must be in the GAC because SSIS utilizes VSA and not the full-blown dev environment.

What are our options of accomplishing faxes being sent within SSIS?

+2  A: 

Build out a little console app and use the Execute Process Task to fire it off. Take advantage of SSIS expressions to mold the Arguments property of the Execute Process Task to your liking.

this sounds like a feasible solution. but getting our DBAs to buy off may be a bit of a challenge, they don't let us have temporarily files on the servers, disallow use of the CLR... etc...
Jon Erickson
If they disallow the CLR how does SSIS even run? Why would they allow code in a Script Task but not in an executable? Is it possible for you to add the assembly to the GAC? Presumably, the DBAs will be anti-GAC, as well, eh?
Sounds like your DBA's need an education.
Chris Lively
trust me it's crazy here, i have said it numerous times. I have asked whether or not we can GAC assemblies and they are OK with that. I don't think it is security or whatever that is holding the DBAs from supporting these things, they just don't know what they are.
Jon Erickson
+1  A: 

I built an Interop assembly by doing the following (not sure if this is the best way):

  1. Started new blank project
  2. included rfcomapi.dll into the project
  3. Signed the project assembly with a new strong name key
  4. Built the project - this produced an Interop.RFCOMAPILib.dll
  5. Installed the Interop assembly into the GAC
  6. Referenced the GAC'd Interop assembly in my SSIS project.


Jon Erickson

related questions