提交 3b1bb2cc 编写于 作者: S Sam Aaron

Build - further automate windows build process

Still more work to be done here!
上级 8dfc4f96
# How to build an MSI installer using WiX
1. Build `sonic-pi.exe` and run it to test.
2. Copy wix directory to top level sonic-pi directory
3. Remove files in `etc` and `app\gui` you don't want to include in the msi
- `app\gui` should likely only have the `release` and `theme` dirs, everything else can go
4. Generate the wixobj files
- `wix\gen_wix.bat`
5. Update version number
- edit wix\sonic-pi.wxs
- change version number (from X.Y.Z)
6. Remove duplicate info
- edit `wix\gui.wxs`
- remove sonic-pi.exe component and componentref (both have identical IDs)
7. Build the msi!
- `wix\gen_msi.bat`
8. Your MSI should be found in the `wix` dir.
cd %~dp0
cd ..
candle wix\sonic-pi.wxs etc.wxs gui.wxs server.wxs -ext WixUtilExtension
light sonic-pi.wixobj etc.wixobj gui.wixobj server.wixobj -ext WixUtilExtension -ext WixUIExtension -o wix\Sonic-Pi.msi -b etc -b app\gui -b app\server
cd %~dp0
cd ..
heat dir etc -gg -g1 -sfrag -dr SonicPi -cg ETC -out etc.wxs
heat dir app\gui -gg -g1 -sfrag -dr AppDir -cg GUI -out gui.wxs
heat dir app\server -gg -g1 -sfrag -dr AppDir -cg SERVER -out server.wxs
echo Update version number in wix\sonic-pi.wxs
echo Remove duplicate sonic-pi.exe info from wix\gui.wxs
echo Then run gen_msi.bat
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:firewall="http://schemas.microsoft.com/wix/FirewallExtension">
<!-- so you want to be a WiXard?
1. Copy wix directory to top level sonic-pi directory
2. Generate the wixobj files
heat dir etc -gg -g1 -sfrag -dr SonicPi -cg ETC -out wix\etc.wxs
heat dir app\gui -gg -g1 -sfrag -dr AppDir -cg GUI -out wix\gui.wxs
heat dir app\server -gg -g1 -sfrag -dr AppDir -cg SERVER -out wix\server.wxs
3. Update version number
- edit wix\sonic-pi.wxs
- change version number (from X.Y.Z)
4. Remove duplicate info
- edit wix\gui.wxs
- remove sonic-pi.exe component and componentref (both have identical IDs)
5. Prepare the candle?!?
candle wix\sonic-pi.wxs wix\etc.wxs wix\gui.wxs wix\server.wxs -ext WixUtilExtension
6. Build the msi!
light sonic-pi.wixobj etc.wixobj gui.wixobj server.wixobj -ext WixUtilExtension -ext WixUIExtension -o wix\Sonic-Pi.msi -b etc -b app\gui -b app\server
-->
<Product Id="*" Name="Sonic Pi" Language="1033" Version="X.Y.Z" Manufacturer="Sonic Pi" UpgradeCode="ECA5D03B-CEBD-4672-A0A2-176CBCBA4429">
<Package Description="Sonic Pi Installer" Comments="Sonic Pi Installer" InstallScope="perMachine" InstallerVersion="200" Compressed="yes" />
<Property Id="REINSTALLMODE" Value="amus"/>
......@@ -33,9 +8,9 @@ light sonic-pi.wixobj etc.wixobj gui.wixobj server.wixobj -ext WixUtilExtension
<MajorUpgrade AllowDowngrades="yes" Schedule="afterInstallInitialize"/>
<Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
<WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="wix_ui_banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="wix_ui_dialog.bmp" />
<WixVariable Id="WixUILicenseRtf" Value="wix\LICENSE.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="wix\wix_ui_banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="wix\wix_ui_dialog.bmp" />
<Property Id='ARPCONTACT'>https://in-thread.sonic-pi.net</Property>
<Property Id='ARPHELPLINK'>https://in-thread.sonic-pi.net</Property>
<Property Id='ARPURLINFOABOUT'>http://sonic-pi.net</Property>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册