Have very recently started a new position. One of my key challenges is a C# WinForms application (let's call it AppX) that causes a lot of non-planned work.

The main reason for this is that it needs to be deployed to several hundred branch offices. Currently, this is done via GP update or bespoke application. Both of these methods are unreliable and means we can't effectively deploy version upgrades.

Bit of background to what the software needs to do and some of the technical issues / background:-

  1. AppX needs to produce results in real time
  2. AppX needs to connect to a SQL server (express or full edition) which is physically located in the branch office
  3. AppX needs to ensure that after a version upgrade all remote sites are on the same version
  4. AppX can't be deployed via a thin client solution such as Citrix or Remote Desktop services
  5. The headquarters network can see the entire branch office network and connect into their SQL servers

My initial thoughts were

ClickOnce deployment -- however there seems to be some suggestions that there may be some issues with conflicts of the .Net framework with other software

Deploy the solution as a web app at the headquarters which connects back into the remote SQL server - technically I'm not sure how I would go about this

I guess that this is something that others may have come across so I would be interested to know if there are any other suggestions on how to approach this


  • Expecting the webserver to talk to the database server across the WAN probably isn't realistic. ClickOnce also isn't something that you can push updates with, it only streamlines pulling updates.
    – Kevin
    Commented Jan 14, 2014 at 23:52
  • While ClickOnce is 'pull', it might make sense to write a Windows service that checks for upgrades, as, for instance, Acrobat and Java does. This could trigger the installation of any pending upgrades at the start of each business day. Commented Jan 15, 2014 at 7:56
  • Its not clear whats wrong with ClickOnce. Ther are thousands perhaps hundreds of thousands of ClickOnce applications. You have total control over what versions of .NET Framework are installed on these machines so use that configuration power.
    – Ramhound
    Commented Jan 15, 2014 at 11:58

1 Answer 1


why not use TFS automated Build ? you can read more here


For database you will have to create Database solution in your project and that's all you need to worry rest TFS will take care of it.

  • 1
    OP is making a C# WinForms application, not a SharePoint feature.
    – DougM
    Commented Jan 15, 2014 at 13:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.