2012-11-15 2 views
0

내가 찾고 동작은 다음과 같습니다 WiX를 사용하여 설치 프로그램을 만들 때 INI 파일을 병합하려면 어떻게해야합니까?

if (!$bIniFileExists) 
{ 
    CopyBaseIniFile($installDir, $newIniFile); 
} 
else 
{ 
    foreach $key in $newIniFile 
    { 
    if (!exists $oldIniFile{$key}) 
    { 
     AddKeyValueToIni($oldIniFile, $key, $newIniFile{$key}); 
    } 
    } 
} 

그래서 나는 이전 사용자 설정을 유지하려면,하지만 여전히 새로운 설정을 복사. 필자는 WiX에 익숙하지 않고 일부 인터넷 검색 후에 IniFile WiX 객체를 찾았지만 문제는 디버거에서 응용 프로그램을 더 쉽게 실행할 수 있도록 '기본 ini 파일'에 모든 기본값을 유지하려고한다는 것입니다. IniFile 솔루션을 사용하면 config.ini와 설치 프로그램에 키를 포함시켜야하므로 불필요한 중복 작업이 필요합니다. 내가 원하는 것을 할 수있는 좋은 방법이 있습니까?

답변

1

INI와 XML의 경우이 작업은 매우 복잡합니다. 당신이 제안하고있는 것을하기 위해 코드 2 지원 2 INI 파일을 재 작성하는 것이 좋습니다.

STOCK.INI

USER.INI

개념은 그것을 "소유"하기 때문에 항상 안전하게 STOCK.INI을 덮어 쓸 수있는 설치 프로그램입니다.

USER.INI는 설치 프로그램에서 설치하지 않고 응용 프로그램에서 생성합니다.

그런 다음 설정을 읽는 코드는 값이 있는지 확인하고 STOCK.INI에서 빨간색으로 표시되지 않는지 확인해야합니다.

이렇게하면 stock.ini를 관리하고 user.ini를 변환으로 사용할 수 있습니다.

하나의 파일 (특히 XML)에서이 파일을 모두 관리하려는 시도는 매우 어렵고 유지할 속성과 데이터 병합의 일부로 바꿀 속성을 결정할 때 광범위한 계획이 필요합니다.

관련 문제