Skip to main content

IEngine Interface

High level abstraction over the «see T:WixToolset.Mba.Core.IBootstrapperEngine» interface.

Methods​

MethodDescription
Apply(hwndParent)Install the packages.
CloseSplashScreen()Close the splash screen if it is still open. Does nothing if the splash screen is not or never was opened.
CompareVersions()
ContainsVariable(name)Checks if a variable exists in the engine.
Detect()Determine if all installation conditions are fulfilled.
Detect(hwndParent)Determine if all installation conditions are fulfilled.
Elevate(hwndParent)Elevate the install.
EscapeString(input)Escapes the input string.
EvaluateCondition(condition)Evaluates the condition string.
FormatString(format)Formats the input string.
GetRelatedBundleVariable(bundleId, name)Gets persisted variables from a related bundle.
GetVariableNumeric(name)Gets numeric variables for the engine.
GetVariableSecureString(name)Gets string variables for the engine using SecureStrings.
GetVariableString(name)Gets string variables for the engine.
GetVariableVersion(name)Gets «see T:System.Version» variables for the engine.
LaunchApprovedExe(hwndParent, approvedExeForElevationId, arguments)Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt.
LaunchApprovedExe(hwndParent, approvedExeForElevationId, arguments, waitForInputIdleTimeout)Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt.
Log(level, message)Logs the message .
Plan(action)Determine the installation sequencing and costing.
Quit(exitCode)Shuts down the engine.
SendEmbeddedError(errorCode, message, uiHint)Sends error message when embedded.
SendEmbeddedProgress(progressPercentage, overallPercentage)Sends progress percentages when embedded.
SetDownloadSource(packageOrContainerId, payloadId, url, user, password)Set the new download URL for a package or container.
SetLocalSource(packageOrContainerId, payloadId, path)Set the local source for a package or container.
SetUpdate(localSource, downloadSource, size, hashType, hash)Set the update information for a bundle.
SetUpdateSource(url)Sets the URL to the update feed.
SetVariableNumeric(name, value)Sets numeric variables for the engine.
SetVariableString(name, value, formatted)Sets string variables for the engine using SecureStrings.
SetVariableString(name, value, formatted)Sets string variables for the engine.
SetVariableVersion(name, value)Sets version variables for the engine.

Properties​

PropertyDescription
PackageCountGets the number of packages in the bundle.

WixToolset.Mba.Core.dll version 4.0.6+73c897383236ddbbbc6ba257634013c1269ceec2

Apply(hwndParent) Method​

Install the packages.

Declaration​

public void Apply(
IntPtr hwndParent
)

Parameters​

ParameterTypeDescription
hwndParentIntPtrThe parent window for the installation user interface.

CloseSplashScreen() Method​

Close the splash screen if it is still open. Does nothing if the splash screen is not or never was opened.

Declaration​

public void CloseSplashScreen()

CompareVersions() Method​

Declaration​

public int CompareVersions()

Return value​

int 0 if equal, 1 if version1 {'>'} version2, -1 if version1 {'<'} version2

ContainsVariable(name) Method​

Checks if a variable exists in the engine.

Declaration​

public bool ContainsVariable(
string name
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.

Return value​

bool Whether the variable exists.

Detect() Method​

Determine if all installation conditions are fulfilled.

Declaration​

public void Detect()

Detect(hwndParent) Method​

Determine if all installation conditions are fulfilled.

Declaration​

public void Detect(
IntPtr hwndParent
)

Parameters​

ParameterTypeDescription
hwndParentIntPtrThe parent window for the installation user interface.

Elevate(hwndParent) Method​

Elevate the install.

Declaration​

public bool Elevate(
IntPtr hwndParent
)

Parameters​

ParameterTypeDescription
hwndParentIntPtrThe parent window of the elevation dialog.

Return value​

bool true if elevation succeeded; otherwise, false if the user cancelled.

Exceptions​

ExceptionDescription
T:System.ComponentModel.Win32ExceptionA Win32 error occurred.

EscapeString(input) Method​

Escapes the input string.

Declaration​

public string EscapeString(
string input
)

Parameters​

ParameterTypeDescription
inputstringThe string to escape.

Return value​

string The escaped string.

Exceptions​

ExceptionDescription
T:System.ComponentModel.Win32ExceptionA Win32 error occurred.

EvaluateCondition(condition) Method​

Evaluates the condition string.

Declaration​

public bool EvaluateCondition(
string condition
)

Parameters​

ParameterTypeDescription
conditionstringThe string representing the condition to evaluate.

Return value​

bool Whether the condition evaluated to true or false.

FormatString(format) Method​

Formats the input string.

Declaration​

public string FormatString(
string format
)

Parameters​

ParameterTypeDescription
formatstringThe string to format.

Return value​

string The formatted string.

Exceptions​

ExceptionDescription
T:System.ComponentModel.Win32ExceptionA Win32 error occurred.

GetRelatedBundleVariable(bundleId, name) Method​

Gets persisted variables from a related bundle.

Declaration​

public string GetRelatedBundleVariable(
string bundleId,
string name
)

Parameters​

ParameterTypeDescription
bundleIdstringThe BundleId of the related bundle.
namestringThe name of the variable.

GetVariableNumeric(name) Method​

Gets numeric variables for the engine.

Declaration​

public System.Int64 GetVariableNumeric(
string name
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.

GetVariableSecureString(name) Method​

Gets string variables for the engine using SecureStrings.

Declaration​

public System.Security.SecureString GetVariableSecureString(
string name
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.

GetVariableString(name) Method​

Gets string variables for the engine.

Declaration​

public string GetVariableString(
string name
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.

GetVariableVersion(name) Method​

Gets «see T:System.Version» variables for the engine.

Declaration​

public string GetVariableVersion(
string name
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.

LaunchApprovedExe(hwndParent, approvedExeForElevationId, arguments) Method​

Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt.

Declaration​

public void LaunchApprovedExe(
IntPtr hwndParent,
string approvedExeForElevationId,
string arguments
)

Parameters​

ParameterTypeDescription
hwndParentIntPtrThe parent window of the elevation dialog (if the engine hasn't elevated yet).
approvedExeForElevationIdstringId of the ApprovedExeForElevation element specified when the bundle was authored.
argumentsstringOptional arguments.

LaunchApprovedExe(hwndParent, approvedExeForElevationId, arguments, waitForInputIdleTimeout) Method​

Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt.

Declaration​

public void LaunchApprovedExe(
IntPtr hwndParent,
string approvedExeForElevationId,
string arguments,
int waitForInputIdleTimeout
)

Parameters​

ParameterTypeDescription
hwndParentIntPtrThe parent window of the elevation dialog (if the engine hasn't elevated yet).
approvedExeForElevationIdstringId of the ApprovedExeForElevation element specified when the bundle was authored.
argumentsstringOptional arguments.
waitForInputIdleTimeoutintTimeout in milliseconds. When set to something other than zero, the engine will call WaitForInputIdle for the new process with this timeout before calling OnLaunchApprovedExeComplete.

Log(level, message) Method​

Logs the message .

Declaration​

public void Log(
LogLevel level,
string message
)

Parameters​

ParameterTypeDescription
levelLogLevelThe logging level.
messagestringThe message to log.

Plan(action) Method​

Determine the installation sequencing and costing.

Declaration​

public void Plan(
LaunchAction action
)

Parameters​

ParameterTypeDescription
actionLaunchActionThe action to perform when planning.

Quit(exitCode) Method​

Shuts down the engine.

Declaration​

public void Quit(
int exitCode
)

Parameters​

ParameterTypeDescription
exitCodeintExit code indicating reason for shut down.

SendEmbeddedError(errorCode, message, uiHint) Method​

Sends error message when embedded.

Declaration​

public int SendEmbeddedError(
int errorCode,
string message,
int uiHint
)

Parameters​

ParameterTypeDescription
errorCodeintError code.
messagestringError message.
uiHintintUI buttons to show on error dialog.

SendEmbeddedProgress(progressPercentage, overallPercentage) Method​

Sends progress percentages when embedded.

Declaration​

public int SendEmbeddedProgress(
int progressPercentage,
int overallPercentage
)

Parameters​

ParameterTypeDescription
progressPercentageintPercentage completed thus far.
overallPercentageintOverall percentage completed.

SetDownloadSource(packageOrContainerId, payloadId, url, user, password) Method​

Set the new download URL for a package or container.

Declaration​

public void SetDownloadSource(
string packageOrContainerId,
string payloadId,
string url,
string user,
string password
)

Parameters​

ParameterTypeDescription
packageOrContainerIdstringThe id that uniquely identifies the package or container.
payloadIdstringThe id that uniquely identifies the payload.
urlstringThe new url.
userstringThe user name for proxy authentication.
passwordstringThe password for proxy authentication.

SetLocalSource(packageOrContainerId, payloadId, path) Method​

Set the local source for a package or container.

Declaration​

public void SetLocalSource(
string packageOrContainerId,
string payloadId,
string path
)

Parameters​

ParameterTypeDescription
packageOrContainerIdstringThe id that uniquely identifies the package or container.
payloadIdstringThe id that uniquely identifies the payload.
pathstringThe new source path.

SetUpdate(localSource, downloadSource, size, hashType, hash) Method​

Set the update information for a bundle.

Declaration​

public void SetUpdate(
string localSource,
string downloadSource,
System.Int64 size,
UpdateHashType hashType,
string hash
)

Parameters​

ParameterTypeDescription
localSourcestringOptional local source path for the update. Default is "update[OriginalNameOfBundle].exe".
downloadSourcestringOptional download source for the update.
sizeSystem.Int64Size of the expected update.
hashTypeUpdateHashTypeType of the hash expected on the update.
hashstringOptional hash expected for the update.

SetUpdateSource(url) Method​

Sets the URL to the update feed.

Declaration​

public void SetUpdateSource(
string url
)

Parameters​

ParameterTypeDescription
urlstringURL of the update feed.

SetVariableNumeric(name, value) Method​

Sets numeric variables for the engine.

Declaration​

public void SetVariableNumeric(
string name,
System.Int64 value
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.
valueSystem.Int64The value to set.

SetVariableString(name, value, formatted) Method​

Sets string variables for the engine using SecureStrings.

Declaration​

public void SetVariableString(
string name,
System.Security.SecureString value,
bool formatted
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.
valueSystem.Security.SecureStringThe value to set.
formattedboolFalse if the value is a literal string.

SetVariableString(name, value, formatted) Method​

Sets string variables for the engine.

Declaration​

public void SetVariableString(
string name,
string value,
bool formatted
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.
valuestringThe value to set.
formattedboolFalse if the value is a literal string.

SetVariableVersion(name, value) Method​

Sets version variables for the engine.

Declaration​

public void SetVariableVersion(
string name,
string value
)

Parameters​

ParameterTypeDescription
namestringThe name of the variable.
valuestringThe value to set.

PackageCount Property​

Gets the number of packages in the bundle.

Declaration​

public int PackageCount { get; set; }