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 @@
+&#65279;<?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">&amp;Cancel</String>
+  <String Id="CloseButton">&amp;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 &lt;a 
href="http://doc.pypy.org/en/latest/"&gt;doc.pypy.org[ShortVersion]/en/latest/&lt;/a&gt;
 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] &lt;a 
href="#"&gt;license terms&lt;/a&gt;.</String>
+  <String Id="InstallAcceptCheckbox">I &amp;agree to the license terms and 
conditions</String>
+  <String Id="InstallButton">&amp;Install Now</String>
+  <String Id="InstallButtonNote">[TargetDir]
+
+Includes IDLE, pip and documentation
+Creates shortcuts and file associations</String>
+  <String Id="InstallCustomButton">C&amp;ustomize installation</String>
+  <String Id="InstallCustomButtonNote">Choose location and features</String>
+  <String Id="InstallSimpleButton">&amp;Install</String>
+  <String Id="InstallSimpleButtonNote">Use settings preselected by your 
administrator
+
+[SimpleInstallDescription]</String>
+  <String Id="InstallUpgradeButton">Up&amp;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&amp;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">&amp;Install</String>
+  <String Id="CustomNextButton">&amp;Next</String>
+  <String Id="CustomBackButton">&amp;Back</String>
+  <String Id="CustomBrowseButton">B&amp;rowse</String>
+  <String Id="Include_docLabel">&amp;Documentation</String>
+  <String Id="Include_docHelpLabel">Installs the PyPy documentation 
file.</String>
+  <String Id="Include_pipLabel">&amp;pip</String>
+  <String Id="Include_pipHelpLabel">Installs pip, which can download and 
install other PyPy packages.</String>
+  <String Id="Include_tcltkLabel">tcl/tk and &amp;IDLE</String>
+  <String Id="Include_tcltkHelpLabel">Installs tkinter and the IDLE 
development environment.</String>
+  <String Id="Include_testLabel">PyPy &amp;test suite</String>
+  <String Id="Include_testHelpLabel">Installs the standard library test 
suite.</String>
+  <String Id="Include_launcherLabel">py &amp;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 &amp;files with PyPy (requires 
the py launcher)</String>
+  <String Id="ShortcutsLabel">Create shortcuts for installed 
applications</String>
+  <String Id="PrependPathLabel">Add PyPy to &amp;environment variables</String>
+  <String Id="ShortPrependPathLabel">Add &amp;PyPy [ShortVersion] to 
PATH</String>
+  <String Id="InstallAllUsersLabel">Install for &amp;all users</String>
+  <String Id="InstallLauncherAllUsersLabel">for &amp;all users (requires 
elevation)</String>
+  <String Id="ShortInstallLauncherAllUsersLabel">Install &amp;launcher for all 
users (recommended)</String>
+  <String Id="PrecompileLabel">&amp;Precompile standard library</String>
+  <String Id="Include_symbolsLabel">Download debugging &amp;symbols</String>
+  <String Id="Include_debugLabel">Download debu&amp;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">&amp;Modify</String>
+  <String Id="ModifyButtonNote">Add or remove individual features.</String>
+  <String Id="ModifyRepairButton">&amp;Repair</String>
+  <String Id="RepairButtonNote">Ensure all current features are correctly 
installed.</String>
+  <String Id="ModifyUninstallButton">&amp;Uninstall</String>
+  <String Id="UninstallButtonNote">Remove the entire [WixBundleName] 
installation.</String>
+  <String Id="SuccessHeader">[ActionLikeInstallation] was successful</String>
+  <String Id="SuccessLaunchButton">&amp;Launch</String>
+  <String Id="SuccessRestartText">You may need to restart your computer to 
finish updating files.</String>
+  <String Id="SuccessRestartButton">&amp;Restart</String>
+  <String Id="SuccessInstallMessage">New to Python? Start with the &lt;a 
href="https://docs.python.org/[ShortVersion]/tutorial/index.html"&gt;online 
tutorial&lt;/a&gt; and &lt;a 
href="https://docs.python.org/[ShortVersion]/index.html"&gt;documentation&lt;/a&gt;.
+
+See &lt;a 
href="https://docs.python.org/[ShortVersion]/whatsnew/[ShortVersion].html"&gt;what's
 new&lt;/a&gt; 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 &lt;a 
href="mailto:[email protected]"&gt;[email protected]&lt;/a&gt; if you 
continue to encounter issues.</String>
+  <String Id="SuccessRemoveMessage">Thank you for using [WixBundleName].
+
+Feel free to email &lt;a 
href="mailto:[email protected]"&gt;[email protected]&lt;/a&gt; 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 
&lt;a href="#"&gt;log file&lt;/a&gt;.</String>
+  <String Id="FailureRestartText">You must restart your computer to complete 
the rollback of the software.</String>
+  <String Id="FailureRestartButton">&amp;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 &lt;a 
href="https://www.bing.com/search?q=how%20to%20install%20windows%207%20service%20pack%201"&gt;update
 your machine&lt;/a&gt; and then restart the installation.</String>
+  <String Id="FailureVistaMissingSP2">Windows Vista Service Pack 2 and all 
applicable updates are required to install [WixBundleName].
+
+Please &lt;a 
href="https://www.bing.com/search?q=how%20to%20install%20windows%20vista%20service%20pack%202"&gt;update
 your machine&lt;/a&gt; and then restart the installation.</String>
+  <String Id="FailureXPOrEarlier">Windows Vista or later is required to 
install and use [WixBundleName].
+
+Visit &lt;a href="https://www.python.org/"&gt;python.org&lt;/a&gt; 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 &lt;a 
href="https://www.bing.com/search?q=how%20to%20install%20windows%20server%202008%20r2%20service%20pack%201"&gt;update
 your machine&lt;/a&gt; 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 &lt;a 
href="https://www.bing.com/search?q=how%20to%20install%20windows%20server%202008%20service%20pack%202"&gt;update
 your machine&lt;/a&gt; and then restart the installation.</String>
+  <String Id="FailureWS2K3OrEarlier">Windows Server 2008 SP2 or later is 
required to install and use [WixBundleName].
+
+Visit &lt;a href="https://www.python.org/"&gt;python.org&lt;/a&gt; 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 @@
+&#65279;<?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 @@
+&#65279;<?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 @@
+&#65279;<?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 @@
+&#65279;<?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

Reply via email to