782baa8f54
Script create_msix_package.py will download the ZIP file from the given URL. It will create the MSIX package with the version number and publisher ID given. Strongly recommended are the path to a valid PFX file, and the password to use that PFX file. These are needed for signing the resulting MSIX package. The signing step is optional though, but the resulting MSIX package cannot be installed outside of the Microsoft Store Example set VERSION=2.83.2.0 set URL=https://download.blender.org/release/Blender2.83/blender-2.83.2-windows64.zip set PUBID=CN=PUBIDHERE set PFX=X:\path\to\cert.pfx set PFXPW=pwhere python create_msix_package.py --version %VERSION% --url %URL% --publisher %PUBID% --pfx %PFX% --password %PFXPW% Requirements: * Python default from the Microsoft Store should do (3.8) * requests can be installed with `pip install requests` Note that for an LTS release that gets uploaded to its own LTS application release in the store you need to specify the `--lts` switch on the command-line to the script. Upon completion there will be a file with the name blender-2.83.2.0-windows64.msix. In case PFX file and its password were given on the command line MSIX package will also be signed for the Microsoft Store. Related Wiki page: https://wiki.blender.org/wiki/Process/Release_On_Windows_Store Reviewed By: jbakker Maniphest Tasks: T77348, T79356 Differential Revision: https://developer.blender.org/D8310 |
||
---|---|---|
.. | ||
Assets | ||
AppxManifest.xml.template | ||
create_msix_package.py | ||
README.md |
create_msix_package
This tool is used to create MSIX packages from a given ZiP archive. The MSIX package is distributed mainly through the Microsoft Store. It can also be installed when downloaded from blender.org. For that to work the MSIX package needs to be signed.
Requirements
- MakeAppX - this tool is distributed with Windows 10 SDK
- SignTool - this tool is also distributed with Windows 10 SDK
- Python 3 (3.7 or later tested) - to run the create_msix_package.py script
- requests module - can be installed with
pip install requests
- PFX file (optional, but strongly recommended) - for signing the resulting MSIX package. NOTE: If the MSIX package is not signed when uploaded to the Microsoft store the validation and certification process can take up to three full business day.
Usage
On the command-line:
set VERSION=2.83.4.0
set URL=https://download.blender.org/release/Blender2.83/blender-2.83.4-windows64.zip
set PUBID=CN=PUBIDHERE
set PFX=X:\path\to\cert.pfx
set PFXPW=pwhere
python create_msix_package.py --version %VERSION% --url %URL% --publisher %PUBID% --pfx %PFX% --password %PFXPW%
Result will be a MSIX package with the name blender-2.83.4-windows64.msix
.
With the above usage it will be signed. If the signing options are left out the
package will not be signed.
Optional arguments
In support of testing and developing the manifest and scripts there are a few optional arguments:
--skipdl
: If ablender.zip
is available already next to the tool use this to skip actual downloading of the archive designated by--url
. The latter option is still required--overwrite
: When script fails the final clean-up may be incomplete leaving theContent
folder with its structure. Specify this argument to automatically clean up this folder before starting to seed theContent
folder--leavezip
: When specified leave theblender.zip
file while cleaning up all other intermediate files, including theContent
folder. This is useful to not have to re-download the same archive from--url
on each usage
What it does
The tool creates in the directory it lives a subfolder called Content
. This is
where all necessary files are placed.
The Assets
folder is copied to the Content
folder.
From the application manifest template a version with necessary parts replaced as their actual values as specified on the command-line is realized. This manifest controls the packaging of Blender into the MSIX format.
Next the tool downloads the designated ZIP archive locally as blender.zip. From
this archive the files are extracted into the Content\Blender
folder, but skip
the leading part of paths in the ZIP. We want to write the files to the
content_blender_folder where blender.exe ends up as
Content\Blender\blender.exe
, and not
Content\Blender\blender-2.83.4-windows64\blender.exe
Once the extraction is completed the MakeAppX tool is executed with the Content
folder as input. The result will be the MSIX package with the name in the form
blender-X.YY.Z-windows64.msix
.
If the PFX file and its password are given on the command-line this MSIX package will be signed.
All intermediate files and directories will be removed.