2009-08-13 3 views
3

ClickOnce 응용 프로그램을 클라이언트 컴퓨터에 설치 한 후 처음 시작할 때 폴더 X, Y 및 Z가 만들어집니다.ClickOnce 업데이트간에 사용자가 만든 파일을 보존 하시겠습니까?

사용자가 자신이 만든 응용 프로그램을 사용하기 시작하면 이러한 폴더에있는 다양한 파일. 나중에 새 버전의 응용 프로그램을 사용할 수 있으며 버전 1.0.0.0에서 1.0.0.1로 응용 프로그램을 업데이트합니다. 최종 결과는 폴더 X, Y 및 Z가 다시 만들어지며 비어 있습니다. 사용자는 그 파일로 만든 이전 폴더를 볼 수 없습니다. 버전에서 파일을 전파하고 응용 프로그램을 처음 설치할 때 폴더 X, Y 및 Z가 자동으로 만들어 지도록하려면 어떻게해야합니까?

답변

4

특히 응용 프로그램의 DataDirectory에서 생성 된 폴더 및 파일에 문제가있는 것으로 가정하여 정확합니까?

나는 두 가지 솔루션을 생각할 수 있습니다 :

  1. 업데이 후, DataDirectory를의 내용이 새 버전의 DataDirectory를로 복사되고 .pre라는 하위 폴더에 위치. 업데이트가 방금 ApplicationDeployment.CurrentDeployment.IsFirstRun을 사용하여 다운로드되었는지 프로그래밍 방식으로 확인한 다음 사용자 고유의 마이그레이션 코드를 작성하여 해당 폴더를 .pre에서 상위 디렉터리로 이동시킬 수 있습니다.

  2. 다른 대답은 우리가 사용했던 것과는 다른데, ClickOnce DataDirectory를 완전히 무시하고 사용자의 응용 프로그램 데이터 디렉토리에 자신의 폴더를 설정하는 것입니다 (해당 폴더의 .NET 별칭 사용 기억). 이 방법의 단점은 프로그램 추가/제거에서 응용 프로그램을 제거하면 폴더가 자동으로 제거되지 않는다는 것입니다. 여러 그나은 다음과 같습니다

    • 폴더는 제거를 통해 지속/손상된의 ClickOnce 캐시를 처리 할 때 가끔은 필요가있어 다시 설치 (몇 년 전에 비해 덜 자주하지만, 여전히 가끔 문제).

    • 폴더는 로밍 프로필을 사용하는 사용자를 따라갑니다 (우리의 경험으로는 로밍 프로필 상황에서 ClickOnce 디렉터리가 로밍하도록 구성되지 않았습니다).

    • 데이터 파일의 문제로 전화를 걸거나 전자 메일로 IT 지원을 받으려면 폴더를 찾기가 더 쉽습니다. IT 담당자들조차도 종종 ClickOnce 데이터 디렉토리 (숨겨진 상위 디렉토리가 있음)를 찾는 데 어려움을 겪고 있지만 대부분의 사람들은 회사 데이터 디렉토리에서 귀하의 회사 디렉토리를 쉽게 찾을 수 있습니다. 보안상의 이유로 해당 파일의 위치를 ​​난독 화해야하는 경우 YMMV.

관련 문제