문제

이것은 순진한 질문 일 수 있습니다. 명령 줄에서 선택한 기능을 지원하기 위해 .wxs 파일을 수동으로 편집해야합니다.

예를 들어 .wxs 파일에는 3 가지 기능이 있습니다.

<Feature Id="AllFeature" Level='1'>

    <Feature Id="Feature1" Level='1'> </Feature>

    <Feature Id="Feature2" Level='1'> </Feature>

    <Feature Id="Feature3" Level='1'> </Feature>

</Feature>

이제 명령 줄에서 기능을 선택하고 싶습니다. "msiexec /i install.msi feature = a"를 입력하면 "feature1"및 "feaction2"가 설치됩니다. "msiexec/i install.msi feature = b"를 입력하면 "feature1"및 "feaction3"이 설치됩니다. 이 경우, "A"맵은 1 및 2를 특징으로합니다. "B"맵은 1과 3을 특징으로합니다.

Wix에서 이것을 달성하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

feature1, feature2 및 feature3를 구성 요소로 변경 한 다음 다음과 같은 것을 선언합니다.

<Feature Id="FEATUREA" Title="Super" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component2" />
</Feature>

<Feature Id="FEATUREB" Title="Super1" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component3"/>
</Feature>

그런 다음 Featurea 또는 FeatureB를 설치하십시오

msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB]

다른 팁

허용 된 답변은 이미 AddLocal 속성을 언급하지만 하나의 기능 만 선택할 수 있음을 암시하는 것 같습니다. 실제로 다음과 같이 쉼표로 분리하여 여러 기능을 선택할 수 있습니다.

msiexec /i install.msi ADDLOCAL=Feature1,Feature2

또는

msiexec /i install.msi ADDLOCAL=Feature2,Feature3

또 다른 힌트 : MSI를 범고래. 이 트릭을 사용하여 ThirdParty MSI 패키지의 특정 기능을 설치하는 부트 스트랩을 만들 때 매우 유용합니다.

기능 상태를 제어 할 수있는 여러 속성이 있습니다. 이 MSI SDK 문서와 링크를 확인하십시오. http://msdn.microsoft.com/en-us/library/aa367536(vs.85).aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top