mirror of
https://github.com/golang/go
synced 2024-11-21 23:34:42 -07:00
misc/dist/windows: ongoing dev
Embedded Go images in the installer dialog and banner boxes, Go tree cloning uses version info from the Go tool (readme updated), the installer allows up/down-grading and reparing of the version that's installed, added two registry values. R=golang-dev, bradfitz, bradfitz CC=golang-dev https://golang.org/cl/5683048
This commit is contained in:
parent
b5a3bd5ff6
commit
8d7ee2b998
15
misc/dist/windows/README
vendored
15
misc/dist/windows/README
vendored
@ -4,7 +4,7 @@ and installer (msi) format.
|
||||
Dependencies
|
||||
============
|
||||
- Windows Installer XML (WiX) toolset: http://wix.sourceforge.net/
|
||||
- 7Zip (command-line version): http://www.7-zip.org/download.html
|
||||
- 7Zip (command line version): http://www.7-zip.org/download.html
|
||||
- Mercurial (hg): http://mercurial.selenic.com/
|
||||
|
||||
|
||||
@ -13,9 +13,9 @@ Packaging
|
||||
The dependencies must be callable from dist.bat, therefore,
|
||||
they'll need to be in/added to the system's search PATH.
|
||||
|
||||
Ensure the working directory reflects the toolset version;
|
||||
the packager clones the Go directory it resides in and copies the
|
||||
pre-built toolchain over into the cloned folder.
|
||||
The packaging needs to be done from within a tracked Go folder.
|
||||
Packages are built by cloning the same version of the source tree
|
||||
that the Go tools were built from.
|
||||
|
||||
To create an i386 distribution package on a 64 bit system, set
|
||||
GOARCH=386 prior to calling dist.bat.
|
||||
@ -26,4 +26,11 @@ TODO
|
||||
----
|
||||
- Documentation server shortcut checkbox option
|
||||
|
||||
Misc
|
||||
----
|
||||
WiX box sizes:
|
||||
- banner size: 493x58
|
||||
- left side of dialog: 164x312
|
||||
- full dialog size: 493x312
|
||||
|
||||
|
||||
|
8
misc/dist/windows/dist.bat
vendored
8
misc/dist/windows/dist.bat
vendored
@ -7,10 +7,14 @@ setlocal
|
||||
|
||||
:: Requires Windows Installer XML (WiX), 7zip, and Mercurial (hg)
|
||||
|
||||
echo # Cleaning previous WiX output files
|
||||
del /F /Q /S *.wixobj AppFiles.wxs *.wixpdb>NUL
|
||||
|
||||
echo # Setting some variables
|
||||
for /f %%i in ('hg.exe root') do set ROOT=%%i
|
||||
for /f %%i in ('hg.exe id -n') do set ID=%%i
|
||||
for /f "tokens=3" %%i in ('%ROOT%\bin\go.exe version') do set VER=%%i
|
||||
for /f "tokens=4" %%i in ('%ROOT%\bin\go.exe version') do set ID=%%i
|
||||
set ID=%ID:+=%
|
||||
if errorlevel 1 goto end
|
||||
|
||||
echo # Getting GOARCH
|
||||
@ -35,7 +39,7 @@ xcopy %ROOT%\pkg go\pkg /V /E /Y /I
|
||||
xcopy %ROOT%\bin go\bin /V /E /Y /I
|
||||
xcopy %ROOT%\src\pkg\runtime\z*.c go\src\pkg\runtime /V /E /Y
|
||||
xcopy %ROOT%\src\pkg\runtime\z*.go go\src\pkg\runtime /V /E /Y
|
||||
xcopy %ROOT%\src\pkg\runtime\z*.h go\src\pkg\runtime /V /E /T
|
||||
xcopy %ROOT%\src\pkg\runtime\z*.h go\src\pkg\runtime /V /E /Y
|
||||
|
||||
echo # Starting zip packaging
|
||||
7za a -tzip -mx=9 go.%VER%.windows-%GOARCH%.zip "go/"
|
||||
|
BIN
misc/dist/windows/images/Banner.jpg
vendored
Normal file
BIN
misc/dist/windows/images/Banner.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
misc/dist/windows/images/Dialog.jpg
vendored
Normal file
BIN
misc/dist/windows/images/Dialog.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
misc/dist/windows/images/DialogLeft.jpg
vendored
Normal file
BIN
misc/dist/windows/images/DialogLeft.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
misc/dist/windows/images/gopher.ico
vendored
Normal file
BIN
misc/dist/windows/images/gopher.ico
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
58
misc/dist/windows/installer.wxs
vendored
58
misc/dist/windows/installer.wxs
vendored
@ -25,7 +25,8 @@
|
||||
<!-- Version="$(var.Version)" TODO: Version requires X.X.X.X format -->
|
||||
|
||||
<Package
|
||||
Id='*' Keywords='Installer'
|
||||
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"
|
||||
@ -40,21 +41,11 @@
|
||||
<Property Id="ARPHELPLINK" Value="golang.org/doc/community.html" />
|
||||
<Property Id="ARPREADME" Value="golang.org" />
|
||||
<Property Id="ARPURLINFOABOUT" Value="golang.org" />
|
||||
|
||||
<!--
|
||||
<Upgrade Id="">
|
||||
<UpgradeVersion
|
||||
IncludeMaximum="yes"
|
||||
IncludeMinimum="yes"
|
||||
Language="1033"
|
||||
Maximum=""
|
||||
Minimum=""
|
||||
Property="" />
|
||||
</Upgrade>
|
||||
-->
|
||||
|
||||
<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="C:\"/>
|
||||
|
||||
<CustomAction
|
||||
@ -70,10 +61,13 @@
|
||||
<Directory Id="ProgramMenuFolder">
|
||||
<Directory Id="GoProgramShortcutsDir" Name="Go Programming Language"/>
|
||||
</Directory>
|
||||
<Directory Id="EnvironmentEntries">
|
||||
<Directory Id="GoEnvironmentEntries" Name="Go Programming Language"/>
|
||||
</Directory>
|
||||
<Directory Id="DesktopFolder" Name="Desktop"/>
|
||||
</Directory>
|
||||
|
||||
<!-- Programs Menu & Desktop Shortcuts, Registry & Environment Settings -->
|
||||
<!-- Programs Menu & Desktop Shortcuts -->
|
||||
<DirectoryRef Id="GoProgramShortcutsDir">
|
||||
<Component Id="Component_GoShortCuts" Guid="f5fbfb5e-6c5c-423b-9298-21b0e3c98f4b">
|
||||
<Shortcut
|
||||
@ -82,6 +76,7 @@
|
||||
Description="Starts the Go documentation server (http://localhost:6060)"
|
||||
Show="minimized"
|
||||
Arguments='/c "start /d[INSTALLDIR]bin godoc.exe -http=:6060 && start http://localhost:6060"'
|
||||
Icon="gopher.ico"
|
||||
Target="[%ComSpec]" />
|
||||
<Shortcut
|
||||
Id="GoDocServerDesktopShortcut"
|
||||
@ -89,6 +84,7 @@
|
||||
Name="GoDocServer"
|
||||
Description="Starts the godoc server (http://localhost:6060)"
|
||||
Show="minimized"
|
||||
Icon="gopher.ico"
|
||||
Arguments='/c "start /d[INSTALLDIR]bin godoc.exe -http=:6060 && start http://localhost:6060"'
|
||||
Target="[%ComSpec]" />
|
||||
<Shortcut
|
||||
@ -102,11 +98,31 @@
|
||||
On="uninstall" />
|
||||
<RegistryValue
|
||||
Root="HKCU"
|
||||
Key="Software\Microsoft\TheGoProgrammingLanguage"
|
||||
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="Environment"
|
||||
Action="set"
|
||||
@ -115,6 +131,9 @@
|
||||
Permanent="no"
|
||||
System="yes"
|
||||
Value="[INSTALLDIR]bin" />
|
||||
<RemoveFolder
|
||||
Id="GoEnvironmentEntries"
|
||||
On="uninstall" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
|
||||
@ -126,19 +145,20 @@
|
||||
Title="Go"
|
||||
Level="1">
|
||||
|
||||
<ComponentRef Id="Component_GoEnvironment" />
|
||||
<ComponentGroupRef Id="AppFiles" />
|
||||
<ComponentRef Id="Component_GoShortCuts" />
|
||||
</Feature>
|
||||
|
||||
<!-- Update the environment -->
|
||||
<InstallExecuteSequence>
|
||||
<Custom
|
||||
Action="SetApplicationRootDirectory"
|
||||
Before="InstallFinalize" />
|
||||
<Custom Action="SetApplicationRootDirectory" Before="InstallFinalize" />
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<!-- Include the user interface -->
|
||||
<WixVariable Id="WixUILicenseRtf" Value="LICENSE" />
|
||||
<WixVariable Id="WixUIBannerBmp" Value="images\Banner.jpg" />
|
||||
<WixVariable Id="WixUIDialogBmp" Value="images\Dialog.jpg" />
|
||||
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
|
||||
<UIRef Id="WixUI_InstallDir" />
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user