---
title: "Launcher: Clean auto-deployment and auto-updating code from Franklins.Net"
url: "https://osherove.com/blog/2005/2/1/launcher-clean-auto-deployment-and-auto-updating-code-from-f.md"
canonical: "https://osherove.com/blog/2005/2/1/launcher-clean-auto-deployment-and-auto-updating-code-from-f.html"
published: "2005-02-01T13:24:00"
updated: "2005-02-01T13:24:00"
tags: [".Net Quotations", "Tips & Tricks"]
author: "Roy Osherove"
description: "\" So I was not satisfied with all of the options for auto-deploying .NET apps in version 1.1, and rather than waiting for ClickOnce, which only works in v2.0 anyway, I sat down and designed and developed a simple and…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Launcher: Clean auto-deployment and auto-updating code from Franklins.Net

By Roy Osherove February 1, 2005 In [.Net Quotations](https://osherove.com/blog/category/net-quotations), [Tips & Tricks](https://osherove.com/blog/category/tips-tricks)

**Historical article** · Originally published February 1, 2005; technical details may be outdated.

"_So I was not satisfied with all of the options for auto-deploying .NET apps in version 1.1, and rather than waiting for ClickOnce, which only works in v2.0 anyway, I sat down and designed and developed a simple and effective solution. Launcher is a VB.NET project called you can copy to a new dev directory and modify for each application you want to auto-deploy. Change four variables, rebuild, create a deployment project for Launcher and distribute it._

_When your user runs Launcher, everything happens automatically. Launcher prompts the user for downloading a newer version if one is available, downloads, unzips, and runs the app. If offline, Launcher simply runs the current version. The logic here is easy to modify to suit your needs. The zip file is downloaded in chunks using the asynchronous model, and unzipped asynchronously as well._

_Note that this application works well with small projects but not so well with large projects. Because a new zip file is downloaded whenever there are any changes, if the zip file is too large your user may get impatient. Also, make sure that your application generates any settings files itself. That way, you don't run the risk of overwriting your settings whenever you update the application._

[_http://www.franklins.net/dotnet_](http://www.franklins.net/dotnet "http")_"_

_\[via [Carl](http://weblogs.asp.net/cfranklin)\]_

This is definitely something I should check out. I've been fighting with auto deployment for a while now. It pretty much sucks until you get to version 2.0 with ClickOnce. Then it sucks a little less.

## More in .Net Quotations

[All posts in .Net Quotations](https://osherove.com/blog/category/net-quotations)

- Apr 6, 2005

    ### [Solving Binary serialization versioning conflicts - The HashTable problem](https://osherove.com/blog/2005/4/6/solving-binary-serialization-versioning-conflicts-the-hashta.html)

- Mar 11, 2005

    ### [CLR Performance Q&A, and how it relates to unit testing and mock objects](https://osherove.com/blog/2005/3/11/clr-performance-qampa-and-how-it-relates-to-unit-testing-and.html)

- Jan 30, 2005

    ### [Debugging VB6 binaries in Visual Studio .NET](https://osherove.com/blog/2005/1/30/debugging-vb6-binaries-in-visual-studio-net.html)

- Jan 22, 2005

    ### [MVP.Xml library released](https://osherove.com/blog/2005/1/22/mvpxml-library-released.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
