문제

은 그것을 소개하는 것이 가능하 ClickOnce 기능을 기존 응용 프로그램?

시나리오:1.0 버전에 이미 설치되어 있는 클라이언트입니다.나 보내고 싶으면 그들을 새로운 설치 패키지는 것입 업그레이드 1.1 는 ClickOnce 기능을 함으로써 미래를 만드는 업그레이드"노".

을 제외하고는,어떤 다른 솔루션은 이런 종류의 문제입니까?

P.S.:원래는 응용 프로그램 개발되었으로 Visual Studio2005 (즉,.NET2.0).내가 사용하는 Visual Studio2008 지금입니다.

도움이 되었습니까?

해결책

아니요, 표준 ClickOnce 배포 시나리오에서는 불가능합니다.

ClickOnce는 클라이언트 측의 샌드 박스 설치입니다. 이미 설치된 버전 1.0에 대해서는 알 수 없습니다. 그것은 단순히 그것의 안내 ClickOnce를 통해 이미 설치되었으며 업데이트 된 경우 이전 버전이 ClickOnce를 통해 배포 된 경우에만 업데이트되었습니다.

귀하의 경우 사용자가 설치 한 버전 1.1이면 두 버전 모두 나란히 설치됩니다. Clickonce는 다른 방법을 통해 배포되었으므로 연관성이 있다는 것을 알지 못하기 때문에 버전 1.0은 업데이트되지 않습니다. 더 이상 버전 1.0을 원하지 않으면 수동으로 제거해야합니다. ClickOnce를 통해 버전 1.1이 배포되면 후속 업데이트가 올바르게 작동합니다.

ClickOnce를 당신이 "포함하는"것으로 생각하지 마십시오. 배치 방법으로 생각하십시오.

대안으로 :

표준 ClickOnce 배포로 당신이 찾고있는 것이 불가능하다는 것을 분명히해야합니다. 그러나 초기 설정 파일을 보내겠다고 언급했습니다. 이 경우 가능한 해결 방법이있을 수 있습니다.

  1. 버전 1.0 설치를 자동으로 제거하려면 설정 파일을 스크립트
  2. ClickOnce 설치를 시작하려면 설정 파일을 스크립트하십시오.

후속 업데이트의 경우 사용자에게 "Pure"ClickOnce 설정 패키지를 가리키면 업데이트가 정상적으로 작동합니다.

다른 팁

클라이언트 환경에서 ClickOnce 배포를 매우 철저히 테스트하십시오. 여기서 세부 사항을 생략하고 있지만 Clickonce에는 많은 문제가 있습니다. 현재 3.5 년 동안 ClickOnce 응용 프로그램을 지원해 왔으며 Manifests와 관련하여 많은 문제가 발생하여 샌드 박스 스토리지 폴더를 수동으로 삭제하여 업데이트가 올바르게 설치되어 있어야합니다 .- ClickOnce 문제를 온라인으로 검색하면 상당히 MSDN 포럼과 다른 곳에서는 거의 문제가 없으며, 그 중 다수는 Visual Studio 2005 이후 열려있는 것처럼 해결하기를 원하지 않습니다.

또한 .NET 3.5 SP1 이전의 ClickOnce에서 잠재적 인 Gotcha를 알고 있어야합니다. 자신의 소프트웨어 배포 인증서가없는 경우 CA 클라이언트 머신에서 인정받은 Visual Studio는 "임시"인증서 (*.pfx)를 사용하여 생성에서 1 년 만에 만료됩니다. 그 후, 후속 업데이트 릴리스가 설치되지 않을 것이며, 인증서 만료에 대한 사용자에게 무서운 메시지를 보여줍니다. Microsoft는 .NET 3.5 SP1 에서이 문제를 해결했지만 임시 또는 영구 인증서가 더 이상 필요하지 않다는 의견을 찾기 위해 릴리스 노트를 파헤쳐 야했습니다. 따라서 - 공개 CA 인증서가없고 한동안이 응용 프로그램을 지원할 경우 .NET 3.5 SP1에 있는지 확인하십시오.

시나리오의 복잡성에 따라 다른 솔루션에 대해 묻기 때문에 우리는 이와 같은 일을하는 "자신의 롤"접근 방식을 사용하여 상처를 입었습니다.

각 업데이트 된 릴리스는 필요에 따라 어셈블리 버전을 증가시킵니다.

빌드에는 새로운 어셈블리 버전으로 파일을 자동 생성하는 사용자 정의 단계가 포함되어 있습니다.

배포 프로젝트는 버전 파일을 MSI로 출력 디렉토리에 복사합니다.

설치된 응용 프로그램이 실행될 때마다 자체 버전을 배포 폴더의 버전 파일의 버전과 비교합니다. 다른 경우 응용 프로그램을 종료하고 MSI를 시작하여 이전 응용 프로그램 버전을 자동으로 제거하도록 설정했습니다.

이것은 AVL (광고 애플리케이션 광고조차 아님)이 무엇이든 응용 프로그램 배포 도구가없는 환경에 대한 "가난한 사람의 클릭"입니다. 다시 말하지만,이 접근법은 당신에게 충분히 정교하지는 않지만 우리에게는 잘 작동합니다.

행운을 빌어 요.

최고의 방법으로 나가 알고 있는 것이 그들을 보내 설치하는 프로그램:

  1. 현재 버전에 제거
  2. 실 ClickOnce 응용 프로그램에 거주하는 웹에 있습니다.

이와 함께,당신은 합리적인 경험을 업그레이드,거기에서 밖으로,ClickOnce 를 처리할 수 있는 업그레이드합니다.

이 경우 "가장 쉬운"솔루션은 1.1 버전의 ClickOnce 배포 만 사용하는 것이며 해당 새 버전의 애플리케이션의 일부로는 어떤 종류의 첫 번째 플래그가있는 기본 구성 파일이 있습니다. 사용자가 처음으로 실행하고 첫 번째 플래그를보고, 이전 버전을 찾고, 기존 구성 설정을 통해 복사 한 다음 이전 버전을 자동으로 제거합니다.

그것은 당신에게 약간의 프로그래밍이 필요하지만, 이전 작업에서 정산 한 솔루션은 유일한 작업을 수행하여 유틸리티 애플리케이션을 업그레이드하여 Clickonce를 사용하여 이전에 없었던 곳에는 그렇지 않은 곳에 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top