github.com/roboticscm/goman@v0.0.0-20210203095141-87c07b4a0a55/misc/makerelease/windows/installer.wxs (about)

     1  <?xml version="1.0" encoding="UTF-8"?>
     2  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
     3  <!--
     4  # Copyright 2010 The Go Authors.  All rights reserved.
     5  # Use of this source code is governed by a BSD-style
     6  # license that can be found in the LICENSE file.
     7  -->
     8  
     9  <?if $(var.Arch) = 386 ?>
    10    <?define ProdId = {FF5B30B2-08C2-11E1-85A2-6ACA4824019B} ?>
    11    <?define UpgradeCode = {1C3114EA-08C3-11E1-9095-7FCA4824019B} ?>
    12    <?define SysFolder=SystemFolder ?>
    13  <?else?>
    14    <?define ProdId = {716c3eaa-9302-48d2-8e5e-5cfec5da2fab} ?>
    15    <?define UpgradeCode = {22ea7650-4ac6-4001-bf29-f4b8775db1c0} ?>
    16    <?define SysFolder=System64Folder ?>
    17  <?endif?>
    18  
    19  <Product
    20      Id="FF5B30B2-08C2-11E1-85A2-6ACA4824019B"
    21      Name="Go Programming Language $(var.Arch) $(var.GoVersion)"
    22      Language="1033"
    23      Codepage="1252"
    24      Version="$(var.WixGoVersion)"
    25      Manufacturer="http://golang.org"
    26      UpgradeCode="$(var.UpgradeCode)" >
    27  
    28  <Package
    29      Id='*' 
    30      Keywords='Installer'
    31      Description="The Go Programming Language Installer"
    32      Comments="The Go programming language is an open source project to make programmers more productive."
    33      InstallerVersion="300"
    34      Compressed="yes"
    35      InstallScope="perMachine"
    36      SummaryCodepage="1252"
    37      Languages="1033" />
    38      <!--    Platform="x86 or x64" -->
    39  
    40  <Property Id="ARPCOMMENTS" Value="The Go programming language is a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language." />
    41  <Property Id="ARPCONTACT" Value="golang-nuts@googlegroups.com" />
    42  <Property Id="ARPHELPLINK" Value="https://golang.org/help/" />
    43  <Property Id="ARPREADME" Value="https://golang.org" />
    44  <Property Id="ARPURLINFOABOUT" Value="https://golang.org" />
    45  <Property Id="LicenseAccepted">1</Property>
    46  <Icon Id="gopher.ico" SourceFile="images\gopher.ico"/>
    47  <Property Id="ARPPRODUCTICON" Value="gopher.ico" />
    48  <Media Id='1' Cabinet="go.cab" EmbedCab="yes" CompressionLevel="high" />
    49  <Condition Message="Windows 2000 or greater required."> VersionNT >= 500</Condition>
    50  <MajorUpgrade AllowDowngrades="yes" />
    51  <SetDirectory Id="INSTALLDIRROOT" Value="[%SYSTEMDRIVE]"/>
    52  
    53  <CustomAction
    54      Id="SetApplicationRootDirectory"
    55      Property="ARPINSTALLLOCATION"
    56      Value="[INSTALLDIR]" />
    57  
    58  <!-- Define the directory structure and environment variables -->
    59  <Directory Id="TARGETDIR" Name="SourceDir">
    60    <Directory Id="INSTALLDIRROOT">
    61      <Directory Id="INSTALLDIR" Name="Go"/>
    62    </Directory>
    63    <Directory Id="ProgramMenuFolder">
    64      <Directory Id="GoProgramShortcutsDir" Name="Go Programming Language"/>
    65    </Directory>
    66    <Directory Id="EnvironmentEntries">
    67      <Directory Id="GoEnvironmentEntries" Name="Go Programming Language"/>
    68    </Directory>
    69  </Directory>
    70  
    71  <!-- Programs Menu Shortcuts -->
    72  <DirectoryRef Id="GoProgramShortcutsDir">
    73    <Component Id="Component_GoProgramShortCuts" Guid="{f5fbfb5e-6c5c-423b-9298-21b0e3c98f4b}">
    74      <Shortcut
    75          Id="GoDocServerStartMenuShortcut"
    76          Name="GoDocServer"
    77          Description="Starts the Go documentation server (http://localhost:6060)"
    78          Show="minimized"
    79          Arguments='/c start "Godoc Server http://localhost:6060" "[INSTALLDIR]bin\godoc.exe" -http=localhost:6060 -goroot="[INSTALLDIR]." &amp;&amp; start http://localhost:6060'
    80          Icon="gopher.ico"
    81          Target="[%ComSpec]" />
    82      <Shortcut
    83          Id="UninstallShortcut"
    84          Name="Uninstall Go"
    85          Description="Uninstalls Go and all of its components"
    86          Target="[$(var.SysFolder)]msiexec.exe"
    87          Arguments="/x [ProductCode]" />
    88      <RemoveFolder
    89          Id="GoProgramShortcutsDir"
    90          On="uninstall" />
    91      <RegistryValue
    92          Root="HKCU"
    93          Key="Software\GoProgrammingLanguage"
    94          Name="ShortCuts"
    95          Type="integer" 
    96          Value="1"
    97          KeyPath="yes" /> 
    98    </Component>
    99  </DirectoryRef>
   100  
   101  <!-- Registry & Environment Settings -->
   102  <DirectoryRef Id="GoEnvironmentEntries">
   103    <Component Id="Component_GoEnvironment" Guid="{3ec7a4d5-eb08-4de7-9312-2df392c45993}">
   104      <RegistryKey 
   105          Root="HKCU"
   106          Key="Software\GoProgrammingLanguage"
   107          Action="create" >
   108              <RegistryValue
   109                  Name="installed"
   110                  Type="integer"
   111                  Value="1"
   112                  KeyPath="yes" />
   113              <RegistryValue
   114                  Name="installLocation"
   115                  Type="string"
   116                  Value="[INSTALLDIR]" />
   117      </RegistryKey>
   118      <Environment
   119          Id="GoPathEntry"
   120          Action="set"
   121          Part="last"
   122          Name="PATH"
   123          Permanent="no"
   124          System="yes"
   125          Value="[INSTALLDIR]bin" />
   126      <Environment
   127          Id="GoRoot"
   128          Action="set"
   129          Part="all"
   130          Name="GOROOT"
   131          Permanent="no"
   132          System="yes"
   133          Value="[INSTALLDIR]" />
   134      <RemoveFolder
   135          Id="GoEnvironmentEntries"
   136          On="uninstall" />
   137    </Component>
   138  </DirectoryRef>
   139  
   140  <!-- Install the files -->
   141  <Feature
   142      Id="GoTools"
   143      Title="Go"
   144      Level="1">
   145        <ComponentRef Id="Component_GoEnvironment" />
   146        <ComponentGroupRef Id="AppFiles" />
   147        <ComponentRef Id="Component_GoProgramShortCuts" />
   148  </Feature>
   149  
   150  <!-- Update the environment -->
   151  <InstallExecuteSequence>
   152      <Custom Action="SetApplicationRootDirectory" Before="InstallFinalize" />
   153  </InstallExecuteSequence>
   154  
   155  <!-- Include the user interface -->
   156  <WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" />
   157  <WixVariable Id="WixUIBannerBmp" Value="images\Banner.jpg" />
   158  <WixVariable Id="WixUIDialogBmp" Value="images\Dialog.jpg" />
   159  <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
   160  <UIRef Id="WixUI_InstallDir" />
   161  
   162  </Product>
   163  </Wix>