2011-01-20 3 views
4

여기에 꽤 많은 서버와 가상 컴퓨터에 배포 할 응용 프로그램이 있습니다. 이 응용 프로그램은 특정 파일 위치 및 URL (회사 네트워크의 어느 부분에 있는지, 도메인 이름이 필요한 경우, 매핑 된 드라이브 등을 사용하는 경우에 따라 다를 수 있음)에 크게 의존합니다. 이러한 배포 중 일부는 나로 설정되지 않을 수도 있고, 일부는 다른 최종 사용자가 설정할 수도 있습니다.최종 사용자가 Clickonce 배포 후에 응용 프로그램의 app.config를 변경할 수 있습니까?

내 솔루션은 app.config 파일의 값에 넣으므로 배포 후 서버에서 응용 프로그램을 설정하는 사람은 해당 서버에서 작동하는 app.config 설정을 변경해야합니다.

그런 다음 응용 프로그램의 배포와 업데이트를 단순화하는 데 도움이되는 ClickOnce 배포에 대해 알아 냈습니다. 그러면 응용 프로그램을 훨씬 간단하게 만들 수 있습니다.

문제는 사용자가 app.config의 값을 변경할 수있는 신뢰할 수있는 방법을 찾을 수 없다는 것이며 문제가되는 값을 유지하는 것이 바람직합니다. 웹에서 찾은 것으로부터 시스템 파일을 수정하면 파일이 오래되었다고 생각하고 해당 파일의 최신 버전을 다운로드하여 app.config에 대한 수정을 취소합니다. 또한 새 버전이 이전 버전과 완전히 다른 폴더에 배포 된 것처럼 보이므로 응용 프로그램을 업그레이드하면 이전 수정 사항이 완전히 제거됩니다.

나는 웹을 검색했으며 빈손으로 나옵니다. 여기있는 사람이 이것을 처리하는 방법에 대한 제안이 있습니까?

답변

1

here에 설명 된대로 사용자 범위 응용 프로그램 설정을 사용하여이 문제를 해결했습니다. 가장 좋은 방법은 아니지만 (특정 애플리케이션이 아닌 특정 사용자의 앱이기 때문에), 내 앱은 한 명의 사용자 만 실행하므로 괜찮습니다.

사용자가 설정을 변경하면 변경 사항이 계속 업데이트됩니다.

2

나는 데이터베이스 테이블에서 가능한 많은 값을 넣은 다음 관리자에게 프런트 엔드를 통해 사용자 설정을 변경할 수 있습니다.

+0

그렇다면 모든 서버에서 동일하게 볼 수있는 데이터베이스를 찾은 다음 서버별로 응용 프로그램 설정을 저장하는 테이블 구조를 만드는 번거 로움이 있습니다. 이것이 app.config가 처음부터 존재하는 이유입니다. 그것은 clickonce없이 잘 작동합니다. – KallDrexx

+0

당신의 응용 프로그램은 이미 db를 사용하지 않습니다. 이 경우 설정 테이블을 도입하는 것은 오버 헤드의 가치가 없습니다. 테이블은 서버 단위가 아니어야하며 응용 프로그램 용으로 하나만 있어야합니다. – Beth

+0

현재이 응용 프로그램은 DB와 통신하지 않으며 웹 서버 만 사용합니다. 어쨌든 변경해야하는 설정은 응용 프로그램이 설치되는 컴퓨터와 해당 컴퓨터의 구성에 따라 다릅니다. 따라서 모든 인스턴스에 대한 응용 프로그램의 광범위한 설정은 적용 할 수 없습니다. – KallDrexx

관련 문제