요즘에는 거의 모든 프로그램에서 자동 업데이트 기능을 제공하고 있습니다. 저의 경우 2008년도 SI 프로젝트에서 자동 업데이트 기능을 직접 구현하여 사용하였고, 또 그 시절 데브피아에서는 어떤 분이 자동 업데이트 기능을 판매하기도 했었습니다. 최근 회사 프로그램에서도 직접 자동 업데이트 기능을 구현하여 사용하였습니다. 이제는 맥에서 사용하던 자동 업데이트 프로그램인 Sparkle을 윈도우즈에서도 사용할 수 있습니다. 더 이상 자동 업데이트 기능을 구현할 필요가 없습니다. Sparkle이 윈도우즈로 포팅되면서 여러 변종이 생겨났습니다. C#/.NET에서 사용 가능한 NetSparkle 그리고 좀 더 간단하게 사용 가능한 WinSparkle( https://winsparkle.org/) 이 있습니다. WinSparkle에서는 아래 언어에 대한 바인딩을 지원합니다. C#/.NET, Python, Go, Pascal 현재 진행하고 있는 프로젝트의 고객사에서 자동 업데이트 기능을 요구해 왔습니다. 해당 프로젝트가 Python으로 구현되어 Python 바인딩을 지원하는 WinSparkle을 이용하여 해당 기능을 구현하기로 했습니다. 먼저 Python 바인딩인 pywinsparkle을 설치합니다. 에 가시면 예제 코드가 있습니다. 이 코드를 이용하면 아주 간단하게 프로그램에 자동 업데이트 기능을 추가할 수 있습니다. 이제 자동 업데이트 정보를 XML 파일에 저장하여 서버에 올려놓으면 프로그램 실행 시(구현에 따라 다름)에 최신 버전으로 자동 업데이트할 수 있습니다. 아래는 XML 파일 예제입니다. 여기서 중요한 부분은 릴리즈 노트(sparkle:releaseNotesLink), 설치 프로그램 위치(url), 버전(sparkle:version)입니다. 실행 프로그램 버전과 XML의 버전을 확인하여 최신 버전이 있으면 릴리즈 노트를 보여주고 사용자가 최신 프로그램을 설치할 수 있도록 합니다. <?xml version="1.0...