Ich benutze Wix3 Beta mit Feature Tree UI. Ich installiere mehrere Assemblies als separate Komponenten in einem benutzerdefinierten Unterverzeichnis in ProgramFiles sowie in GAC. Zusätzlich möchte ich DEBUG-Versionen derselben Baugruppen als eine Komponente verpacken und den Benutzer entscheiden lassen, ob er sie installiert oder nicht. Jetzt ist diese Funktion mit Debug-Assemblys standardmäßig deaktiviert, die Debug-Assemblys werden jedoch unabhängig davon installiert.Wix Installer und deaktivierte Funktionen
unter dem relevanten Code-Schnipsel:
<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>
Das Seltsame ist, dass wenn ich die msi wieder und „Change“ Go-Datei ausführen und die Debug-Funktion deaktivieren, werden die Debug-Baugruppen gelöscht werden, z.B. Die Logik funktioniert diesmal gut.
Der Standardinstall ist 3.
Irgendwelche Vorschläge?