views:

169

answers:

1

We are creating a WCF service with a companion client DLL (.Net) that we will be delivering to a user's GAC via a web page. The DLL knows how to communicate with and how to interface with the service, and will allow the web page to communicate with the WCF service via client-side Javascript calls. The user's machine will be executing the DLL's functionality, not the server. With it data will be transferred to the target server.

This works in theory (and practice) over our internal network. The network is, of course, in a trusted zone so there are no problems with delivery, GAC install and DLL utility. The client-server pair works as expected. We can download the .Net DLL with an object tag, install it in the GAC and use it easilly.

In order for an internet user to be able to download the client .Net DLL however there are security procedures that need to be put in place. We do not have the expertise yet to know exactly what they are, but we are aware that we will need to at least sign the DLL with a trusted certificate. Beyond that, we are unsure.

The question then is what do we do from here?

A: 

Give the assembly a strong name (sn.exe - etc) Create a Windows Installer Project from Visual Studio that will add your custom assembly to the target machine's GAC. (Right click File System on Target Machine | Add Special Folder | Global Assembly Cache folder). Let users download your installer from your web page, probably the most painless way instead of forcing something via the browser.

RandomNoob
If only the suits upstairs would think the way we do... Yes, this would be the optimal method, but they decided that it should be delivered using the web page and with as little customer interruption as possible.
William Daniel
I'm afraid I don't know any other way besides the .MSI route because even if they have the framework, gacutil is not part of the redistributable Fx package. :(
RandomNoob