Erste Schritte mit WiX in Visual Studio. Für die Bootstrapper-Projektvorlage kann nicht viel Dokumentation gefunden werden.Benötige ich 2 WIX-Projekte beim Erstellen von WiX Bootstrapper im Visual Studio?
Ich habe eine leere WPF-Anwendung erstellt. Dann habe ich ein Setup-Projekt ...
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="WiXBenchInstaller" Language="1033" Version="1.0.0.0" Manufacturer="None" UpgradeCode="9d845a6d-3e16-45d6-b0c4-7e818e465bfe">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes"/>
<Feature Id="ProductFeature" Title="WiXBenchInstaller" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="WiXBench" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<Component Id="ProductComponent">
<File Source="$(var.WiXBench.TargetPath)"/>
</Component>
</ComponentGroup>
</Fragment>
Dann habe ich eine Bootstrap-Projekt erstellt ...
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="WixBenchBootstrap" Version="1.0.0.0" Manufacturer="None" UpgradeCode="4b1049ed-38ba-4289-8d8d-e291160201e0">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage SourceFile="$(var.WiXBenchInstaller.TargetPath)"/>
</Chain>
</Bundle>
Alles funktioniert gut. Meine Frage ist, ob dies der richtige Ansatz ist. Es scheint übertrieben zu sein, 2 Installer-Projekte für eine einfache Anwendung zu haben. Könnte ich einfach ein Bootstrapper-Projekt haben, das alles Notwendige enthält?
In der Tat. Außer ich möchte eine .exe, nicht eine .msi. Das WiX-Setup-Projekt verfügt über eine Option zum Erstellen einer EXE-Datei, dies scheint jedoch nicht zu funktionieren. Ich denke, es ist ein Fehler. Außerdem möchte ich die UI wie im Bootstrapper, die die Lizenzdatei anzeigt und so weiter. So scheint es, dass ich 2 WiX-Projekte benötige, um dies zu erreichen. – AQuirky
Wenn Sie eine EXE benötigen, müssen Sie ein Bündel erstellen, wie Sie oben getan haben. Außerdem bietet MSI eine Option zum Anzeigen der Lizenz und anderer Build-in-Dialoge. http://wixtoolset.org/documentation/manual/v3/wixui/wixui_dialog_library.html. Wenn meine Antwort hilfreich war, bitte als beantwortet markieren. –