2011-08-08 4 views
1

win 응용 프로그램에 대한 작업을하고 있었는데 설치 프로그램을 만들고 사이트에 넣었습니다. 일부 사용자가 사이트에 처음 방문하면 사용자가 내 응용 프로그램을 다운로드하도록 유도합니다. 설치 프로그램을 실행하는 동안 레지스트리에서 키를 만들었습니다. 스크립트는 사이트별로 확인되었습니다. 키가 존재하면 사용자가 앱을 설치했을 때 메시지가 표시되지 않습니다. 사용자가 응용 프로그램을 제거하면 설치시 설치 키가 삭제됩니다.다운로드 한 번 브라우저에서 응용 프로그램을 클릭하십시오.

참고 : 신뢰할 수있는 사이트에 내 사이트를 추가하고 내 스크립트를 읽도록 보안을 제어했습니다.

이제 시나리오가 변경되어 사용자가 클릭을 통해 앱을 구현해야하므로 앱을 제거한 후 다시 설치해야합니다. 그들은 여전히 ​​위에서 언급 한 것처럼 사이트에서 clickonce 앱 설치를 원하지만, 문제는 앱을 처음 실행할 때 해당 애플리케이션의 레지스트리를 작성하지만 제거시 레지스트리를 삭제하지 않는다는 것입니다. 다음 링크 set registry key through click once에 언급되어 있습니다.

이 요구 사항을 수행 할 수있는 방법이 있습니다. 어떤 도움을 주시면 감사하겠습니다.

+1

응용 프로그램을 제거하고 다시 설치하지 않아도 응용 프로그램을 업데이트 할 수 있습니다. 응용 프로그램이 설치되면 관련 exe 또는 어셈블리를 업데이트 할 수 있습니다. – Jethro

+0

답장을 보내 주셔서 감사합니다. 나는 어떤 이유로 든 사용자가 응용 프로그램을 제거했다는 것을 의미합니다. 내가 다시 설치하라는 메시지를 표시하고 싶지만 clickonce를 제거하면 레지스트리 값이 삭제되지 않으므로 브라우저에서 사용자에게 다시 프롬프트를 표시해야합니다. –

답변

1

응용 프로그램을 제거하기 전에 레지스트리 키를 제거하려면 제어 할 수있는 코드 내의 위치에서 제거 프로세스를 실행해야합니다. 이렇게하려면 사용자가 응용 프로그램 내에서 제거 프로세스를 시작하도록해야합니다. 사용자가 제거 프로세스를 시작하면 설치 제거를 계속하기 전에 응용 프로그램 내에서 레지스트리 키를 제거해야합니다.

제거/재설치 프로세스 자동화에 관한 Jim Harte의 훌륭한 블로그 게시물 (found here)이 있습니다. 그의 기사는 인증서 갱신 문제에 관한 것이지만 제거 프로세스는 동일합니다.

사용자가 프로그램 추가/제거 대화 상자를 통해 응용 프로그램을 제거하면 키가 제거되지 않습니다. 불행히도 레지스트리 키를 제거 할 수 있도록 ClickOnce 응용 프로그램의 제거 프로세스를 중단하는 방법을 알지 못합니다. 이 주변의 다른 누군가가 "창조적 인"해결책을 찾지 않는 한, 당신은 함께 살아야 할 것입니다.

+0

감사합니다. RLH, 제공된 링크를 사용하면 많은 도움이됩니다. –

2

업데이트 옵션이 게시 설정에서 활성화되어 있는지 확인하십시오 (필요한 경우 업데이트 지정에 최소 버전 지정 필요). 응용 프로그램이 시작되면 자동으로 업데이트를 확인합니다. 사용자가 매번 제거하지 않아도됩니다.

+0

답장을 보내 주셔서 감사합니다. 나는 어떤 이유로 든 사용자가 응용 프로그램을 제거했다는 것을 의미합니다. 내가 다시 설치하라는 메시지를 표시하고 싶지만 clickonce를 제거하면 레지스트리 값이 삭제되지 않으므로 브라우저에서 사용자에게 다시 프롬프트를 표시해야합니다. –

관련 문제