2013-08-09 3 views
0

안녕하세요 저는 C#의 ClickOnce 업데이트를 실행하고 그 업데이트 후에 데이터베이스 파일을 업데이트하는 자체 exe를 실행하는 것이 좋을지 물어보고 싶습니다. 지금 ClickOnce 업데이트는 모든 내용을 덮어 쓰지 만 데이터베이스에 정보를 추가하여 데이터베이스를 덮어 쓰지 않습니다. 같은 한 번의 클릭으로 수동 업데이트

그래서 아이디어가 보일 것이다

  1. 사용자는
  2. 의 ClickOnce 업데이트는 업데이트를 설치하는 프로그램을 시작
  3. 의 ClickOnce 업데이트는
  4. 모두가 데이터베이스를 업데이트합니다 내 updater.exe 파일을 엽니 다 완료
  5. 프로그램 시작
+0

DB 자체가 별도로 존재합니까? 아니면 ClickOnce 패키지 내에 파일로 배포됩니까? –

답변

1

야, 너 더 많은 정보를 제공하는 것과 정말로 할 수있다 ...이게 뭐야 updater.exe? ClickOnce 업데이트가 데이터베이스의 모든 것을 어떻게 덮어 씁니까?

ClickOnce 업데이트 기능에 업데이트의 일부로 실행 파일을 실행한다고 알릴 수는 없지만 Application Files 창에서 updater.exe을 참조 할 수 있습니다.

은 시작 프로젝트 속성>는 탭> 응용 프로그램 파일 버튼 Include (Auto)Publish Status 열을 설정

, (Required)-Download Group 열 및 Include-hash 열을 게시합니다.

이렇게하면 updater.exe 파일의 최신 버전이 설치 디렉토리에 설치됩니다. 거기에서 ClickOnce 응용 프로그램의 updater.exe 파일에 액세스하여 실행할 수 있습니다.

+0

http://msdn.microsoft.com/en-us/library/system.deployment.application.applicationdeployment.downloadfilegroup.aspx 및 http://msdn.microsoft.com/en-us/library/ak58kz04.aspx를 참조하십시오. 관심있어 할 수도 있습니다. –

+0

예, 모든 것이 좋으며 모든 파일이 설치되어 있습니다. 그러나 이전에 설치된 모든 파일을 덮어 씁니다 (업데이트 할 때). 내 데이터베이스는 JSON이 포함 된 텍스트 파일입니다. 그래서 .. 사용자가 ClickOnce를 통해 소프트웨어를 업데이트하면 데이터베이스는 서버에서 오는 데이터베이스 파일로 덮어 씁니다. 그래서 ClickOnce 업데이트가 완료되면 내 updater.exe 파일을 실행하여이를 방지하고 싶습니다. 그래서 나는 서버로부터 그 데이터베이스 파일을 다운로드 할 수있다. 그것으로부터 정보를 가져 와서 그것을 기존 데이터베이스와 병합한다. 그게 내가하려는 일이야. – Jason

+0

지금 당장 서버의 데이터베이스 파일을 제외시킬 수 있을지도 모르겠다. 음 .. 설정에서 아마도 updated = 1처럼 설정 될지도 모른다. 그래서 프로그램이 시작될 때 .. 이전에 시스템이 업데이트되었는지 확인한 다음 모든 것을 처리하는 updater.exe 만 실행합니다. – Jason

관련 문제