2014-09-11 5 views
0

기본적으로 문제는 내가 존재할 수도 있고 존재하지 않을 수도있는 많은 디렉토리에 하나의 파일을 설치하려는 것입니다. 많은 디렉토리는 플랫폼이나 버전에 따라 다를뿐 유사한 구조를 가지고 있습니다. 각 가능한 버전과 플랫폼 및 각 구성 요소에 대한 변수를 만드는 대신, 어떤 형식의 와일드 카드를 사용하여 REGEX 구조가있는 경로에 파일을 설치하고 싶습니다. 몇 가지 예가 있습니다.WiX 디렉토리 경로에 와일드 카드 사용

예 실제 경로 :

C:\Program Files\Some App\v. 10\bin\ 
C:\Program Files\Some App\v. 12\bin\ 
C:\Program Files (x 86)\Some App\v. 9\bin\ 
C:\Program Files\Other App v. 12\bin\ 
C:\Program Files (x 86)\Other App v. 14\bin\ 

내가 대상 디렉토리로 사용하고자하는 것의 예 :

C:\Program Files*\Some App\v. *\bin\ 
C:\Program Files*\Other App v. *\bin\ 

디렉토리 구조가 내게로 정의되지 않도록 유의하시기 바랍니다, 내가 내 응용 프로그램을 플러그인으로 다른 응용 프로그램에 설치하면 구성 파일을 복사해야합니다. 또한 실제 파일 경로가 더 복잡해지며, 필자는 실수로 파일을 설치해서는 안되는 위치에 설치하게 될 것 같지 않습니다. 뿐만 아니라, 그것이 일어난다해도 그것은 아무 것도 깨뜨리지 않을 것입니다.

이것이 가능합니까?

편집 : 또한 디렉토리가 존재하지 않아 파일 설치에 실패하면 전체 설치가 실패하지 않기를 바랍니다. 존재하지 않는 경로는 완벽하게 수용 할 수 있습니다.

답변

2

CustomAction (C#, C++ 등의 방법으로 관리)을 사용하면 쉽게 접근 할 수 있습니다. 내가 아는 한 WIX는 폴더 구조에서 와일드 카드를 직접적으로 지원하지 않습니다.

파라핀이라는 폴더 트리 구조를 생성하는 도구도 있습니다. 여기에서 다운로드 링크를 얻을 수 있습니다. http://www.wintellect.com/devcenter/jrobbins/paraffin-3-6-now-keeping-custom-added-namespaces) 그러나 문제가 잘 이해된다면 기존 구조에만 적용됩니다.

+0

중요한 기능이 없어서 WIX에서 벗어나려고합니다. 수천 개의 파일을 처리 할 때 수동으로 시도하고 관리하는 것은 실용적이지 않습니다. 와일드 카드는 일부 프로젝트에서 절대적으로 필요합니다. – Brain2000