Author: [email protected]
Branch: windowsinstaller
Changeset: r95809:1accd6d10d42
Date: 2018-12-27 17:20 +0000
http://bitbucket.org/pypy/pypy/changeset/1accd6d10d42/
Log: Started adding python executable to installer
diff --git a/pypy/tool/release/windowsinstaller/buildinstaller.py
b/pypy/tool/release/windowsinstaller/buildinstaller.py
deleted file mode 100644
--- a/pypy/tool/release/windowsinstaller/buildinstaller.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Script to build the PyPy Installer
-#
-import sys
-import subprocess
-
-
-candle = "candle.exe"
-pypywxs = "pypy.wxs"
-light = "light.exe"
-wixobj = "pypy.wixobj"
-path = "pypy3-v6.0.0-win32"
-
-
-build = subprocess.Popen([candle, pypywxs])
-build.wait()
-
-if build.returncode != 0:
- sys.exit("Failed to run candle")
-
-build = subprocess.Popen([light ,"-ext", "WixUIExtension" ,"-b" , path ,
wixobj])
-build.wait()
-
-if build.returncode != 0:
- sys.exit("Failed to run light")
diff --git a/pypy/tool/release/windowsinstaller/bundle/Default.thm
b/pypy/tool/release/windowsinstaller/bundle/Default.thm
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/bundle/Default.thm
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
+ <Window Width="670" Height="412" HexStyle="100a0000"
FontId="0">#(loc.Caption)</Window>
+ <Font Id="0" Height="-14" Weight="500" Foreground="000000"
Background="ffffff">Segoe UI</Font>
+ <Font Id="1" Height="-26" Weight="500" Foreground="000000"
Background="ffffff">Segoe UI</Font>
+ <Font Id="2" Height="-24" Weight="500" Foreground="808080"
Background="ffffff">Segoe UI</Font>
+ <Font Id="3" Height="-14" Weight="500" Foreground="000000"
Background="ffffff">Segoe UI</Font>
+ <Font Id="4" Height="-14" Weight="500" Foreground="ff0000"
Background="ffffff" Underline="yes">Segoe UI</Font>
+ <Font Id="5" Height="-14" Weight="500" Foreground="808080"
Background="ffffff">Segoe UI</Font>
+
+ <Page Name="Help">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.HelpHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Hypertext X="185" Y="50" Width="-11" Height="-35" FontId="3"
DisablePrefix="yes">#(loc.HelpText)</Hypertext>
+ <Button Name="SuccessCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CloseButton)</Button>
+ </Page>
+ <Page Name="Install">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.InstallHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Text X="185" Y="50" Width="-11" Height="50" FontId="3"
TabStop="yes">#(loc.InstallMessage)</Text>
+
+ <Button Name="InstallButton" X="185" Y="101" Width="-11" Height="109"
TabStop="yes" FontId="3" HexStyle="0xE">#(loc.InstallButton)</Button>
+ <Button Name="InstallCustomButton" X="185" Y="221" Width="-11"
Height="59" TabStop="yes" FontId="3"
HexStyle="0xE">#(loc.InstallCustomButton)</Button>
+
+ <Checkbox Name="InstallLauncherAllUsers" X="185" Y="-37" Width="-100"
Height="24" TabStop="yes"
FontId="3">#(loc.ShortInstallLauncherAllUsersLabel)</Checkbox>
+ <Checkbox Name="PrependPath" X="185" Y="-13" Width="-100" Height="24"
TabStop="yes" FontId="3">#(loc.ShortPrependPathLabel)</Checkbox>
+
+ <Button Name="InstallCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Upgrade">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.InstallUpgradeHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Text X="185" Y="50" Width="-11" Height="50" FontId="3"
TabStop="yes">#(loc.InstallUpgradeMessage)</Text>
+
+ <Button Name="InstallUpgradeButton" X="185" Y="101" Width="-11"
Height="129" TabStop="yes" FontId="3"
HexStyle="0xE">#(loc.InstallUpgradeButton)</Button>
+ <Button Name="InstallUpgradeCustomButton" X="185" Y="241" Width="-11"
Height="59" TabStop="yes" FontId="3"
HexStyle="0xE">#(loc.InstallUpgradeCustomButton)</Button>
+
+ <Button Name="InstallCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="SimpleInstall">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.InstallHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Button Name="InstallSimpleButton" X="185" Y="101" Width="-11"
Height="129" TabStop="yes" FontId="3" HideWhenDisabled="yes"
HexStyle="0xF">#(loc.InstallSimpleButton)</Button>
+
+ <Button Name="InstallCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Custom1">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.Custom1Header)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Checkbox Name="Include_doc" X="185" Y="51" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="yes">#(loc.Include_docLabel)</Checkbox>
+ <Text X="205" Y="76" Width="-11" Height="24" TabStop="no"
FontId="5">#(loc.Include_docHelpLabel)</Text>
+
+ <Checkbox Name="Include_pip" X="185" Y="101" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="yes">#(loc.Include_pipLabel)</Checkbox>
+ <Text X="205" Y="126" Width="-11" Height="24" TabStop="no"
FontId="5">#(loc.Include_pipHelpLabel)</Text>
+
+ <Checkbox Name="Include_tcltk" X="185" Y="151" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="yes">#(loc.Include_tcltkLabel)</Checkbox>
+ <Text X="205" Y="176" Width="-11" Height="24" TabStop="no"
FontId="5">#(loc.Include_tcltkHelpLabel)</Text>
+
+ <Checkbox Name="Include_test" X="185" Y="201" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="yes">#(loc.Include_testLabel)</Checkbox>
+ <Text X="205" Y="226" Width="-11" Height="24" TabStop="no"
FontId="5">#(loc.Include_testHelpLabel)</Text>
+
+ <Checkbox Name="Include_launcher" X="185" Y="251" Width="100"
Height="24" TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.Include_launcherLabel)</Checkbox>
+ <Checkbox Name="CustomInstallLauncherAllUsers" X="285" Y="251"
Width="-11" Height="24" TabStop="yes"
FontId="3">#(loc.InstallLauncherAllUsersLabel)</Checkbox>
+ <Text Name="Include_launcherHelp" X="205" Y="276" Width="-11"
Height="24" TabStop="no" FontId="5"></Text>
+
+ <Button Name="Custom1BackButton" X="185" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CustomBackButton)</Button>
+ <Button Name="CustomNextButton" X="-101" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CustomNextButton)</Button>
+ <Button Name="Custom1CancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Custom2">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.Custom2Header)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Checkbox Name="InstallAllUsers" X="185" Y="51" Width="-11"
Height="24" TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.InstallAllUsersLabel)</Checkbox>
+ <Checkbox Name="AssociateFiles" X="185" Y="76" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.AssociateFilesLabel)</Checkbox>
+ <Checkbox Name="Shortcuts" X="185" Y="101" Width="-11" Height="24"
TabStop="yes" FontId="3" HideWhenDisabled="no">#(loc.ShortcutsLabel)</Checkbox>
+ <Checkbox Name="PrependPath" X="185" Y="126" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.PrependPathLabel)</Checkbox>
+ <Checkbox Name="CompileAll" X="185" Y="151" Width="-11" Height="24"
TabStop="yes" FontId="3" HideWhenDisabled="no">#(loc.PrecompileLabel)</Checkbox>
+ <Checkbox Name="Include_symbols" X="185" Y="176" Width="-11"
Height="24" TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.Include_symbolsLabel)</Checkbox>
+ <Checkbox Name="Include_debug" X="185" Y="201" Width="-11" Height="24"
TabStop="yes" FontId="3"
HideWhenDisabled="no">#(loc.Include_debugLabel)</Checkbox>
+
+ <Text X="185" Y="256" Width="-11" Height="17"
FontId="3">#(loc.CustomLocationLabel)</Text>
+ <Editbox Name="TargetDir" X="185" Y="277" Width="-101" Height="27"
TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
+ <Button Name="CustomBrowseButton" X="-11" Y="276" Width="85"
Height="27" TabStop="yes" FontId="3">#(loc.CustomBrowseButton)</Button>
+ <Text Name="CustomBrowseButtonLabel" X="185" Y="306" Width="-91"
Height="35" FontId="5"
HideWhenDisabled="yes">#(loc.CustomLocationHelpLabel)</Text>
+
+ <Button Name="Custom2BackButton" X="185" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CustomBackButton)</Button>
+ <Button Name="CustomInstallButton" X="-101" Y="-11" Width="95"
Height="27" TabStop="yes" FontId="0">#(loc.CustomInstallButton)</Button>
+ <Button Name="Custom2CancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Progress">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.ProgressHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Text X="185" Y="111" Width="-11" Height="20" FontId="3"
DisablePrefix="yes">#(loc.ProgressLabel)</Text>
+ <Text Name="OverallProgressPackageText" X="185" Y="146" Width="-11"
Height="20" FontId="3"
DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
+ <Progressbar Name="OverallCalculatedProgressbar" X="185" Y="171"
Width="-11" Height="24" />
+ <Button Name="ProgressCancelButton" X="-11" Y="-11" Width="95"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Modify">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.ModifyHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Button Name="ModifyButton" X="185" Y="101" Width="-11" Height="59"
TabStop="yes" FontId="3" HexStyle="0xF">#(loc.ModifyModifyButton)</Button>
+ <Button Name="RepairButton" X="185" Y="171" Width="-11" Height="59"
TabStop="yes" FontId="3" HexStyle="0xE">#(loc.ModifyRepairButton)</Button>
+ <Button Name="UninstallButton" X="185" Y="241" Width="-11" Height="59"
TabStop="yes" FontId="3" HexStyle="0xE">#(loc.ModifyUninstallButton)</Button>
+
+ <Button Name="ModifyCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CancelButton)</Button>
+ </Page>
+ <Page Name="Success">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.SuccessHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Hypertext Name="SuccessText" X="205" Y="71" Width="-71" Height="150"
FontId="3" DisablePrefix="yes"></Hypertext>
+
+ <Button Name="SuccessMaxPathButton" X="185" Y="-70" Width="-11"
Height="81" TabStop="yes" FontId="3" HexStyle="0xE"
HideWhenDisabled="yes">#(loc.SuccessMaxPathButton)</Button>
+
+ <Text Name="SuccessRestartText" X="205" Y="-40" Width="-11"
Height="34" FontId="3" HideWhenDisabled="yes"
DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
+ <Button Name="SuccessRestartButton" X="-101" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0"
HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
+ <Button Name="SuccessCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CloseButton)</Button>
+ </Page>
+ <Page Name="Failure">
+ <Text X="185" Y="11" Width="-11" Height="36" FontId="1"
DisablePrefix="yes">#(loc.FailureHeader)</Text>
+ <Image X="0" Y="0" Width="178" Height="382" ImageFile="SideBar.png"/>
+
+ <Hypertext Name="FailureLogFileLink" X="205" Y="71" Width="-11"
Height="60" FontId="3" TabStop="yes"
HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
+ <Hypertext Name="FailureMessageText" X="205" Y="151" Width="-11"
Height="120" FontId="3" TabStop="yes" HideWhenDisabled="yes"></Hypertext>
+ <Text Name="FailureRestartText" X="205" Y="-40" Width="-11"
Height="34" FontId="3" HideWhenDisabled="yes"
DisablePrefix="yes">#(loc.FailureRestartText)</Text>
+ <Button Name="FailureRestartButton" X="-101" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0"
HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
+ <Button Name="FailureCancelButton" X="-11" Y="-11" Width="85"
Height="27" TabStop="yes" FontId="0">#(loc.CloseButton)</Button>
+ </Page>
+</Theme>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/bundle/Default.wxl
b/pypy/tool/release/windowsinstaller/bundle/Default.wxl
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/bundle/Default.wxl
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us" Language="1033"
xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="Caption">[WixBundleName] Setup</String>
+ <String Id="Title">[WixBundleName]</String>
+ <String Id="Installing">Installing</String>
+ <String Id="Installation">Setup</String>
+ <String Id="Modifying">Updating</String>
+ <String Id="Modification">Modify</String>
+ <String Id="Repairing">Repairing</String>
+ <String Id="Repair">Repair</String>
+ <String Id="Uninstalling">Removing</String>
+ <String Id="Uninstallation">Uninstall</String>
+
+ <String Id="ElevateForCRTInstall">You will be prompted for Administrator
privileges to install a C Runtime Library update (KB2999226).
+
+
+Continue?</String>
+
+ <String Id="CancelButton">&Cancel</String>
+ <String Id="CloseButton">&Close</String>
+ <String Id="InstallHeader">Install [WixBundleName]</String>
+ <String Id="InstallMessage">Select Install Now to install PyPy with default
settings, or choose Customize to enable or disable features.</String>
+ <String Id="InstallVersion">Version [WixBundleVersion]</String>
+ <String Id="InstallUpgradeHeader">Upgrade to [WixBundleName]</String>
+ <String Id="InstallUpgradeMessage">Select Upgrade Now to keep your current
settings, or choose Customize to enable or disable features.</String>
+ <String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
+ <String Id="ExecuteUpgradeRelatedBundleMessage">Previous version</String>
+ <String Id="HelpHeader">Setup Help</String>
+ <String Id="HelpText">Visit <a
href="http://doc.pypy.org/en/latest/">doc.pypy.org[ShortVersion]/en/latest/</a>
for the full list of options, including the ability to enable and disable
specific features.
+
+"/passive" to display progress without requiring user interaction
+
+"/quiet" to install/uninstall without displaying any UI
+
+"/simple" to prevent user customization
+
+"/uninstall" to remove PyPy (without confirmation)
+
+"/layout [\[]directory[\]]" to pre-download all components
+
+"/log [\[]filename[\]]" to specify log files location</String>
+ <String Id="InstallLicenseLinkText">[WixBundleName] <a
href="#">license terms</a>.</String>
+ <String Id="InstallAcceptCheckbox">I &agree to the license terms and
conditions</String>
+ <String Id="InstallButton">&Install Now</String>
+ <String Id="InstallButtonNote">[TargetDir]
+
+Includes IDLE, pip and documentation
+Creates shortcuts and file associations</String>
+ <String Id="InstallCustomButton">C&ustomize installation</String>
+ <String Id="InstallCustomButtonNote">Choose location and features</String>
+ <String Id="InstallSimpleButton">&Install</String>
+ <String Id="InstallSimpleButtonNote">Use settings preselected by your
administrator
+
+[SimpleInstallDescription]</String>
+ <String Id="InstallUpgradeButton">Up&grade Now</String>
+ <String Id="InstallUpgradeButtonNote">[TargetDir]
+
+Replaces your existing installation without changing settings.
+Select Customize to review current options.</String>
+ <String Id="InstallUpgradeCustomButton">C&ustomize installation</String>
+ <String Id="InstallUpgradeCustomButtonNote">Choose location and
features</String>
+ <String Id="Custom1Header">Optional Features</String>
+ <String Id="Custom2Header">Advanced Options</String>
+ <String Id="CustomLocationLabel">Customize install location</String>
+ <String Id="CustomLocationHelpLabel">You will require write permissions for
the selected location.</String>
+ <String Id="CustomInstallButton">&Install</String>
+ <String Id="CustomNextButton">&Next</String>
+ <String Id="CustomBackButton">&Back</String>
+ <String Id="CustomBrowseButton">B&rowse</String>
+ <String Id="Include_docLabel">&Documentation</String>
+ <String Id="Include_docHelpLabel">Installs the PyPy documentation
file.</String>
+ <String Id="Include_pipLabel">&pip</String>
+ <String Id="Include_pipHelpLabel">Installs pip, which can download and
install other PyPy packages.</String>
+ <String Id="Include_tcltkLabel">tcl/tk and &IDLE</String>
+ <String Id="Include_tcltkHelpLabel">Installs tkinter and the IDLE
development environment.</String>
+ <String Id="Include_testLabel">PyPy &test suite</String>
+ <String Id="Include_testHelpLabel">Installs the standard library test
suite.</String>
+ <String Id="Include_launcherLabel">py &launcher</String>
+ <String Id="Include_launcherHelp">Installs the global 'py' launcher to make
it easier to start Python.</String>
+ <String Id="Include_launcherRemove">Use Programs and Features to remove the
'py' launcher.</String>
+ <String Id="Include_launcherUpgrade">Upgrades the global 'py' launcher from
the previous version.</String>
+
+ <String Id="AssociateFilesLabel">Associate &files with PyPy (requires
the py launcher)</String>
+ <String Id="ShortcutsLabel">Create shortcuts for installed
applications</String>
+ <String Id="PrependPathLabel">Add PyPy to &environment variables</String>
+ <String Id="ShortPrependPathLabel">Add &PyPy [ShortVersion] to
PATH</String>
+ <String Id="InstallAllUsersLabel">Install for &all users</String>
+ <String Id="InstallLauncherAllUsersLabel">for &all users (requires
elevation)</String>
+ <String Id="ShortInstallLauncherAllUsersLabel">Install &launcher for all
users (recommended)</String>
+ <String Id="PrecompileLabel">&Precompile standard library</String>
+ <String Id="Include_symbolsLabel">Download debugging &symbols</String>
+ <String Id="Include_debugLabel">Download debu&g binaries (requires VS
2015 or later)</String>
+
+ <String Id="ProgressHeader">[ActionLikeInstallation] Progress</String>
+ <String Id="ProgressLabel">[ActionLikeInstalling]:</String>
+ <String Id="OverallProgressPackageText">Initializing...</String>
+ <String Id="ModifyHeader">Modify Setup</String>
+ <String Id="ModifyModifyButton">&Modify</String>
+ <String Id="ModifyButtonNote">Add or remove individual features.</String>
+ <String Id="ModifyRepairButton">&Repair</String>
+ <String Id="RepairButtonNote">Ensure all current features are correctly
installed.</String>
+ <String Id="ModifyUninstallButton">&Uninstall</String>
+ <String Id="UninstallButtonNote">Remove the entire [WixBundleName]
installation.</String>
+ <String Id="SuccessHeader">[ActionLikeInstallation] was successful</String>
+ <String Id="SuccessLaunchButton">&Launch</String>
+ <String Id="SuccessRestartText">You may need to restart your computer to
finish updating files.</String>
+ <String Id="SuccessRestartButton">&Restart</String>
+ <String Id="SuccessInstallMessage">New to Python? Start with the <a
href="https://docs.python.org/[ShortVersion]/tutorial/index.html">online
tutorial</a> and <a
href="https://docs.python.org/[ShortVersion]/index.html">documentation</a>.
+
+See <a
href="https://docs.python.org/[ShortVersion]/whatsnew/[ShortVersion].html">what's
new</a> in this release.</String>
+ <String Id="SuccessModifyMessage">Thank you for using
[WixBundleName].</String>
+ <String Id="SuccessRepairMessage">Thank you for using [WixBundleName].
+
+Feel free to email <a
href="mailto:[email protected]">[email protected]</a> if you
continue to encounter issues.</String>
+ <String Id="SuccessRemoveMessage">Thank you for using [WixBundleName].
+
+Feel free to email <a
href="mailto:[email protected]">[email protected]</a> if you
encountered problems.</String>
+ <String Id="FailureHeader">Setup failed</String>
+ <String Id="FailureHyperlinkLogText">One or more issues caused the setup to
fail. Please fix the issues and then retry setup. For more information see the
<a href="#">log file</a>.</String>
+ <String Id="FailureRestartText">You must restart your computer to complete
the rollback of the software.</String>
+ <String Id="FailureRestartButton">&Restart</String>
+ <String Id="FailureExistingInstall">Unable to install [WixBundleName] due to
an existing install. Use Programs and Features to modify, repair or remove
[WixBundleName].</String>
+
+ <String Id="FailureWin7MissingSP1">Windows 7 Service Pack 1 and all
applicable updates are required to install [WixBundleName].
+
+Please <a
href="https://www.bing.com/search?q=how%20to%20install%20windows%207%20service%20pack%201">update
your machine</a> and then restart the installation.</String>
+ <String Id="FailureVistaMissingSP2">Windows Vista Service Pack 2 and all
applicable updates are required to install [WixBundleName].
+
+Please <a
href="https://www.bing.com/search?q=how%20to%20install%20windows%20vista%20service%20pack%202">update
your machine</a> and then restart the installation.</String>
+ <String Id="FailureXPOrEarlier">Windows Vista or later is required to
install and use [WixBundleName].
+
+Visit <a href="https://www.python.org/">python.org</a> to download
Python 3.4.</String>
+
+ <String Id="FailureWS2K8R2MissingSP1">Windows Server 2008 R2 Service Pack 1
and all applicable updates are required to install [WixBundleName].
+
+Please <a
href="https://www.bing.com/search?q=how%20to%20install%20windows%20server%202008%20r2%20service%20pack%201">update
your machine</a> and then restart the installation.</String>
+ <String Id="FailureWS2K8MissingSP2">Windows Server 2008 Service Pack 2 and
all applicable updates are required to install [WixBundleName].
+
+Please <a
href="https://www.bing.com/search?q=how%20to%20install%20windows%20server%202008%20service%20pack%202">update
your machine</a> and then restart the installation.</String>
+ <String Id="FailureWS2K3OrEarlier">Windows Server 2008 SP2 or later is
required to install and use [WixBundleName].
+
+Visit <a href="https://www.python.org/">python.org</a> to download
Python 3.4.</String>
+
+ <String Id="SuccessMaxPathButton">Disable path length limit</String>
+ <String Id="SuccessMaxPathButtonNote">Changes your machine configuration to
allow programs, including Python, to bypass the 260 character "MAX_PATH"
limitation.</String>
+</WixLocalization>
diff --git a/pypy/tool/release/windowsinstaller/bundle/bundle.targets
b/pypy/tool/release/windowsinstaller/bundle/bundle.targets
--- a/pypy/tool/release/windowsinstaller/bundle/bundle.targets
+++ b/pypy/tool/release/windowsinstaller/bundle/bundle.targets
@@ -63,6 +63,11 @@
<ItemGroup>
<Package Include="..\include\include*.wixproj" />
<Package Include="..\lib_pypy\lib_pypy*.wixproj" />
+ <Package Include="..\exe\exe*.wixproj" />
+ <Package Include="..\libs\libs*.wixproj" />
+ <Package Include="..\lib_python\lib_python*.wixproj" />
+ <Package Include="..\sitepackages\sitepackages*.wixproj" />
+ <Package Include="..\tcl\tcl*.wixproj" />
</ItemGroup>
<PropertyGroup>
diff --git a/pypy/tool/release/windowsinstaller/bundle/bundle.wxs
b/pypy/tool/release/windowsinstaller/bundle/bundle.wxs
--- a/pypy/tool/release/windowsinstaller/bundle/bundle.wxs
+++ b/pypy/tool/release/windowsinstaller/bundle/bundle.wxs
@@ -63,6 +63,7 @@
<Variable Name="CustomBrowseButtonState" Value="enabled" />
<Variable Name="Include_core" Value="1" />
+ <Variable Name="Include_include" Value="1" />
<Variable Name="Include_exe" Value="1" bal:Overridable="yes" />
<Variable Name="Include_dev" Value="1" bal:Overridable="yes" />
<Variable Name="Include_lib" Value="1" bal:Overridable="yes" />
diff --git a/pypy/tool/release/windowsinstaller/bundle/full.wixproj
b/pypy/tool/release/windowsinstaller/bundle/full.wixproj
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/bundle/full.wixproj
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{3E204ADD-238D-4D10-852C-4F859325C839}</ProjectGuid>
+ <OutputName>pypy</OutputName>
+ <OutputSuffix>full</OutputSuffix>
+ </PropertyGroup>
+
+ <Import Project="..\msi.props" />
+
+ <PropertyGroup>
+ <DefineConstants>
+ $(DefineConstants);
+ CompressMSI=yes;
+ CompressPDB=yes;
+ CompressMSI_D=yes;
+ </DefineConstants>
+ </PropertyGroup>
+
+ <Import Project="bundle.targets" />
+</Project>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/bundle/packagegroups/exe.wxs
b/pypy/tool/release/windowsinstaller/bundle/packagegroups/exe.wxs
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/bundle/packagegroups/exe.wxs
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <PackageGroup Id="exe">
+ <MsiPackage Id="exe_AllUsers"
+ SourceFile="exe.msi"
+ Compressed="$(var.CompressMSI)"
+ DownloadUrl="$(var.DownloadUrl)"
+ ForcePerMachine="yes"
+ InstallCondition="InstallAllUsers and Include_exe and
not LauncherOnly">
+ <MsiProperty Name="TARGETDIR" Value="[TargetDir]" />
+ <MsiProperty Name="OPTIONALFEATURESREGISTRYKEY"
Value="[OptionalFeaturesRegistryKey]" />
+ </MsiPackage>
+ <MsiPackage Id="exe_JustForMe"
+ SourceFile="exe.msi"
+ Compressed="$(var.CompressMSI)"
+ DownloadUrl="$(var.DownloadUrl)"
+ ForcePerMachine="no"
+ InstallCondition="not InstallAllUsers and Include_exe
and not LauncherOnly">
+ <MsiProperty Name="TARGETDIR" Value="[TargetDir]" />
+ <MsiProperty Name="OPTIONALFEATURESREGISTRYKEY"
Value="[OptionalFeaturesRegistryKey]" />
+ </MsiPackage>
+ </PackageGroup>
+ </Fragment>
+</Wix>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/bundle/snapshot.wixproj
b/pypy/tool/release/windowsinstaller/bundle/snapshot.wixproj
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/bundle/snapshot.wixproj
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{8A4A1162-4BF9-4FF6-9A98-315F01E44932}</ProjectGuid>
+ <OutputName>python</OutputName>
+ <OutputSuffix></OutputSuffix>
+ </PropertyGroup>
+
+ <Import Project="..\msi.props" />
+
+ <PropertyGroup>
+ <DefineConstants Condition="'$(Pack)' != 'true'">
+ $(DefineConstants);CompressMSI=no;
+ </DefineConstants>
+ <DefineConstants Condition="'$(Pack)' == 'true'">
+ $(DefineConstants);CompressMSI=yes;
+ </DefineConstants>
+ <DefineConstants>
+ $(DefineConstants);
+ CompressPDB=no;
+ CompressMSI_D=no;
+ </DefineConstants>
+ </PropertyGroup>
+
+ <Import Project="bundle.targets" />
+</Project>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/exe/exe.wixproj
b/pypy/tool/release/windowsinstaller/exe/exe.wixproj
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/exe/exe.wixproj
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{1B252E50-165F-42AC-82A5-723EFCC66675}</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName Condition="'$(OutputName)' == ''">exe</OutputName>
+ <OutputType>Package</OutputType>
+ </PropertyGroup>
+ <Import Project="..\msi.props" />
+ <ItemGroup>
+ <Compile Include="exe.wxs" />
+ <Compile Include="exe_files.wxs" />
+ <Compile Include="exe_reg.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="*.wxl" />
+ <WxlTemplate Include="*.wxl_template" />
+ </ItemGroup>
+ <Import Project="..\msi.targets" />
+</Project>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/exe/exe.wxs
b/pypy/tool/release/windowsinstaller/exe/exe.wxs
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/exe/exe.wxs
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)"
Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)"
UpgradeCode="$(var.UpgradeCode)">
+ <Package InstallerVersion="300" Compressed="yes"
InstallScope="perUser" Platform="$(var.Platform)" />
+ <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
+
+ <PropertyRef Id="UpgradeTable" />
+
+ <PropertyRef Id="UpgradeTable" />
+ <PropertyRef Id="REGISTRYKEY" />
+
+ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)"
Description="!(loc.Description)">
+ <ComponentGroupRef Id="exe_pypy" Primary="yes" />
+ <ComponentGroupRef Id="exe_reg" Primary="yes" />
+ <ComponentGroupRef Id="exe_txt" />
+ <ComponentRef Id="OptionalFeature" />
+ </Feature>
+
+ <Feature Id="Shortcuts" AllowAdvertise="no" Title="!(loc.Title)"
Description="!(loc.Description)">
+ <ComponentGroupRef Id="exe_pypy" />
+ <Component Id="exe_shortcut" Directory="MenuDir" Guid="*">
+ <Shortcut Id="exe_pypyc"
+ Target="[#pypy3-c.exe]"
+ Name="!(loc.ShortcutName)"
+ Description="!(loc.ShortcutDescription)"
+ WorkingDirectory="InstallDirectory" />
+ <RemoveFolder Id="Remove_MenuDir" Directory="MenuDir"
On="uninstall" />
+ <RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
+ <RegistryValue Key="InstalledFeatures" Name="Shortcuts"
Type="string" Value="$(var.Version)" />
+ </RegistryKey>
+ </Component>
+ </Feature>
+ </Product>
+</Wix>
diff --git a/pypy/tool/release/windowsinstaller/exe/exe_en-US.wxl_template
b/pypy/tool/release/windowsinstaller/exe/exe_en-US.wxl_template
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/exe/exe_en-US.wxl_template
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us"
xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="Descriptor">Executables</String>
+ <String Id="ShortDescriptor">executable</String>
+ <String Id="ShortcutName">PyPy {{ShortVersion}} ({{Bitness}})</String>
+ <String Id="ShortcutDescription">Launches the !(loc.ProductName)
interpreter.</String>
+ <String Id="SupportUrl">https://pypy.org/</String>
+</WixLocalization>
diff --git a/pypy/tool/release/windowsinstaller/exe/exe_files.wxs
b/pypy/tool/release/windowsinstaller/exe/exe_files.wxs
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/exe/exe_files.wxs
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <ComponentGroup Id="exe_txt">
+ <Component Id="LICENSE" Directory="InstallDirectory" Guid="*">
+ <File Name="LICENSE" Source="!(bindpath.src)LICENSE"
KeyPath="yes" />
+ </Component>
+ <Component Id="README.rst" Directory="InstallDirectory" Guid="*">
+ <File Name="README.rst" Source="!(bindpath.src)README.rst"
KeyPath="yes" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <PropertyRef Id="REGISTRYKEY" />
+ <ComponentGroup Id="exe_pypy">
+ <Component Id="exe_pypyc" Directory="InstallDirectory"
Guid="$(var.PythonExeComponentGuid)">
+ <File Name="pypy3-c" Source="!(bindpath.goal)pypy3-c.exe"
KeyPath="yes" />
+ <RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
+ <RegistryValue Key="InstallPath" Type="string"
Value="[InstallDirectory]" KeyPath="no" />
+ <RegistryValue Key="InstallPath" Name="ExecutablePath"
Type="string" Value="[#pypy3-c.exe]" KeyPath="no" />
+ </RegistryKey>
+ </Component>
+ <Component Id="exe_pypycw" Directory="InstallDirectory"
Guid="$(var.PythonwExeComponentGuid)">
+ <File Name="pypy3-cw" Source="!(bindpath.goal)pypy3-cw.exe"
KeyPath="yes" />
+ <RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
+ <RegistryValue Key="InstallPath"
Name="WindowedExecutablePath" Type="string" Value="[#pypy3-cw.exe]"
KeyPath="no" />
+ </RegistryKey>
+ </Component>
+ <Component Id="libpypy3" Directory="InstallDirectory" Guid="*">
+ <File Name="libpypy3-c.dll"
Source="!(bindpath.goal)libpypy3-c.dll" KeyPath="yes" />
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+</Wix>
diff --git a/pypy/tool/release/windowsinstaller/exe/exe_reg.wxs
b/pypy/tool/release/windowsinstaller/exe/exe_reg.wxs
new file mode 100644
--- /dev/null
+++ b/pypy/tool/release/windowsinstaller/exe/exe_reg.wxs
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <Fragment>
+ <PropertyRef Id="ROOTREGISTRYKEY" />
+ <PropertyRef Id="REGISTRYKEY" />
+
+ <ComponentGroup Id="exe_reg">
+ <Component Id="CommonPythonRegistration"
Directory="InstallDirectory" Guid="$(var.CommonPythonRegComponentGuid)">
+ <RegistryKey Root="HKMU" Key="[ROOTREGISTRYKEY]">
+ <RegistryValue Name="DisplayName" Type="string"
Value="!(loc.Manufacturer)" KeyPath="yes" />
+ <RegistryValue Name="SupportUrl" Type="string"
Value="!(loc.ManufacturerSupportUrl)" KeyPath="no" />
+ </RegistryKey>
+ </Component>
+ <Component Id="PythonRegistration" Directory="InstallDirectory"
Guid="$(var.PythonRegComponentGuid)">
+ <RegistryKey Root="HKMU" Key="[REGISTRYKEY]">
+ <RegistryValue Name="DisplayName" Type="string"
Value="!(loc.ShortcutName)" KeyPath="yes" />
+ <RegistryValue Name="SupportUrl" Type="string"
Value="!(loc.SupportUrl)" KeyPath="no" />
+ <RegistryValue Name="Version" Type="string"
Value="$(var.LongVersion)" KeyPath="no" />
+ <RegistryValue Name="SysVersion" Type="string"
Value="$(var.ShortVersion)" KeyPath="no" />
+ <RegistryValue Name="SysArchitecture" Type="string"
Value="$(var.PlatformArchitecture)" KeyPath="no" />
+ </RegistryKey>
+ </Component>
+ </ComponentGroup>
+ </Fragment>
+</Wix>
diff --git a/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wixproj
b/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wixproj
--- a/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wixproj
+++ b/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wixproj
@@ -12,6 +12,15 @@
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="*.wxl" />
+ </ItemGroup>
+ <ItemGroup>
+ <InstallFiles Include="$(PySourcePath)include\**\*">
+ <SourceBase>$(PySourcePath)</SourceBase>
+ <Source>!(bindpath.src)</Source>
+ <TargetBase>$(PySourcePath)</TargetBase>
+ <Target_></Target_>
+ <Group>lib_pypy</Group>
+ </InstallFiles>
</ItemGroup>
<Import Project="..\msi.targets" />
</Project>
\ No newline at end of file
diff --git a/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wxs
b/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wxs
--- a/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wxs
+++ b/pypy/tool/release/windowsinstaller/lib_pypy/lib_pypy.wxs
@@ -1,30 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)"
Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)"
UpgradeCode="$(var.UpgradeCode)">
- <Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" />
-
- <MajorUpgrade DowngradeErrorMessage="A newer version of
[ProductName] is already installed." />
- <MediaTemplate />
-
- <Feature Id="ProductFeature" Title="lib_pypy" Level="1">
- <ComponentGroupRef Id="ProductComponents" />
- </Feature>
- </Product>
-
- <Fragment>
- <Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="ProgramFilesFolder">
- <Directory Id="INSTALLFOLDER" Name="lib_pypy" />
- </Directory>
- </Directory>
- </Fragment>
-
- <Fragment>
- <ComponentGroup Id="ProductComponents"
Directory="INSTALLFOLDER">
- <!-- TODO: Remove the comments around this Component
element and the ComponentRef below in order to add resources to this installer.
-->
- <!-- <Component Id="ProductComponent"> -->
- <!-- TODO: Insert files, registry keys, and
other resources here. -->
- <!-- </Component> -->
- </ComponentGroup>
- </Fragment>
+ <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)"
Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)"
UpgradeCode="$(var.UpgradeCode)">
+ <Package InstallerVersion="300" Compressed="yes"
InstallScope="perUser" Platform="$(var.Platform)" />
+ <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
+
+ <PropertyRef Id="UpgradeTable" />
+
+ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)"
Description="!(loc.Description)">
+ <ComponentGroupRef Id="lib_pypy" />
+ <ComponentRef Id="OptionalFeature" />
+ </Feature>
+ </Product>
</Wix>
diff --git a/pypy/tool/release/windowsinstaller/msi.props
b/pypy/tool/release/windowsinstaller/msi.props
--- a/pypy/tool/release/windowsinstaller/msi.props
+++ b/pypy/tool/release/windowsinstaller/msi.props
@@ -117,6 +117,9 @@
<LinkerBindInputPaths Include="$(PySourcePath)Doc\build\htmlhelp">
<BindName></BindName>
</LinkerBindInputPaths>
+ <LinkerBindInputPaths Include="$(PySourcePath)pypy\goal\">
+ <BindName>goal</BindName>
+ </LinkerBindInputPaths>
<LinkerBindInputPaths Include="$(PySourcePath)">
<BindName>src</BindName>
</LinkerBindInputPaths>
diff --git a/pypy/tool/release/windowsinstaller/pypy.wxs
b/pypy/tool/release/windowsinstaller/pypy.wxs
deleted file mode 100644
--- a/pypy/tool/release/windowsinstaller/pypy.wxs
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version='1.0' encoding='windows-1252'?>
-<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
- <Product Name='PyPy 3.5' Manufacturer='Acme Ltd.'
- Id='39EBD85F-6BB6-48D9-B70C-B68674D28E25'
- UpgradeCode='49484557-CF54-4BBA-8308-FB6583C2464D'
- Language='1033' Codepage='1252' Version='3.5.0'>
- <Package Id='*' Keywords='Installer' Description="PyPy 3.5
Installer"
- Manufacturer='PyPy Development Team'
- InstallerVersion='350' Languages='1033'
Compressed='yes' SummaryCodepage='1252' />
- <Condition Message="You need to be an administrator to install
this product.">
- Privileged
- </Condition>
- <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes'
DiskPrompt='CD-ROM #1' />
- <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation
[1]" />
- <Directory Id='TARGETDIR' Name='SourceDir'>
- <Directory Id='ProgramFilesFolder' Name='PFiles'>
- <Directory Id='PyPy' Name='PyPy'>
- <Directory Id='INSTALLDIR' Name='PyPy
3.5'>
- <Component Id='MainExecutable'
Guid='F47EC275-AD54-48E1-8A99-BE3B69A27608'>
- <File Id='PyPyEXE'
Name='pypy3.exe' DiskId='1' Source='pypy3.exe' KeyPath='yes'>
- <Shortcut
Id="startmenuPyPy35" Directory="ProgramMenuDir" Name="PyPy 3.5"
-
WorkingDirectory='INSTALLDIR' Icon="pypy3.exe" IconIndex="0" Advertise="yes" />
- <Shortcut
Id="desktopPyPy35" Directory="DesktopFolder" Name="PyPy 3.5"
-
WorkingDirectory='INSTALLDIR' Icon="pypy3.exe" IconIndex="0" Advertise="yes" />
- </File>
- </Component>
- <Component Id='PyPyLibrary'
Guid='33D07C39-0532-4B9D-A066-ABA63D4528EB'>
- <File Id='PyPyDLL'
Name='libpypy3-c.dll' DiskId='1' Source='libpypy3-c.dll' KeyPath='yes' />
- </Component>
- <Component Id='ReadMe'
Guid='3CE2EB0E-5EA3-4555-BC22-FD5EC532BE17'>
- <File Id='ReadMe'
Name='README.rst' DiskId='1' Source='README.rst' KeyPath='yes'>
- <Shortcut
Id='startmenuReadMe' Directory='ProgramMenuDir' Name='Instruction ReadMe'
Advertise='yes' />
- </File>
- </Component>
- </Directory>
- </Directory>
- </Directory>
- <Directory Id="ProgramMenuFolder" Name="Programs">
- <Directory Id="ProgramMenuDir" Name="PyPy 3.5">
- <Component Id="ProgramMenuDir"
Guid="292B19C6-8F24-4ED2-8616-71EFF238C5A5">
- <RemoveFolder
Id='ProgramMenuDir' On='uninstall' />
- <RegistryValue Root='HKCU'
Key='Software\[Manufacturer]\[ProductName]' Type='string' Value=''
KeyPath='yes' />
- </Component>
- </Directory>
- </Directory>
- <Directory Id="DesktopFolder" Name="Desktop" />
- </Directory>
- <Feature Id='Complete' Title='PyPy 3.5' Description='The
complete package.' Level='1'
- Display='expand' ConfigurableDirectory='INSTALLDIR'>
- <Feature Id='MainInterpreter' Title='Interpreter'
Description='The interpreter executable.' Level='1'>
- <ComponentRef Id='MainExecutable' />
- <ComponentRef Id='PyPyLibrary' />
- <ComponentRef Id='ProgramMenuDir' />
- </Feature>
- <Feature Id='Documentation' Title='Readme'
Description='The readme.' Level='1000'>
- <ComponentRef Id='ReadMe' />
- </Feature>
- </Feature>
-
- <UIRef Id="WixUI_Mondo" />
- <UIRef Id="WixUI_ErrorProgressText" />
- <Icon Id="pypy3.exe" SourceFile="pypy3.exe" />
- </Product>
-</Wix>
\ No newline at end of file
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit