summaryrefslogtreecommitdiff
path: root/spice-vdagent.wxs.in
blob: d4314dbb349e97c21418824064877efd01785590 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?xml version="1.0" encoding="utf-8"?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <?define Version = "@WINDOWS_PRODUCTVERSION@"?>
  <?define UpgradeCode = "7eb9b146-db04-42d7-a8ba-71fc8ced7eed"?>
  <?define Arch = "@WIXL_ARCH@"?>
  <?if $(var.Arch) = "x64"?>
      <?define ArchString = "64-bit"?>
      <?define ArchProgramFilesFolder = "ProgramFiles64Folder"?>
      <?define Win64 = "yes"?>
  <?else?>
      <?define ArchString = "32-bit"?>
      <?define ArchProgramFilesFolder = "ProgramFilesFolder"?>
      <?define Win64 = "no"?>
  <?endif?>

  <Product Id="*" Name="$(env.PRODUCT) @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="https://www.spice-space.org"/>
    <Property Id="ARPNOMODIFY" Value="1"/>
    <Property Id="ARPNOREPAIR" Value="1"/>
    <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="Product already installed.">NOT NEWERVERSIONDETECTED</Condition>
    <?if $(var.Win64) = no AND $(var.NoWOW) = yes ?>
      <Condition Message="Error: 32-bit version of $(env.PRODUCT) can not be installed on 64-bit Windows.">
          <![CDATA[Not VersionNT64]]>
      </Condition>
    <?endif?>
    <InstallExecuteSequence>
      <RemoveExistingProducts After="InstallFinalize"/>
    </InstallExecuteSequence>

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="$(var.ArchProgramFilesFolder)">
        <Directory Id="INSTALLDIR" Name="$(env.INSTALLDIRECTORY)">
          <Directory Id="Dbindir" Name="$(env.BINDIRECTORY)">
            <Component Id="CSpiceAgent" Guid="*" Win64="$(var.Win64)">
              <File Id='spiceagent' Name='vdagent.exe' DiskId='1' Source='vdagent.exe' KeyPath='yes'/>
            </Component>
            <Component Id="CSpiceService" Guid="*" Win64="$(var.Win64)">
              <File Id='spiceservice' Name='vdservice.exe' DiskId='1' Source='vdservice.exe' KeyPath='yes'/>
              <ServiceInstall Id="ServiceInstall"
                            Name="spice-agent"
                            DisplayName="$(env.PRODUCT)"
                            Description="The Spice guest agent"
                            Type="ownProcess"
                            Start="auto"
                            Account="[SERVICEACCOUNT]"
                            Password="[SERVICEPASSWORD]"
                            ErrorControl="normal"/>
              <ServiceControl Id="StartService"
                            Name="spice-agent"
                            Start="install"
                            Stop="both"
                            Remove="uninstall"
                            Wait="yes"/>
            </Component>
          </Directory>
        </Directory>
      </Directory>
    </Directory>

    <Feature Id="Complete"  Level="1">
      <ComponentRef Id="CSpiceAgent"/>
      <ComponentRef Id="CSpiceService"/>
    </Feature>

  </Product>
</Wix>