How do you No-Touch Deploy third party components?

I have read some posts about using the app.config to run dll components that are not in the client's global assembly cache.  Is this possible   If so, can someone please provide some sample code

Here's what I'm doing:
I am using third party components in my project and when I deploy my application from the web, it fails unless I manually go into the global assembly cache and enter the third party dll's on the client's machine. Once that's done, everything works fine.  I would like to know how to accomplish this manual act in code whether its in my main assembly, an app.config file, or the msi file that I use to set the security policy for my application.

Any help is appreciated.


Answer this question

How do you No-Touch Deploy third party components?

  • Mizu

    Your case (Tom) is an easy one. You can't use ActiveX components(controls) without alot of special code. The whole way NTD (no touch deployment) works is because it downloads the assemblies as it needs them and .Net assemblies don't need to be registered on the machine. ActiveX controls on the other hand have to be registered on the machine in order to work. So you have to build a scheme to download and register them at applicaiton startup. 

    That's the whole reason why (well one of the reasons) MS moved away from the DLL registering deal.

    Hope that helps

  • Bradsy

    Thanks Joe but I already have these files in my application folder and it doesn't work for me.
    After I run the application from the web and it fails, I have checked the files in the downloaded GAC and they are there, but it still fails.  

    However, if I open up the Microsoft .NET Framework 1.1 Configuration (under Control Panel, Administrator Tools) and view the assemblies in this cache, my component files are not there.  Now if I manually add them using the configuration tool or using gacutil.exe /i, they get added to this cache and my application runs off the web without any further problems.

    Why is this happening and how can I add these components to this assembly cache using code and not the manual tools


  • Manasa

    Remember, it only looks at the global cache if it dosn't find it in the local folder the application starts from.

    THat might be your answer, include it in the same folder as your app, it will look there for it too.

  • ZenBP

    Hi,

    I'm also having similar problems. I've written a Windows Forms application which is invoked over the LAN from a small launcher process installed on each user's PC. I recently added a 3rd party ActiveX control to the main program and now it won't run on the remote machines. I'm not really sure what to do so any help would be much appreciated.

    Regards,

    - Tom

  • How do you No-Touch Deploy third party components?