WiXMSIBuilder
¶
-
class
starlark_tugger.
WiXMSIBuilder
¶ The
WiXMSIBuilder
type allows building simple MSI installers using the WiX Toolset.WiXMSIBuilder
instances allow you to create and build a.wxs
file 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.wxs
files.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_prefix
The string prefix to add to auto-generated IDs in the
.wxs
XML.The value must be alphanumeric and
-
cannot be used.The value should reflect the application whose installer is being defined.
product_name
- The name of the application being installed.
product_version
The version of the application being installed.
This is a string like
X.Y.Z
, where each component is an integer.product_manufacturer
- The author of the application.
arch
- The 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.
(
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
FileManifest
to be installed in the Program Files directory for this application.This method accepts the following arguments:
manifest
- Files 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_version
- The version of the Visual C++ Redistributable to search for and
add.
14
is the version used for Visual Studio 2015, 2017, and 2019. platform
- Identifies the Windows run-time architecture. Must be one of
the values
x86
,x64
, orarm64
.
This method uses
vswhere.exe
to locate thevcruntimeXXX.dll
files 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:
target
- The 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-creation
action.
-
to_file_content
() → FileContent¶ Builds the MSI using the WiX Toolset and returns a
FileContent
representing the built MSI.Upon successful generation of an installer, the produced installer will be assessed for code signing with the
windows-installer-creation
action.
-
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-creation
action.
-