virt-viewer/data/virt-viewer.wxs.in
Daniel P. Berrangé 7bea22aece msi: record full build environment in MSI installer
For proper compliance with the GPL and other licenses we need to be
clear about exactly what toolchain and dependent packages we used in
order to build the MSI installer we distribute.

Historically we've done this by including a "deps.txt" file which
provides a list of all the mingw{32,64}-* RPMs on the host system.

This is not sufficient information, however, because the build system
will in fact use various native packages too from the toolchain too,
notably including any program run by "configure" which covers various
shell utilities, and pkg-config, and then of course make & msitools
itself.

Rather than try to figure out which subset of host RPMs are used,
just list every single host RPM that is installed.

A key implication of this is that formal release builds should always
be done in a pristine build root populated with the minimal content
required for the build.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-02-19 14:59:18 +00:00

133 lines
5.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define Version = "@WINDOWS_PRODUCTVERSION@"?>
<?define Arch = "@WIXL_ARCH@"?>
<?if $(var.Arch) = "x64"?>
<?define GLIB_ARCH = "win64"?>
<?define ArchString = "64-bit"?>
<?define ArchProgramFilesFolder = "ProgramFiles64Folder"?>
<?define Win64 = "yes"?>
<?else?>
<?define GLIB_ARCH = "win32"?>
<?define ArchString = "32-bit"?>
<?define ArchProgramFilesFolder = "ProgramFilesFolder"?>
<?define Win64 = "no"?>
<?endif?>
<?if $(var.HaveSpiceGtk) = "True"?>
<?require spice-gtk3.wxi?>
<?endif?>
<?if $(var.HaveGtkVnc) = "True"?>
<?require gtk-vnc2.wxi?>
<?endif?>
<?require adwaita-icon-theme.wxi?>
<?if $(var.HaveLibvirt) = "True"?>
<?require libvirt.wxi?>
<?require libvirt-glib.wxi?>
<?endif?>
<?if $(var.HaveOVirt) = "True"?>
<?require libgovirt.wxi?>
<?endif?>
<?require libxml2.wxi?>
<?define UpgradeCode = "5B027138-1A63-49E6-877E-055E5EEC1903"?>
<Product Id="*"
Name="VirtViewer @VERSION@@BUILDID@ ($(var.ArchString))"
Manufacturer="$(env.MANUFACTURER)"
Version="$(var.Version)"
UpgradeCode="$(var.UpgradeCode)"
Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="comments" InstallScope="perMachine"/>
<Media Id="1" Cabinet="cabinet.cab" EmbedCab="yes"/>
<Property Id="ARPHELPLINK" Value="http://www.virt-tools.org"/>
<Property Id="ARPNOMODIFY" Value="1"/>
<Property Id="ARPNOREPAIR" Value="1"/>
<Property Id="ARPPRODUCTICON" Value="virt-viewer.ico"/>
<Property Id="ARPURLINFOABOUT" Value="http://www.virt-tools.org/about"/>
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.Version)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED"/>
<UpgradeVersion Minimum="0.0.0" Maximum="$(var.Version)" IncludeMinimum="yes" IncludeMaximum="no" Property="OLDERVERSIONBEINGUPGRADED"/>
</Upgrade>
<Condition Message="VirtViewer is already installed.">NOT NEWERVERSIONDETECTED</Condition>
<DirectoryRef Id="TARGETDIR">
<Component Id="CProgIds" Guid="89D6F46D-9C5E-4D65-8456-58FC361E553E">
<ProgId Id='VirtViewer.vvfile' Description='VirtViewer connection file'>
<Extension Id='vv' ContentType='application/x-virt-viewer'>
<Verb Id='open' Command='Open' TargetFile='fil610DF9E49759B1DEC646290195F96F8A' Argument='"%1"' />
<MIME ContentType="application/x-virt-viewer" Default="yes"/>
</Extension>
</ProgId>
</Component>
</DirectoryRef>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ArchProgramFilesFolder)">
<Directory Id="INSTALLDIR" Name="VirtViewer v@VERSION@@BUILDID@">
<Component Id="CBuildEnvFile" Guid="*">
<File Id="filA1E799D196006E6DF67DACE15B8C6193" KeyPath="yes" Source="buildenv.txt"/>
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="MENUDIR" Name="VirtViewer"/>
</Directory>
</Directory>
<DirectoryRef Id="INSTALLDIR">
<Directory Id="DirShare" Name="share">
<Directory Id="DirHwdata" Name="hwdata">
<Component Id="CHwdataUSB" Guid="*">
<File Id="FHwdataUSB" KeyPath="yes" Source="/usr/share/hwdata/usb.ids"/>
</Component>
</Directory>
</Directory>
</DirectoryRef>
<DirectoryRef Id="MENUDIR">
<Component Id="CShortcut" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="Remote viewer"
Description="A SPICE/VNC client"
Target="[INSTALLDIR]\bin\remote-viewer.exe"
Icon="virt-viewer.ico"/>
<RemoveFolder Id="MENUDIR" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\VirtViewer\remote-viewer-shortcut" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Feature Id="Complete" Level="1">
<?if $(var.HaveSpiceGtk) = "True"?>
<ComponentGroupRef Id="CG.spice-gtk3"/>
<?endif?>
<?if $(var.HaveGtkVnc) = "True"?>
<ComponentGroupRef Id="CG.gtk-vnc2"/>
<?endif?>
<ComponentGroupRef Id="CG.adwaita-icon-theme"/>
<?if $(var.HaveLibvirt) = "True"?>
<ComponentGroupRef Id="CG.libvirt"/>
<ComponentGroupRef Id="CG.libvirt-glib"/>
<?endif?>
<?if $(var.HaveOVirt) = "True"?>
<ComponentGroupRef Id="CG.libgovirt"/>
<?endif?>
<ComponentGroupRef Id="CG.libxml2"/>
<ComponentGroupRef Id="CG.virt-viewer"/>
<ComponentRef Id="CBuildEnvFile"/>
<ComponentRef Id="CShortcut"/>
<ComponentRef Id="CProgIds"/>
<ComponentRef Id="CHwdataUSB"/>
</Feature>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
<Icon Id="virt-viewer.ico" SourceFile="../icons/virt-viewer.ico"/>
</Product>
</Wix>