2011-10-24 4 views
0

Windows 서비스를 작성하고 있습니다. 설치 후 Windows 서비스는 응용 프로그램을 복사하여 특정 경로에서 다시 유지합니다.프로그래밍 방식으로 Windows 서비스 복원

이제 Windows 서비스의 최신 버전을 다시 설치하려고합니다.

이전 버전의 Windows 서비스를 제거한 다음 최신 버전을 설치하려고합니다. 그러나 실패 할 경우 관련 경로에서 이전 서비스를 복원해야합니다.

어떻게 달성 할 수 있습니까? 다음과 같은 지정해야 설치 프로그램을 만들 때

+0

관련 http://stackoverflow.com/questions/7525332/restoring-old-application-during-installation-in-vs-net – Damith

+0

하지만 MSI는 그렇게하지 않습니다. –

답변

0

:

  • 설정은 True로 감지 True로 새 버전을
  • 설정을 이전 설치를 제거
  • 귀하의 C# 프로그램의 버전마다 배포 으로 증가해야 당신 설치 프로그램의 버전을 하나의 상위 버전으로 변경해야하며 제품 코드를 변경하라는 메시지가 표시되면 예를 선택하십시오.

위의 모든 단계를 수행하면 설치 프로그램이 자동으로 이전 버전을 제거하고 새 버전을 설치하려고 시도합니다.

UPDATE :

다음 단계를 수행, 사용자 지정 작업을 추가하려면 :

솔루션 탐색기에서
  1. ,보기 ServiceSetup을에게, 지점을 마우스 오른쪽 단추로 클릭 한 다음 사용자 지정 작업을 클릭합니다.
  2. 사용자 지정 작업을 마우스 오른쪽 단추로 누른 다음 사용자 지정 작업 추가를 누릅니다.
  3. 응용 프로그램 폴더를 누른 다음 확인을 누릅니다.
  4. 기본 출력 yourservice (Active)을 클릭 한 다음 확인을 클릭하십시오. 설치, 커밋, 롤백 및 제거 아래에 기본 출력이 나타납니다.

위의 모든 단계를 사용하여 설치 프로그램의 두 가지 버전을 만듭니다. secound time을 실행하면 이전 버전이 시스템에서 제거되고 설치 프로그램이 최신 vesrion을 설치하고 오류가 발생하면 롤백이 설치 프로그램에서 처리됩니다.

+0

감사합니다. 위의 단계를 완료했습니다. 설치가 실패하면 이전 버전을 복원해야합니다. Windows 서비스를 설치하면 새 버전을 설치하기 위해 이전 버전을 제거해야합니다. 어떻게 가능합니까? –

+0

MSI는 비 서비스 exe 및 서비스 exe 설치에도 다르게 작동합니다. MSI는 비 서비스 exe에서 이전 버전을 자동으로 제거합니다. –

+0

설치 프로그램도 서비스를 제대로 중지합니까? – Sebastian

관련 문제