Frage

Dies könnte eine naive Frage sein. Ich muß manuell eine .WXS-Datei bearbeiten, um es auszuwählen Funktionen von der Kommandozeile zu machen unterstützen.

Zum Beispiel gibt es 3 Funktionen in .WXS Datei.

<Feature Id="AllFeature" Level='1'>

    <Feature Id="Feature1" Level='1'> </Feature>

    <Feature Id="Feature2" Level='1'> </Feature>

    <Feature Id="Feature3" Level='1'> </Feature>

</Feature>

Jetzt will ich Funktionen von der Kommandozeile aus. Sprich, wenn ich schreibe "msiexec / i Install.msi FEATURE = A", dann "Feature1" und "Feature2" installiert ist; wenn ich schreibe "msiexec / i Install.msi FEATURE = B", dann "Feature1" und "Feature3" installiert ist. In diesem Fall „A“ Karten 1 und 2 zu zeichnen; "B" Karten zeichnen 1 und 3.

Wie dies in WIX erreichen?

War es hilfreich?

Lösung

würde ich Feature1, Feature2 und Feature3 zu Komponenten ändern, dann so etwas wie dies erklären würde:

<Feature Id="FEATUREA" Title="Super" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component2" />
</Feature>

<Feature Id="FEATUREB" Title="Super1" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component3"/>
</Feature>

Dann installieren Sie entweder FeatureA oder FeatureB

msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB]

Andere Tipps

Die akzeptierte Antwort bereits erwähnt die ADDLOCAL Eigenschaft, aber scheint zu implizieren, dass Sie nur eine Funktion auswählen können. Sie können tatsächlich mehrere Funktionen auswählen, indem sie durch Kommas wie folgt seperating:

msiexec /i install.msi ADDLOCAL=Feature1,Feature2

oder

msiexec /i install.msi ADDLOCAL=Feature2,Feature3

Ein weiterer Hinweis: Sie können diese Feature-Namen entdecken, indem Sie die msi Öffnen mit orca . Dies ist sehr nützlich, wenn Sie diese Tricks verwenden mögen ein Bootstrap-Programm zu erstellen, die bestimmten Funktionen von Drittanbietern msi Pakete installiert.

Es gibt eine Reihe von Eigenschaften, die die Installationszustände von Funktionen steuern können. Sehen Sie sich diese MSI-SDK-Dokumentation und die Links von ihm: http: //msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top