-
Notifications
You must be signed in to change notification settings - Fork 39
Windows Build Process
This page describes how the Windows build process operates and to run a build you must do so on a Windows Build machine. If you have not yet set one of these up, see [Windows Build Machine](Windows Build Machine) for details.
Having set up a build machine, everything is ready for you to perform a build. Within the git repository "openxt.git" is everything you need to compile all of the Windows components and package them. To get this process started check out openxt.git to any location on the build machine and navigate into the "windows" folder:
mkdir C:\Somewhere
c:
cd \Somewhere
git clone https://github.com/OpenXT/openxt.git
NOTE: DO NOT CLONE INTO A PATH CONTAINING SPACES BECAUSE THE BUILD WILL FAIL DUE TO XC-WINDOWS' RELIANCE ON THE WINDDK.
NOTE: START A CYGWIN CONSOLE AT LEAST ONCE BEFORE PROCEEDING. THE FIRST TIME IT IS STARTED IT DOES SOME FURTHER CONFIGURATION THAT MAKES VARIOUS CYGWIN UTILITIES AVAILABLE WHEN USING A COMMAND PROMPT.
Within this directory is everything that is required to drive the windows build:
- winbuild-all.ps1 - Actually does and manages the build
- winbuild-prepare.ps1 - prepares the system for a build
- configs directory - stores config files to dictate how the build operates
- BuildSupport directory - Additional scripts to be used as sub-steps of/support for the build
And additional bits: - mkbuildmachine directory - The scripts you used to [create your build machine](Windows Build Machine)
To run a complete build, the script winbuild-prepare.ps1 must be used first to generate the config.xml file, followed by the winbuild-all.ps1 script. For example:
c:
cd \Somewhere\openxt\windows
powershell .\winbuild-prepare.ps1 config=sample-config.xml build=123456 branch=master certname=developer developer=true
powershell .\winbuild-all.ps1
Where developer is the name of the signing certificate.
In Windows Explorer right click and select properties on C:\Somewhere\openxt\windows\msi-installer\iso\windows\setup.exe. There should be a tab called Digital Signatures and you should see the name of your certificate ("developer" in our example).
When using developement signing certificates and keys as outlined on the [Windows Build Machine](Windows Build Machine) page, the certificates need to be imported to the certificate store on the target system. For 23b systems this is optional but it is required on 64b ones. On the target machine do the following:
Open a command prompt with right click and "Run as Administrator". Run the following and reboot:
bcdedit /set testsigning on
Get a copy of your test signing certificate file. This will be found in the location where you ran makecert.bat (developer.cer in our examples). Open a command prompt with right click and "Run as Administrator". Run the following and reboot:
certutil -addstore -f "Root" developer.cer
certutil -addstore -f "TrustedPublisher" developer.cer
Not you can install the test signed tools package.
The output from the build should end up in a file like this:
C:\Somewhere\openxt\windows\output\xctools-iso.zip
The easiest way to test your Windows build is to copy the zip file on to an OpenXT Windows VM, expand it and run the windows\setup.exe file which should install files.
NOTE: that unattendedInstall.bat has references to certificates in windows\SupportFiles which would need to be updated to install the certificate you used to build.