2009-03-16 20 views
4

私はFeature Tree UIでWix3ベータ版を使用しています。私は、いくつかのアセンブリを個別のコンポーネントとして、ProgramFiles内のカスタムサブディレクトリとGACにインストールしています。さらに、同じアセンブリのDEBUGバージョンを1つのコンポーネントとしてパッケージングし、ユーザーがそれらをインストールするかどうかを決定させたいと思います。現在、デバッグアセンブリを使用したこの機能はデフォルトでは無効になっていますが、デバッグアセンブリは関係なくインストールされます。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にはデフォルトの意味があります。名前を変更すると、すべてが期待通りに機能します。

関連する問題