<?xml version="1.0" encoding="UTF-8"?> | |
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> | |
<!-- | |
# Copyright 2010 The Go Authors. All rights reserved. | |
# Use of this source code is governed by a BSD-style | |
# license that can be found in the LICENSE file. | |
--> | |
<?if $(var.Arch) = 386 ?> | |
<?define ProdId = {FF5B30B2-08C2-11E1-85A2-6ACA4824019B} ?> | |
<?define UpgradeCode = {1C3114EA-08C3-11E1-9095-7FCA4824019B} ?> | |
<?define SysFolder=SystemFolder ?> | |
<?else?> | |
<?define ProdId = {716c3eaa-9302-48d2-8e5e-5cfec5da2fab} ?> | |
<?define UpgradeCode = {22ea7650-4ac6-4001-bf29-f4b8775db1c0} ?> | |
<?define SysFolder=System64Folder ?> | |
<?endif?> | |
<Product | |
Id="FF5B30B2-08C2-11E1-85A2-6ACA4824019B" | |
Name="Go Programming Language $(var.Arch) $(var.Version)" | |
Language="1033" | |
Codepage="1252" | |
Version="0.0.0.0" | |
Manufacturer="http://golang.org" | |
UpgradeCode="$(var.UpgradeCode)" > | |
<!-- Version="$(var.Version)" TODO: Version requires X.X.X.X format --> | |
<Package | |
Id='*' | |
Keywords='Installer' | |
Description="The Go Programming Language Installer" | |
Comments="The Go programming language is an open source project to make programmers more productive." | |
InstallerVersion="300" | |
Compressed="yes" | |
InstallScope="perMachine" | |
SummaryCodepage="1252" | |
Languages="1033" /> | |
<!-- Platform="x86 or x64" --> | |
<Property Id="ARPCOMMENTS" Value="The Go programming language is a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language." /> | |
<Property Id="ARPCONTACT" Value="golang-nuts@googlegroups.com" /> | |
<Property Id="ARPHELPLINK" Value="golang.org/doc/community.html" /> | |
<Property Id="ARPREADME" Value="golang.org" /> | |
<Property Id="ARPURLINFOABOUT" Value="golang.org" /> | |
<Property Id="LicenseAccepted">1</Property> | |
<Icon Id="gopher.ico" SourceFile="images\gopher.ico"/> | |
<Property Id="ARPPRODUCTICON" Value="gopher.ico" /> | |
<Media Id='1' Cabinet="go.cab" EmbedCab="yes" CompressionLevel="high" /> | |
<Condition Message="Windows 2000 or greater required."> VersionNT >= 500</Condition> | |
<MajorUpgrade AllowDowngrades="yes" /> | |
<SetDirectory Id="INSTALLDIRROOT" Value="[%SYSTEMDRIVE]"/> | |
<CustomAction | |
Id="SetApplicationRootDirectory" | |
Property="ARPINSTALLLOCATION" | |
Value="[INSTALLDIR]" /> | |
<!-- Define the directory structure and environment variables --> | |
<Directory Id="TARGETDIR" Name="SourceDir"> | |
<Directory Id="INSTALLDIRROOT"> | |
<Directory Id="INSTALLDIR" Name="Go"/> | |
</Directory> | |
<Directory Id="ProgramMenuFolder"> | |
<Directory Id="GoProgramShortcutsDir" Name="Go Programming Language"/> | |
</Directory> | |
<Directory Id="EnvironmentEntries"> | |
<Directory Id="GoEnvironmentEntries" Name="Go Programming Language"/> | |
</Directory> | |
</Directory> | |
<!-- Programs Menu Shortcuts --> | |
<DirectoryRef Id="GoProgramShortcutsDir"> | |
<Component Id="Component_GoProgramShortCuts" Guid="{f5fbfb5e-6c5c-423b-9298-21b0e3c98f4b}"> | |
<Shortcut | |
Id="GoDocServerStartMenuShortcut" | |
Name="GoDocServer" | |
Description="Starts the Go documentation server (http://localhost:6060)" | |
Show="minimized" | |
Arguments='/c start "Godoc Server http://localhost:6060" "[INSTALLDIR]bin\godoc.exe" -http=localhost:6060 -goroot="[INSTALLDIR]." && start http://localhost:6060' | |
Icon="gopher.ico" | |
Target="[%ComSpec]" /> | |
<Shortcut | |
Id="UninstallShortcut" | |
Name="Uninstall Go" | |
Description="Uninstalls Go and all of its components" | |
Target="[$(var.SysFolder)]msiexec.exe" | |
Arguments="/x [ProductCode]" /> | |
<RemoveFolder | |
Id="GoProgramShortcutsDir" | |
On="uninstall" /> | |
<RegistryValue | |
Root="HKCU" | |
Key="Software\GoProgrammingLanguage" | |
Name="ShortCuts" | |
Type="integer" | |
Value="1" | |
KeyPath="yes" /> | |
</Component> | |
</DirectoryRef> | |
<!-- Registry & Environment Settings --> | |
<DirectoryRef Id="GoEnvironmentEntries"> | |
<Component Id="Component_GoEnvironment" Guid="{3ec7a4d5-eb08-4de7-9312-2df392c45993}"> | |
<RegistryKey | |
Root="HKCU" | |
Key="Software\GoProgrammingLanguage" | |
Action="create" > | |
<RegistryValue | |
Name="installed" | |
Type="integer" | |
Value="1" | |
KeyPath="yes" /> | |
<RegistryValue | |
Name="installLocation" | |
Type="string" | |
Value="[INSTALLDIR]" /> | |
</RegistryKey> | |
<Environment | |
Id="GoPathEntry" | |
Action="set" | |
Part="last" | |
Name="PATH" | |
Permanent="no" | |
System="yes" | |
Value="[INSTALLDIR]bin" /> | |
<Environment | |
Id="GoRoot" | |
Action="set" | |
Part="all" | |
Name="GOROOT" | |
Permanent="no" | |
System="yes" | |
Value="[INSTALLDIR]" /> | |
<RemoveFolder | |
Id="GoEnvironmentEntries" | |
On="uninstall" /> | |
</Component> | |
</DirectoryRef> | |
<!-- Install the files --> | |
<Feature | |
Id="GoTools" | |
Title="Go" | |
Level="1"> | |
<ComponentRef Id="Component_GoEnvironment" /> | |
<ComponentGroupRef Id="AppFiles" /> | |
<ComponentRef Id="Component_GoProgramShortCuts" /> | |
</Feature> | |
<!-- Update the environment --> | |
<InstallExecuteSequence> | |
<Custom Action="SetApplicationRootDirectory" Before="InstallFinalize" /> | |
</InstallExecuteSequence> | |
<!-- Include the user interface --> | |
<WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" /> | |
<WixVariable Id="WixUIBannerBmp" Value="images\Banner.jpg" /> | |
<WixVariable Id="WixUIDialogBmp" Value="images\Dialog.jpg" /> | |
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> | |
<UIRef Id="WixUI_InstallDir" /> | |
</Product> | |
</Wix> |