2010-03-27 2 views
0

시작할 때 내 Windows 양식 응용 프로그램을 자동으로 업데이트하고 싶습니다. 어디에서 좋은 정보를 찾을 수 있습니까?내 Windows 양식 응용 프로그램을 자동으로 업데이트하는 정보를 찾고 있습니다.

Visual Studio 2008 VB.NET을 사용하고 있습니다.


나는 한 번 클릭 접근 방식을 좋아합니다. 이 응용 프로그램을 사용하면 백엔드 데이터 저장소로 액세스 db가 있습니다. 응용 프로그램이 자동으로 업데이트되면 mdb 파일을 덮어 쓰지 않는 것을 어떻게 확인할 수 있습니까?

mdb 파일을 변경했지만 데이터가 손실되지 않은 경우 mdb를 자체 업그레이드하는 가장 좋은 방법은 무엇입니까?

+2

참조 http://stackoverflow.com/questions/1743650/is-there-a-standard-way-for-net-winforms-apps-to-auto-upgrade –

답변

3

ClickOnce을 사용하여 배포하는 경우 무료로이 기능을 사용할 수 있습니다. 나는이 (아직)에 대한 경험이 없지만 article을 가리킬 수 있습니다.

0

저는 몇 번의 문제없이 아주 조금씩 Click Click을 사용해 왔습니다.

전체 응용 프로그램이 기본적으로 세 부분이다 : 나는 기본적으로 사용자 정의 자동 갱신 및 서면으로 작성했습니다

0

는 그것이 작동하는 방식이있다

  1. 그 .EXE 실행기는 기본적으로 부트 스트 래퍼를 좋아하는 것
  2. 자체 .EXE 실행 프로그램을 업데이트해야하는 경우
  3. 런처 .EXE가 사용되는 임베디드 .EXE 자원을 가지고
  4. 응용 프로그램 DLL의

응용 프로그램을 시작하면 실행 프로그램이 시작되고 dll이 최신 상태인지 웹 서비스를 통해 확인합니다. 그렇지 않은 경우 임시 디렉토리에 다운로드 한 다음 체크섬이 올바른지 확인하고 기존 앱 라이브러리를 새 라이브러리로 덮어 씁니다. 그런 다음 응용 프로그램의 코어 어셈블리를로드하고 리플렉션을 통해 "실행"메서드를 호출합니다.

이제 우리는 런처 자체를 업데이트해야 할 필요가 있습니다. 우리가 달성 한 방법은 .exe 리소스를 시작 프로그램 .exe 리소스에 포함시키는 것입니다. 런처가 사용 가능한 새로운 런처 .exe가 있음을 감지하면 임시 디렉터리에 다운로드 한 다음 .exe 파일을 추출하고 실행합니다. 이 추출 된 .exe는 단순히 실행 프로그램 프로세스를 종료하고 이전 실행 프로그램을 새 실행 프로그램 .exe로 복사 한 다음 실행 프로그램 프로세스를 다시 시작합니다.

관련 문제