Frage

Ich habe über mehrere Quellen kommt Angabe von WiX Installationsdatei in die einzelnen Teile zu zerlegen (Variablen, Komponenten, etc.) Dateien mit include (.wxi). Macht Sinn für mich, also habe ich die Knoten aus der .wxs Datei und legen Sie sie in einer separaten Datei, aber wenn ich versuche, das Projekt in Visual Studio 2008 zu kompilieren, erhalte ich einen Fehler für jeden Angabe es ist ein "Ungelöste Bezug auf Symbol '...' im Abschnitt 'Produkt: {...}'".

Ich habe versucht, die Tag in meinem Product.wxs Datei verwenden, aber das scheint die Schema-Validierung zu brechen. Wenn das der Weg, es zu schließen, mit muss es gehen?

Die Dateien ich habe, sind die folgenden.

Product.wxs

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product ...>
    <Package .../>
    <Media .../>
    <Directory Id="TARGETDIR" Name="SourceDir">
    </Directory>
    <Feature Id="MainProgram" Level="1">
      <ComponentRef Id="ProductComponent" />
      <Feature Id="ContextMenu" Level="2">
        <ComponentRef Id="ContextMenuComponent" />
      </Feature>
    </Feature>
  </Product>
</Wix>

Components.wxi

<?xml version="1.0" encoding="utf-8"?>
<Include>
  <Fragment>
    <Component Id="ProductComponent" ...>
      <File .../>
    </Component>
    <Component Id="ContextMenuComponent" ...>
      <RegistryKey .../>
    </Component>
  </Fragment>
</Include>

Wie kann ich es in Visual Studio zu bauen bekommen? Skripts für den Build scheint einfacher, aber kein Problem von mir nur noch.

War es hilfreich?

Lösung

Include-Dateien gedacht als Header-Dateien werden sollen, Sie wirklich wollen, nur um sie verwenden gemeinsame Variablen zu deklarieren, etc, die Sie benötigen zwischen mehreren .wxs Dateien gemeinsam nutzen.

Ihr Projekt verwendet ~ 10 .wxs Dateien und eine einzelne .wxi, dass ich den Produktcode definieren, Upgrade-Code, etc in.

Für eine bessere Vorstellung von dem, was ich rede Schauen Sie sich die SO Fragen Wix Tricks & best Practices und WiX Enthält vs. Fragmente auch, wie immer, die Dokumentation in Wix.chm

Andere Tipps

Versuchen Sie, die WXS Erweiterung statt wxi verwenden. Ich habe Mine aufgebrochen und verwenden WXS als Erweiterung, und es funktioniert einfach. Alle WXS Dateien im Projekt werden in den Wix-Compiler durch die wixproj geben.

diese Frage für mein Problem Suche gefunden und ich dachte, ich meine fix hinzufügen würde Incase jemand kam, von wo aus ich.

Wenn Sie eine wixproj Datei verwenden von Visual Studio zu kompilieren, so scheint es, dass dieses Projekt Typ nicht Datei-Links unterstützt (Add exising ... Als Link). Sie werden mit den Links in Ihrem Projekt am Ende, aber wenn man es beklagen kompiliert, dass es nicht aufgelöste Symbole.

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