Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6331651
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T18:06:39+00:00 2026-05-24T18:06:39+00:00

We have a big winform application which we install on the users disk. We

  • 0

We have a big winform application which we install on the users disk.
We want third parties to be able to write applications that use some of our app capabilities. So we have written API.dll which interacts with some of the others assemblies by resolving the installation dir from the registry. We send API.dll to third parties as an SDK. There are a few options as for how an actual deployment of a third party app will look like:

  1. They “copy local” API.dll and ship with it. Cons: We cannot make a change (non breaking of course) in API.dll since customer apps have it copied. We might need to change it if we change other assemblies it interacts is (which we will probably).

  2. Third parties don’t ship with API.dll but instead we put API.dll in GAC. Cons: the hussle of GAC, signing.

  3. same as #1 but API.dll only has abstractions + a factory to load them from our /bin. Cons: may not always turn out trivial, some work.

I don’t like the GAC and try to avoid it but some people in the team do and have a point here. What do you think?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T18:06:39+00:00Added an answer on May 24, 2026 at 6:06 pm

    In general, and as a potential customer, I would avoid the GAC at all costs.

    Regarding point 1, I think your customer apps (and dev teams) would more likely rather deploy your updates at their own leisure and testing cycles rather than relying on yours. That way they take your updates when their ready – what if they’ve already circumvented the “bug” that you just fixed?

    Regarding point 2, you’ll have a tough time getting everyone to actually use this mechanism except by the convention shown in your own docs. Certainly, I’d still always use copy-local deployments of third party assemblies anyway.

    Regarding point 3, you could do this… But it might annoy your customers. If you are going to such large efforts to keep third party vendor software updated perhaps you should question whether you’ve released your library a little too soon.

    Plus from your perspective, I would rather reserve the right to make a breaking change (and document it of course). If your upgrade model doesn’t allow you to properly refactor and deprecate old code then you’re going to have a tough time making your product better.

    My two cents.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Im programming C# WinForm application which have big SQL Server Database. I need to
How would you maintain the legacy applications that: Has no unit tests have big
I have a big load of documents, text-files, that I want to search for
I have pretty big background of .net, and I've decided that i want to
i have a big web application running in perl CGI. It's running ok, it's
I have a big lump of binary data in a char[] array which I
I have big web application using JQuery UI Tabs. In central JS file I
I have big issue with url-rewriting for IIS 7.0. I've written simple module for
I have a big string (let's call it a CSV file, though it isn't
I have this big data-entry sort of page, a table kind of layout using

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.