2009-03-16 5 views
4

Feature Tree UI와 함께 Wix3 베타를 사용하고 있습니다. ProgramFiles 내부의 사용자 정의 하위 디렉토리와 GAC에 별도의 구성 요소로 여러 어셈블리를 설치합니다. 또한 하나의 구성 요소로 동일한 어셈블리의 디버그 버전을 패키지화하고 사용자가 설치할지 여부를 결정하도록합니다. 이제 디버그 어셈블리가있는이 기능은 기본적으로 비활성화되어 있지만 디버그 어셈블리는 관계없이 설치됩니다.Wix 설치 및 비활성 기능

<DirectoryRef Id="INSTALLDIR"> 
    <Directory Id="bin" Name="bin"> 
    <Directory Id="Debug" Name="Debug"> 
     <Component Id="DebugComponent" Guid="PUT-GUID-HERE"> 
     <File Id="DebugAssemblyXXX" DiskId="1" Source="Debug\XXX.dll"></File> 
     </Component> 
    </Directory> 
    <Directory Id="Release" Name="Release"> 
     <Component Id="ReleaseComponent" Guid="PUT-GUID-HERE"> 
     <File Id="ReleaseAssemblyXXX" DiskId="1" Source="Release\XXX.dll"></File> 
     </Component> 
    </Directory> 
    </Directory> 
</DirectoryRef> 

<Feature Id="All" ConfigurableDirectory="INSTALLDIR" Title="Title" Level="1" 
     Display="expand" AllowAdvertise="no" Absent="disallow" Description="Desc"> 

    <Feature Id="DebugAssemblies" Title="Debug Assemblies" Level="1000" Absent="allow" 
      AllowAdvertise="no" Description="Debug versions of assemblies."> 
    <ComponentRef Id="DebugComponent" /> 
    </Feature> 

    <Feature Id="ReleaseFeature1" Title="Feature" Level="3" 
      AllowAdvertise="no" Description="Another description"> 
    <ComponentRef Id="ReleaseComponent"/> 
    </Feature> 
</Feature> 

이상한 것은 내가 실행하면 MSI 파일을 다시하고 "변경"로 이동하여 디버그 기능을 사용하지 않도록하고, 디버그 어셈블리가 삭제됩니다, 예를 들면 : 관련 조각 아래

이번에는 로직이 잘 작동합니다.

기본 INSTALLLEVEL 3.

어떤 제안이?

답변

7

다른 사람이이 문제에 익숙해 져있는 경우 : 분명히 최상위 기능의 이름을 "전체"로 지정하면 안됩니다. 내 경우처럼 - Wix/Windows Installer에 대한 기본 의미가있을 수 있습니다. 다른 이름으로 바꾸면 모든 것이 예상대로 작동합니다.