WiXMSIBuilder¶
- class starlark_tugger.WiXMSIBuilder¶
The
WiXMSIBuildertype allows building simple MSI installers using the WiX Toolset.WiXMSIBuilderinstances allow you to create and build a.wxsfile with common features. A goal of this type is to allow simple applications - without complex installer needs - to generate MSI installers without having to author your own.wxsfiles.Instances have multiple attributes, which are write-only.
- __init__(id_prefix: str, product_name: str, product_version: str, product_manufacturer: str, arch: str = 'x64') WiXMSIBuilder¶
WiXMSIBuilder()is called to construct new instances. It accepts the following arguments:id_prefixThe string prefix to add to auto-generated IDs in the
.wxsXML.The value must be alphanumeric and
-cannot be used.The value should reflect the application whose installer is being defined.
product_nameThe name of the application being installed.
product_versionThe version of the application being installed.
This is a string like
X.Y.Z, where each component is an integer.product_manufacturerThe author of the application.
archThe WiX architecture of the installer.
- arch¶
(
str)The WiX architecture of the installer.
No validation is performed that the value is a valid WiX architecture or that the content of the installer matches the provided architecture.
- banner_bmp_path¶
(
str)The path to a 493 x 58 pixel BMP file providing the banner to display in the installer.
- dialog_bmp_path¶
(
str)The path to a 493 x 312 pixel BMP file providing an image to be displayed in the installer.
- eula_rtf_path¶
(
str)The path to a RTF file containing the EULA that will be shown to users during installation.
- help_url¶
(
str)A URL that will be presented to provide users with help.
- license_path¶
(
str)Path to a file containing the license for the application being installed.
- msi_filename¶
(
str)The filename to use for the built MSI.
If not set, the default is
<product_name>-<product_version>.msi.
- package_description¶
(
str)A description of the application being installed.
- package_keywords¶
(
str)Keywords for the application being installed.
- product_icon_path¶
(
str)Path to a file providing the icon for the installed application.
- upgrade_code¶
(
str)A GUID defining the upgrade code for the application.
If not provided, a stable GUID derived from the application name will be derived automatically.
- add_program_files_manifest(manifest: FileManifest)¶
This method registers the content of a
FileManifestto be installed in the Program Files directory for this application.This method accepts the following arguments:
manifestFiles to register for installation.
As files are added, they are checked for code signing compatibility with the action
windows-installer-file-added.
- add_visual_cpp_redistributable(redist_version: str, platform: str)¶
This method will locate and add the Visual C++ Redistributable runtime DLL files (e.g.
vcruntime140.dll) to the Program Files manifest in the builder, effectively materializing these files in the installed file layout.This method accepts the following arguments:
redist_versionThe version of the Visual C++ Redistributable to search for and add.
14is the version used for Visual Studio 2015, 2017, and 2019.platformIdentifies the Windows run-time architecture. Must be one of the values
x86,x64, orarm64.
This method uses
vswhere.exeto locate thevcruntimeXXX.dllfiles inside a Visual Studio installation. This should just work if a modern version of Visual Studio is installed. However, it may fail due to system variance.
- build(target: str) ResolvedTarget¶
This method will build an MSI using the WiX Toolset.
This method accepts the following arguments:
targetThe name of the target being built.
Upon successful generation of an installer, the produced installer will be assessed for code signing with the
windows-installer-creationaction.
- to_file_content() FileContent¶
Builds the MSI using the WiX Toolset and returns a
FileContentrepresenting the built MSI.Upon successful generation of an installer, the produced installer will be assessed for code signing with the
windows-installer-creationaction.
- write_to_directory(path: str) str¶
Builds the MSI using the WiX Toolset and writes that installer to the specified directory, returning the absolute path of the written file.
Absolute paths are treated as-is. Relative paths are relative to the current build path.
Upon successful generation of an installer, the produced installer will be assessed for code signing with the
windows-installer-creationaction.