2009-03-16 3 views
4

Я использую Wix3 beta с интерфейсом Feature Tree. Я устанавливаю несколько сборок в виде отдельных компонентов в пользовательский подкаталог внутри ProgramFiles, а также в GAC. Кроме того, я хотел бы упаковать версии DEBUG из тех же сборок, что и один компонент, и позволить пользователю решить, устанавливать ли их или нет. Теперь эта функция с отладочными сборками по умолчанию отключена, но сборки отладки установлены независимо.Установщик 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. Переименовывая его во что-то еще, все работает так, как ожидалось.

Смежные вопросы