Ich habe mehrere Quellen gefunden, die eine WiX-Installationsdatei in die separaten Teile (Variablen, Komponenten usw.) unter Verwendung von Include-Dateien (.wxi) aufteilen. Macht Sinn für mich, also nahm ich die <Komponenten> Knoten aus der .wxs-Datei und legte sie in eine separate Datei, aber wenn ich versuche, das Projekt in Visual Studio 2008 zu kompilieren, bekomme ich einen Fehler für jede <ComponentRef> es ist eine "ungelöste Referenz auf das Symbol '...' im Abschnitt 'Produkt: {...}'".Verwenden von WXI-Dateien in Visual Studio WiX-Projekt
Ich habe versucht mit der <? Include "Dateiname"? > Tag in meiner Product.wxs-Datei, aber das scheint die Schema-Validierung zu brechen. Wenn das der Weg ist, es einzuschließen, wo muss es gehen?
Die Dateien, die 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 bekomme ich es in Visual Studio zu bauen? Scripting der Build scheint einfacher, aber noch kein Problem von mir.
@sascha hat hier den richtigen Vorschlag. Sie brauchen in Ihrem System oben überhaupt kein Include. Das ist die Kraft von Kerze/Licht. –