2009-03-16 10 views
4

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?

Antwort

7

Falls jemand anderes damit klarkommt: Offensichtlich sollte die Top-Level-Funktion nicht wie in meinem Fall "Alle" heißen - es könnte eine Standardbedeutung für Wix/Windows Installer haben. Nach dem Umbenennen funktioniert alles wie erwartet.

Verwandte Themen