나는 큰 문제가있다 :업데이트 설치 : app.config를 저장하는 방법?
나는 오래된 응용 프로그램 인 App1.0.exe가있다. 이 응용 프로그램에는 App1.0.exe.config (응용 프로그램 구성)라는 파일이 있습니다. 이제 버전 2.0을 만들었습니다. 새로운 버전으로 Appconfig에 다른 Appsettings가 있습니다. 내 질문은 : 업데이트 설치를 만들 때 이전 Appconfig를 어떻게 저장할 수 있습니까?
이 시도의 문제를 해결하기 위해이 실패:
- 읽기를 BeforeInstall 이벤트와 기존의 설정에서, 컨텍스트 매개 변수에 저장하고 Afterinstall 이벤트에 새로운 설정에 작성합니다. - BeforeInstall이 새 구성을 읽습니다 (이전 구성이 삭제됨). - 새 Appconfig를 복사하지 않지만 파일 이름을 다른 이름으로 복사하십시오. 새로운 appconfig를 포함하는 AppConfigUpdate.config. afterinstall 이벤트에서 File.Move()를 사용하여 이전 Config를 저장합니다. 이제 어디 갔지 있습니다
-Appconfig.exe.config_Original
-AppconfigUpdate.config
보다 내가 .config_Original을 읽고 AppConfigUpdate.config의 매개 변수를 작성하고 Appconfig.exe이 이름을 바꿉니다. config
내 문제는 RemoveExistingProducts라는 사용자 지정 동작을 실행 한 후 실행되는 표준 작업이 msi에 있다는 것입니다. 이제는 설치 프로그램을 디버그 할 때 내 커스터마이징이 끝나면 이전 구성 인 .config_original과 새 구성 .config가 이전 구성의 올바른 매개 변수와 함께 있음을 알 수 있습니다. 하지만 내 사용자 지정 작업 후에 설치 프로그램은 .config 파일을 삭제하고 .config_original 파일 만 남아 있습니다.
나는 RemoveExistingProducts가 업데이트 패키지와 함께 제공되지 않은 모든 파일을 삭제한다고 생각합니다. 하지만 원래 구성을 덮어 쓰고 모든 매개 변수가 손실되기 때문에 .config를 전달할 수 없습니다.
저는이 문제에 3 일 이상을 일하고 있습니다. 정말 도움이 필요합니다. 이 문제를 해결하는 방법에 대한 아이디어가 부족합니다. 여러분 중 누구라도 비슷한 문제가 있습니까?
죄송합니다. 감사합니다.
왜 이전 App.config를 저장해야합니까? 사용자가 변경 한 모든 설정이 AppData의 user.config에 저장되어 있기 때문에 V1을 배포 한 이후로 어떤 값 으로든 값을 변경해서는 안됩니다. – ChrFin
왜 안 되니? 사용자가 v1을 설치 한 이유 v1에서와 동일한 설정이있을 때 v2를 새로 구성해야하는 이유는 무엇입니까? 그래, 내가 설정을 변경해서는 안된다, 그것은 큰 실수였다 : (.하지만 문제는 : 그것은 happend 그리고 지금 나는이 문제를 해결하려고 노력하고있다. 문제는 다른 프로그램에 대한 몇 가지 경로가있다. 차이점이 있습니다 – Manuel