summaryrefslogtreecommitdiff
path: root/misc/makerelease/windows
diff options
context:
space:
mode:
Diffstat (limited to 'misc/makerelease/windows')
-rw-r--r--misc/makerelease/windows/LICENSE.rtfbin0 -> 1687 bytes
-rw-r--r--misc/makerelease/windows/README.txt25
-rw-r--r--misc/makerelease/windows/images/Banner.jpgbin0 -> 6643 bytes
-rw-r--r--misc/makerelease/windows/images/Dialog.jpgbin0 -> 16428 bytes
-rw-r--r--misc/makerelease/windows/images/DialogLeft.jpgbin0 -> 12961 bytes
-rw-r--r--misc/makerelease/windows/images/gopher.icobin0 -> 30166 bytes
-rw-r--r--misc/makerelease/windows/installer.wxs164
7 files changed, 189 insertions, 0 deletions
diff --git a/misc/makerelease/windows/LICENSE.rtf b/misc/makerelease/windows/LICENSE.rtf
new file mode 100644
index 000000000..b2b0be62c
--- /dev/null
+++ b/misc/makerelease/windows/LICENSE.rtf
Binary files differ
diff --git a/misc/makerelease/windows/README.txt b/misc/makerelease/windows/README.txt
new file mode 100644
index 000000000..0cf828b24
--- /dev/null
+++ b/misc/makerelease/windows/README.txt
@@ -0,0 +1,25 @@
+
+Windows build dependencies
+
+- Mercurial (hg): http://mercurial.selenic.com/
+- MinGW: http://www.mingw.org/
+- Windows Installer XML (WiX) toolset: http://wix.sourceforge.net/
+
+Packaging
+
+The dependencies must be in/added to the system's search PATH.
+
+Run bindist as normal, eg:
+ bindist windows-386
+
+TODO
+
+- Documentation server shortcut checkbox option
+
+Misc
+
+WiX box sizes:
+ - banner size: 493x58
+ - left side of dialog: 164x312
+ - full dialog size: 493x312
+
diff --git a/misc/makerelease/windows/images/Banner.jpg b/misc/makerelease/windows/images/Banner.jpg
new file mode 100644
index 000000000..ce65f63af
--- /dev/null
+++ b/misc/makerelease/windows/images/Banner.jpg
Binary files differ
diff --git a/misc/makerelease/windows/images/Dialog.jpg b/misc/makerelease/windows/images/Dialog.jpg
new file mode 100644
index 000000000..1f0ec0a31
--- /dev/null
+++ b/misc/makerelease/windows/images/Dialog.jpg
Binary files differ
diff --git a/misc/makerelease/windows/images/DialogLeft.jpg b/misc/makerelease/windows/images/DialogLeft.jpg
new file mode 100644
index 000000000..73bab89b4
--- /dev/null
+++ b/misc/makerelease/windows/images/DialogLeft.jpg
Binary files differ
diff --git a/misc/makerelease/windows/images/gopher.ico b/misc/makerelease/windows/images/gopher.ico
new file mode 100644
index 000000000..2e861ebe0
--- /dev/null
+++ b/misc/makerelease/windows/images/gopher.ico
Binary files differ
diff --git a/misc/makerelease/windows/installer.wxs b/misc/makerelease/windows/installer.wxs
new file mode 100644
index 000000000..b170b98dc
--- /dev/null
+++ b/misc/makerelease/windows/installer.wxs
@@ -0,0 +1,164 @@
+<?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]." &amp;&amp; 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>