### OnInitializeInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked before the installation process starts. ```APIDOC ## OnInitializeInstall(bool) ### Description Callback before install will be started. ### Declaration ```cs public void OnInitializeInstall(bool install) ``` ``` -------------------------------- ### Get Install Source Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Retrieves the installation source for the product. This property indicates the location from which the product was installed. ```csharp public string InstallSource { get; set; } ``` -------------------------------- ### InstallSource Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the installation source of the product. ```APIDOC ## InstallSource Property The installation source. ### Declaration ```cs public string InstallSource { get; set; } ``` ``` -------------------------------- ### Example Text File Source: https://github.com/firegiant/docs/blob/main/src/content/docs/quick-start/index.mdx A placeholder text file for your installation package. You can include any content you wish in this file. ```txt This is an example text file. It can contain any content you want. ``` -------------------------------- ### ApplyBegin Event Declaration Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/idefaultbootstrapperapplication.md Represents the event fired when the engine has begun installing the bundle. Use this to hook into the start of the installation process. ```cs public System.EventHandler ApplyBegin ``` -------------------------------- ### ApplyBegin Event Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/idefaultbootstrapperapplication.md Fired when the engine has begun installing the bundle. This event provides details about the start of the application process. ```APIDOC ## ApplyBegin Event {#applybegin} ### Description Fired when the engine has begun installing the bundle. ### Declaration ```cs public System.EventHandler ApplyBegin ``` ### Value `System.EventHandler` ``` -------------------------------- ### PreDecompile() Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.extensibility/basewindowsinstallerdecompilerextension.md This method is called before the decompiler starts processing the installer. It can be used to perform setup or validation tasks before decompilation begins. ```APIDOC ## PreDecompile() ### Description This method is called before the decompiler starts processing the installer. It can be used to perform setup or validation tasks before decompilation begins. ### Declaration ```cs public void PreDecompile() ``` ``` -------------------------------- ### OnStartLayout Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when installation preparation should begin. ```APIDOC ## OnStartLayout(bool) ### Description Callback when installation preparation should begin. ### Declaration ```cs public void OnStartLayout(bool startLayout) ``` ``` -------------------------------- ### RevisionNumber Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/summaryinfo.md Gets or sets the RevisionNumber summary information property, which contains the package code for the installer package or GUIDs for patch and transform packages. ```APIDOC ## RevisionNumber Property Gets or sets the RevisionNumber summary information property. ### Declaration ```cs public string RevisionNumber { get; set; } ``` ### Remarks The Revision Number summary information property contains the package code for the installer package. The package code is a unique identifier of the installer package. The Revision Number summary information property of a patch package specifies the GUID patch code for the patch. This is followed by a list of patch code GUIDs for obsolete patches that are removed when this patch is applied. The patch codes are concatenated with no delimiters separating GUIDs in the list. The Revision Number summary information property of a transform package lists the product code GUIDs and version of the new and original products and the upgrade code GUID. The list is separated with semicolons as follows. Original-Product-Code Original-Product-Version ; New-Product Code New-Product-Version; Upgrade-Code This summary property is REQUIRED. Win32 MSI APIs: [MsiSummaryInfoGetProperty](http://msdn.microsoft.com/library/en-us/msi/setup/msisummaryinfogetproperty.asp) , [MsiSummaryInfoSetProperty](http://msdn.microsoft.com/library/en-us/msi/setup/msisummaryinfosetproperty.asp) ``` -------------------------------- ### ExampleWpfBundleUI for Install/Uninstall Source: https://github.com/firegiant/docs/blob/main/src/content/docs/heatwave/build-tools/fgba/bundleui.md This example demonstrates how to implement UI handling for install and uninstall actions within a Bundle UI. It shows how to display custom windows and view models, and how to signal to FGBA that the UI is managing the action. ```cs public class ExampleWpfBundleUI : BundleUIBase { private readonly IBundleApplication _bundleApplication; private MainWindow _window; ... public override bool OnStartInstall(bool fullUI) { if (fullUI) { _window.Model = new ExampleInstallViewModel(_bundleApplication); _window.Show(); // Let FGBA know that we're handling this callback because the // window and viewmodel will call _bundleApplication.Go() when // the user presses the "Install" button. return true; } // Let the default handle the non-UI case. return base.OnStartInstall(fullUI); } public override bool OnStartUninstall(bool fullUI) { if (fullUI) { _window.Model = new ExampleUninstallViewModel(_bundleApplication); _window.Show(); // Let FGBA know that we're handling this callback because the // window and viewmodel will call _bundleApplication.Go() when // the user presses the "Ok" button to start the uninstall. return true; } // Let the default handle the non-UI case. return base.OnStartUninstall(fullUI); } public override void OnStartProgressInstall(bool showUI) { if (showUI) { _window.Model = new ExampleProgressViewModel(_bundleApplication, "Installing..."); _window.Show(); } } public override void OnStartProgressUninstall(bool showUI) { if (showUI) { _window.Model = new ExampleProgressViewModel(_bundleApplication, "Uninstalling..."); _window.Show(); } } // Other callbacks. // Initialization, these are rarely needed. // OnInitializeHelp() // OnInitializeLayout() // OnInitializeInstall() // OnInitializeModify() // OnInitializeRepair() // OnInitializeUninstall() // Show a custom UI for any of these actions. // OnStartHelp() // OnStartLayout() // OnStartInstall() - seen above // OnStartModify() // OnStartRepair() // OnStartUninstall() - seen above // Show progress page and handle progress updates. // OnStartProgressLayout // OnStartProgressInstall - seen above // OnStartProgressModify // OnStartProgressRepair // OnStartProgressUninstall - seen above ``` -------------------------------- ### Get and Set RevisionNumber Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/summaryinfo.md Manages the RevisionNumber summary information property. For installer packages, this is the unique package code. For patch packages, it's the GUID patch code followed by obsolete patch GUIDs. For transform packages, it lists product codes, versions, and upgrade codes. ```cs public string RevisionNumber { get; set; } ``` -------------------------------- ### OnStartInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the installation preparation should begin. ```APIDOC ## OnStartInstall(bool) ### Description Callback when installation preparation should begin. ### Declaration ```cs protected virtual void OnStartInstall(bool rebootCanceled) ``` ``` -------------------------------- ### DiskPrompt Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/sourcelist.md Gets or sets the prompt template used when the user is prompted for installation media. ```APIDOC ## DiskPrompt Property ### Description Gets or sets the prompt template that is used when prompting the user for installation media. ### Declaration ```cs public string DiskPrompt { get; set; } ``` ``` -------------------------------- ### OnStartProgressInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the installation progress UI should begin. ```APIDOC ## OnStartProgressInstall(bool) ### Description Callback when installation progress should begin. ### Declaration ```cs protected virtual void OnStartProgressInstall(bool rebootCanceled) ``` ``` -------------------------------- ### Get Windows Installer Table Name Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.data.windowsinstaller/sequencetableextensions.md Use this method to get the Windows Installer table name for a SequenceTable enum value. This is useful when interacting with Windows Installer databases. ```cs public static string WindowsInstallerTableName() ``` -------------------------------- ### OnStartProgressInstall Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the installation progress phase should begin. Use this to update UI elements showing installation progress. ```APIDOC ## OnStartProgressInstall(bool showUI) Method ### Description Callback when installation progress should begin. ### Declaration ```cs public void OnStartProgressInstall( bool showUI ) ``` ### Parameters #### Parameters - **showUI** (bool) - Indicates whether UI should be displayed. ``` -------------------------------- ### Get Install Location Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Retrieves the installation location of the product. This property specifies the directory where the product is installed. ```csharp public string InstallLocation { get; set; } ``` -------------------------------- ### OnInitializeInstall Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked before the installation process begins. It allows the UI to prepare for the installation, potentially showing progress indicators or user prompts. ```APIDOC ## OnInitializeInstall(bool fullUI) Method Callback before install will be started. ### Declaration ```cs public void OnInitializeInstall( bool fullUI ) ``` ### Parameters | Parameter | Type | Description | | --------- | ---- | ----------- | | fullUI | bool | Indicates whether UI should be displayed. | ``` -------------------------------- ### InstallProduct Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Opens an installer package and initializes an install session. ```APIDOC ## InstallProduct(packagePath, commandLine) ### Description Opens an installer package and initializes an install session. ### Parameters #### Path Parameters - **packagePath** (string) - Required - The path to the installer package. - **commandLine** (string) - Optional - The command line arguments for the installation. ### Method (Not specified, likely an internal method call) ### Endpoint (Not applicable for this type of API) ``` -------------------------------- ### Get All Installed Components Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/componentinstallation.md Retrieves all installed components for all products. This method is useful for enumerating all components managed by Windows Installer. ```csharp public static IEnumerable AllComponents { get; set; } ``` -------------------------------- ### OnStartProgressInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when the installation progress phase should begin. It takes a boolean parameter to control UI display. ```APIDOC ## OnStartProgressInstall(bool showUI) Method Callback when layout progress should begin. ### Declaration ```cs public void OnStartProgressInstall( bool showUI ) ``` ### Parameters #### Path Parameters - **showUI** (bool) - Indicates whether UI should be displayed. ``` -------------------------------- ### Get Installer Version Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Retrieves the current version of the Windows Installer. This is a static property. ```cs public static System.Version Version { get; set; } ``` -------------------------------- ### Get Installation Language Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/session.md Retrieves the numeric language ID used by the current installation session. ```cs public int Language { get; set; } ``` -------------------------------- ### OnInitializeInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked before the installation process begins. ```APIDOC ## OnInitializeInstall(bool) ### Description Callback before install will be started. ### Declaration ```cs protected virtual void OnInitializeInstall(bool rebootCanceled) ``` ``` -------------------------------- ### Get Attribute GUID Value Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.extensibility.services/iparsehelper.md Retrieves a GUID attribute value, with options to allow auto-generation and emptiness. Throws an error for illegal GUID values. ```cs public string GetAttributeGuidValue( WixToolset.Data.SourceLineNumber sourceLineNumbers, System.Xml.Linq.XAttribute attribute, bool generatable, bool canBeEmpty ) ``` -------------------------------- ### Install Product Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Initiates an installation session for a given installer package. Supports custom command lines for configuration and allows for UI and logging customization. ```csharp public static void InstallProduct( string packagePath, string commandLine ) ``` -------------------------------- ### Get Cost of Component Installation Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/componentinfo.md Retrieves the disk space required per drive to install a specific component. This is useful for estimating storage needs before installation. ```cs public IList GetCost( InstallState installState ) ``` -------------------------------- ### Get Product Name Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Retrieves the installed product name. This property provides the display name of the installed product. ```csharp public string ProductName { get; set; } ``` -------------------------------- ### OnStartInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when layout preparation should begin for installation. ```APIDOC ## OnStartInstall(bool) ### Description Callback when layout preparation should begin. ### Declaration ```cs public void OnStartInstall(bool startInstall) ``` ``` -------------------------------- ### Get Valid Installation States Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/featureinfo.md Retrieves a collection of valid installation states for a feature. This property is read-only after initialization. ```cs public System.Collections.Generic.ICollection ValidStates { get; set; } ``` -------------------------------- ### OnStartProgressLayout Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when installation progress should begin. ```APIDOC ## OnStartProgressLayout(bool) ### Description Callback when installation progress should begin. ### Declaration ```cs public void OnStartProgressLayout(bool startProgress) ``` ``` -------------------------------- ### PlanBegin Event Declaration Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/idefaultbootstrapperapplication.md Fired when the engine has begun planning the installation. This event marks the start of the installation planning phase. ```csharp public System.EventHandler PlanBegin ``` -------------------------------- ### OnStartInstall Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the installation process is about to begin. Use this to initiate custom UI for the installation phase. ```APIDOC ## OnStartInstall(bool fullUI) Method ### Description Callback when installation preparation should begin. ### Declaration ```cs public bool OnStartInstall( bool fullUI ) ``` ### Parameters #### Parameters - **fullUI** (bool) - Indicates whether UI should be displayed. ### Return value `bool` True if the BundleUI handles the callback, otherwise bootstrapper application will continue on to progress phase. ``` -------------------------------- ### Version Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Gets the current version of the installer. ```APIDOC ## Version Property ### Description Gets the current version of the installer. ### Declaration ```cs public static System.Version Version { get; set; } ``` ``` -------------------------------- ### OnStartInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when the installation preparation phase should begin. It determines if the UI should be displayed and returns a boolean indicating if the IBundlUI handled the callback. ```APIDOC ## OnStartInstall(bool fullUI) Method Callback when layout preparation should begin. ### Declaration ```cs public bool OnStartInstall( bool fullUI ) ``` ### Parameters #### Path Parameters - **fullUI** (bool) - Indicates whether UI should be displayed. ### Return value `bool` True if the BundleUI handles the callback, otherwise bootstrapper application will continue on to progress phase. ``` -------------------------------- ### ProductName Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the installed product name. ```APIDOC ## ProductName Property The installed product name. ### Declaration ```cs public string ProductName { get; set; } ``` ``` -------------------------------- ### Plan Method - IBootstrapperEngine Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrapperengine.md Defines the installation plan. Consult M:WixToolset.Mba.Core.IEngine.Plan(WixToolset.Mba.Core.LaunchAction) for more information. ```cs public void Plan() ``` -------------------------------- ### Go() Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleapplication.md Initiates the bundle application's planning process using the default PlanAction. ```cs public void Go() ``` -------------------------------- ### InstallLocation Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the installation location of the product. ```APIDOC ## InstallLocation Property The installation location. ### Declaration ```cs public string InstallLocation { get; set; } ``` ``` -------------------------------- ### OnInitializeInstall Callback - C# Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked before the installation process begins. Useful for preparing the UI or system for installation. ```csharp public void OnInitializeInstall( bool fullUI ) ``` -------------------------------- ### ProductCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the ProductCode (GUID) of the product. ```APIDOC ## ProductCode Property Gets the ProductCode (GUID) of the product. ### Declaration ```cs public string ProductCode { get; set; } ``` ``` -------------------------------- ### State Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/componentinstallation.md Gets the installed state of a component. ```APIDOC ## State ### Description Gets the installed state of a component. ### Declaration ```cs public InstallState State { get; set; } ``` ``` -------------------------------- ### NetCoreCheck.exe Usage Examples Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/development/wips/6264-add-dotnet-runtime-compatibility-check.md Demonstrates how to execute the NetCoreCheck utility with different framework types and versions. ```bash NetCoreCheck.exe Microsoft.WindowsDesktop.App 3.1.4 ``` ```bash NetCoreCheck.exe Microsoft.NETCore.App 5.0.0 ``` -------------------------------- ### Build Directory Path Map (Basic) Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller.package/installpathmap.md Builds a mapping from Directory keys to installation paths. Use this overload when short directory names are not required. ```cs public static InstallPathMap BuildDirectoryPathMap( WixToolset.Dtf.WindowsInstaller.Database db, bool useShortNames ) ``` -------------------------------- ### SourceList Property Declaration Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installation.md Gets the source list associated with a product or patch installation. This property provides access to the installation sources. ```csharp public SourceList SourceList { get; set; } ``` -------------------------------- ### OnStartProgressInstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when layout progress should begin for installation. ```APIDOC ## OnStartProgressInstall(bool) ### Description Callback when layout progress should begin. ### Declaration ```cs public void OnStartProgressInstall(bool startProgress) ``` ``` -------------------------------- ### Check Install Run Mode (C#) Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/session.md Gets the value of a specific installation run mode flag for the current session. This is particularly useful in deferred custom actions to determine the context of the installation. ```csharp public bool GetMode( InstallRunMode mode ) ``` -------------------------------- ### SourceList Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the source list of this product installation. ```APIDOC ## SourceList Property ### Description Gets the source list of this product installation. ### Declaration ```cs public SourceList SourceList { get; set; } ``` ``` -------------------------------- ### Plan Installation with Wix Toolset Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/iengine.md Determines the installation sequencing and costing for a given launch action. The `LaunchAction` parameter specifies the action to perform during the planning phase. ```cs public void Plan( LaunchAction action ) ``` -------------------------------- ### WixQuietExec immediate execution log example Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/tools/wixext/quietexec.md Example log output from an immediate WixQuietExec custom action showing the executed command and its console output. ```text WixQuietExec: "C:\WINDOWS\SysWOW64\cmd.exe" /c ECHO %NUMBER_OF_PROCESSORS% WixQuietExec: 16 ``` -------------------------------- ### InstallDate Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the date and time the product was installed. ```APIDOC ## InstallDate Property Date and time the product was installed. ### Declaration ```cs public System.DateTime InstallDate { get; set; } ``` ``` -------------------------------- ### Run Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/bootstrapperapplication.md The entry point called when the bootstrapper application is ready to execute. ```cs protected void Run() ``` -------------------------------- ### GetFeatureState(feature) Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the installed state for a product feature. ```APIDOC ## GetFeatureState(feature) ### Description Gets the installed state for a product feature. ### Method ```cs public FeatureState GetFeatureState(string feature) ``` ``` -------------------------------- ### Open Installed Product by Product Code Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Opens an installer package for an already installed product using its product code. ```cs public static Session OpenProduct( string productCode ) ``` -------------------------------- ### GetComponentState(component) Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets the installed state for a product component. ```APIDOC ## GetComponentState(component) ### Description Gets the installed state for a product component. ### Method ```cs public ComponentState GetComponentState(string component) ``` ``` -------------------------------- ### OnStartLayout Callback Signature Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when installation preparation should begin. Returns true if the BundleUI handles the callback, otherwise the bootstrapper application will continue on to the progress phase. ```csharp public bool OnStartLayout( bool fullUI ) ``` -------------------------------- ### State Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the installation state of this instance of the patch. ```APIDOC ## State Property Gets the installation state of this instance of the patch. ### Declaration ```cs public PatchStates State { get; set; } ``` ### Exceptions | Exception | | --------- | | T:System.ArgumentException | | T:WixToolset.Dtf.WindowsInstaller.InstallerException | | Description | | An unknown patch was requested | | The installer configuration data is corrupt | ``` -------------------------------- ### WixQuietExec deferred execution log example Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/tools/wixext/quietexec.md Example log output from a deferred WixQuietExec custom action showing the executed command and its console output. ```text WixQuietExec: "C:\WINDOWS\SysWOW64\cmd.exe" /c WHOAMI WixQuietExec: nt authority\system ``` -------------------------------- ### PatchCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the patch code (GUID) of the patch. ```APIDOC ## PatchCode Property Gets the patch code (GUID) of the patch. ### Declaration ```cs public string PatchCode { get; set; } ``` ``` -------------------------------- ### State Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the installation state of this instance of the patch. ```APIDOC ## State Property ### Description Gets the installation state of this instance of the patch. ### Declaration ```cs public State State { get; set; } ``` ``` -------------------------------- ### OnStartProgressLayout Callback Signature Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when installation progress should begin. This method does not return a value. ```csharp public void OnStartProgressLayout( bool showUI ) ``` -------------------------------- ### PatchCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the patch code (GUID) of the patch. ```APIDOC ## PatchCode Property ### Description Gets the patch code (GUID) of the patch. ### Declaration ```cs public string PatchCode { get; set; } ``` ``` -------------------------------- ### Build Output Example Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/tutorial/sprint3/Running an installer if you dare.md This output shows the result of building a Visual Studio solution, indicating the locations of the generated .exe and .msi files. ```text Build started... 1>------ Build started: Project: App, Configuration: Debug Any CPU ------ 1> App -> X:\sprint3\App\bin\Debug\App.exe 2>------ Build started: Project: WixTutorialPackage, Configuration: Debug x86 ------ 2>WixTutorialPackage -> X:\sprint3\WixTutorialPackage\bin\x86\Debug\en-US\WixTutorialPackage.msi ========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== ========== Build started at 13:37 and took 03.589 seconds ========== ``` -------------------------------- ### CurrentState Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/featureinfo.md Gets the current install state of the feature. ```APIDOC ## CurrentState Property ### Description Gets the current install state of the feature. ### Property Signature ```cs public InstallState CurrentState { get; set; } ``` ### Remarks Corresponds to the Win32 MSI API: [MsiGetFeatureState](http://msdn.microsoft.com/library/en-us/msi/setup/msigetfeaturestate.asp). ``` -------------------------------- ### OnStartup Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/bootstrapperapplication.md Called by the engine to raise the Startup event. Includes additional arguments for the event. ```cs protected void OnStartup( StartupEventArgs args ) ``` -------------------------------- ### Apply Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/iengine.md Installs the packages associated with the engine. Requires a parent window handle for the installation UI. ```APIDOC ## Apply(hwndParent) ### Description Install the packages. ### Method Apply ### Parameters #### Path Parameters - **hwndParent** (IntPtr) - Required - The parent window for the installation user interface. ``` -------------------------------- ### ComponentCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/componentinstallation.md Gets the component code (GUID) of the component. ```APIDOC ## ComponentCode ### Description Gets the component code (GUID) of the component. ### Declaration ```cs public string ComponentCode { get; set; } ``` ``` -------------------------------- ### SetUpdate Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/iengine.md Configures update information for a bundle, specifying local and download sources, size, and hash details. ```APIDOC ## SetUpdate(localSource, downloadSource, size, hashType, hash) ### Description Set the update information for a bundle. ### Method SetUpdate ### Parameters #### Path Parameters - **localSource** (string) - Required - The local source path for the update. - **downloadSource** (string) - Required - The download URL for the update. - **size** (long) - Required - The size of the update package in bytes. - **hashType** (string) - Required - The type of hash used (e.g., 'SHA256'). - **hash** (string) - Required - The hash value of the update package. ``` -------------------------------- ### Guid Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.data.windowsinstaller.rows/componentrow.md Gets or sets the ComponentId for this Component row. ```APIDOC ## Guid Property {#guid} Gets or sets the ComponentId for this Component row. ### Declaration ```cs public string Guid { get; set; } ``` ``` -------------------------------- ### Plan Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/iengine.md Determines the installation sequencing and costing for a given launch action. This is a crucial step in preparing for an installation. ```APIDOC ## Plan(action) Method Determine the installation sequencing and costing. ### Declaration ```cs public void Plan( LaunchAction action ) ``` ### Parameters | Parameter | Type | Description | | --------- | ---- | ----------- | | action | LaunchAction | The action to perform when planning. | ``` -------------------------------- ### Elevate(hwndParent) Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/iengine.md Elevates the installation process, potentially showing a UAC prompt if the current user lacks administrative privileges. ```APIDOC ## Elevate(hwndParent) Method ### Description Elevate the install. ### Declaration ```cs public bool Elevate( IntPtr hwndParent ) ``` ### Parameters | Parameter | Type | Description | | --------- | ---- | ----------- | | hwndParent | IntPtr | The parent window of the elevation dialog. | ### Return value `bool` true if elevation succeeded; otherwise, false if the user cancelled. ### Exceptions | Exception | Description | | --------- | ----------- | | T:System.ComponentModel.Win32Exception | A Win32 error occurred. | ``` -------------------------------- ### PageCount Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/summaryinfo.md Gets or sets the PageCount summary information property, which indicates the minimum installer version required for an installation or transform package. ```APIDOC ## PageCount Property Gets or sets the PageCount summary information property. ### Declaration ```cs public int PageCount { get; set; } ``` ### Remarks For an installation package, the PageCount summary information property contains the minimum installer version required. For Windows Installer version 1.0, this property must be set to the integer 100. For 64-bit Windows Installer Packages, this property must be set to the integer 200. For a transform package, the PageCount summary information property contains minimum installer version required to process the transform. Set to the greater of the two PageCount summary information property values belonging to the databases used to generate the transform. The PageCount summary information property is set to null in patch packages. This summary property is REQUIRED. Win32 MSI APIs: [MsiSummaryInfoGetProperty](http://msdn.microsoft.com/library/en-us/msi/setup/msisummaryinfogetproperty.asp) , [MsiSummaryInfoSetProperty](http://msdn.microsoft.com/library/en-us/msi/setup/msisummaryinfosetproperty.asp) ``` -------------------------------- ### ProvideComponent Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Gets the full component path, performing any necessary installation. Prompts for source if necessary and increments the usage count for the feature. ```cs public static string ProvideComponent( string product, string feature, string component, InstallMode installMode ) ``` -------------------------------- ### Get BundlePackage Vital Status Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundlepackage.md Indicates whether failure to install the package will fail the entire installation chain. Set to true if the package is critical. ```csharp public bool Vital { get; set; } ``` -------------------------------- ### SetUpdate() Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrapperengine.md Configures update settings. See M:WixToolset.Mba.Core.IEngine.SetUpdate(System.String,System.String,System.Int64,WixToolset.Mba.Core.UpdateHashType,System.String). ```APIDOC ## SetUpdate() ### Description Configures update settings. ### Declaration ```cs public void SetUpdate() ``` ``` -------------------------------- ### LayoutDirectory Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrappercommand.md Gets the directory containing the layout files for the installation. ```APIDOC ## LayoutDirectory Property ### Description Gets layout directory. ### Declaration ```cs public string LayoutDirectory { get; set; } ``` ``` -------------------------------- ### Item Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets information about an installation of a product by its property name. ```APIDOC ## Item Property Gets information about an installation of a product. ### Declaration ```cs public string Item[ string propertyName ] { get; set; } ``` ### Parameters | Parameter | Type | Description | | --------- | ---- | ----------- | | propertyName | string | Name of the property being retrieved. | ### Remarks Win32 MSI APIs: [MsiGetProductInfo](http://msdn.microsoft.com/library/en-us/msi/setup/msigetproductinfo.asp) , [MsiGetProductInfoEx](http://msdn.microsoft.com/library/en-us/msi/setup/msigetproductinfoex.asp) ### Exceptions | Exception | Description | | --------- | ----------- | | T:System.ArgumentOutOfRangeException | An unknown product or property was requested | | T:WixToolset.Dtf.WindowsInstaller.InstallerException | The installer configuration data is corrupt | ``` -------------------------------- ### ConfigureProduct Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Installs or uninstalls a product. This method can display the user interface and allows for setting command-line properties. It's advised to check RebootRequired and RebootInitiated properties post-execution. ```APIDOC ## ConfigureProduct(productCode, installLevel, installState, commandLine) Method ### Description Installs or uninstalls a product. ### Parameters #### Parameters - **productCode** (string) - Required - Product code of the product to be configured. - **installLevel** (int) - Required - Specifies the default installation configuration of the product. The parameter is ignored and all features are installed if the parameter is set to any other value than . This parameter must be either 0 (install using authored feature levels), 65535 (install all features), or a value between 0 and 65535 to install a subset of available features. - **installState** (InstallState) - Required - Specifies the installation state for the product. - **commandLine** (string) - Required - Specifies the command line property settings. This should be a list of the format Property=Setting Property=Setting. ### Remarks This method displays the user interface with the current settings and log mode. You can change user interface settings with the «see M:WixToolset.Dtf.WindowsInstaller.Installer.SetInternalUI(WixToolset.Dtf.WindowsInstaller.InstallUIOptions)» and «see M:WixToolset.Dtf.WindowsInstaller.Installer.SetExternalUI(WixToolset.Dtf.WindowsInstaller.ExternalUIHandler,WixToolset.Dtf.WindowsInstaller.InstallLogModes)» functions. You can set the log mode with the «see M:WixToolset.Dtf.WindowsInstaller.Installer.EnableLog(WixToolset.Dtf.WindowsInstaller.InstallLogModes,System.String)» function. The «see P:WixToolset.Dtf.WindowsInstaller.Installer.RebootRequired» and «see P:WixToolset.Dtf.WindowsInstaller.Installer.RebootInitiated» properties should be tested after calling this method. Win32 MSI APIs: [MsiConfigureProduct](http://msdn.microsoft.com/library/en-us/msi/setup/msiconfigureproduct.asp) , [MsiConfigureProductEx](http://msdn.microsoft.com/library/en-us/msi/setup/msiconfigureproductex.asp) ### Exceptions #### Exceptions - **T:WixToolset.Dtf.WindowsInstaller.InstallerException** - There was an error configuring the product ``` -------------------------------- ### Plan() Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrapperengine.md Plans the installation or uninstallation operation. See M:WixToolset.Mba.Core.IEngine.Plan(WixToolset.Mba.Core.LaunchAction). ```APIDOC ## Plan() ### Description Plans the installation or uninstallation operation. ### Declaration ```cs public void Plan() ``` ``` -------------------------------- ### AdvertisedLanguage Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/productinstallation.md Gets or sets the advertised language of the product installation. ```APIDOC ## AdvertisedLanguage Property Product language. ### Declaration ```cs public string AdvertisedLanguage { get; set; } ``` ``` -------------------------------- ### ProductCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the ProductCode (GUID) of the product associated with the patch. ```APIDOC ## ProductCode Property ### Description Gets the ProductCode (GUID) of the product. ### Declaration ```cs public string ProductCode { get; set; } ``` ``` -------------------------------- ### OnStartLayout Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the layout preparation for the bundle should begin. Useful for setting up UI related to file layout. ```APIDOC ## OnStartLayout(bool fullUI) Method ### Description Callback when layout preparation should begin. ### Declaration ```cs public bool OnStartLayout( bool fullUI ) ``` ### Parameters #### Parameters - **fullUI** (bool) - Indicates whether UI should be displayed. ### Return value `bool` True if the BundleUI handles the callback, otherwise bootstrapper application will continue on to progress phase. ``` -------------------------------- ### ValidStates Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/featureinfo.md Gets a list of valid installation states for the feature. ```APIDOC ## ValidStates Property ### Description Gets a list of valid installation states for the feature. ### Property Signature ```cs public System.Collections.Generic.IEnumerable ValidStates { get; } ``` ``` -------------------------------- ### CurrentState Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/componentinfo.md Gets the current install state of the designated Component. ```APIDOC ## CurrentState Property ### Description Gets the current install state of the designated Component. ### Property Signature ```cs public InstallState CurrentState { get; set; } ``` ### Exceptions * **T:WixToolset.Dtf.WindowsInstaller.InvalidHandleException** - the Session handle is invalid * **T:System.ArgumentException** - an unknown Component was requested ``` -------------------------------- ### OnStartLayout Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/bundleuibase.md Callback invoked when the layout preparation should begin. ```APIDOC ## OnStartLayout(bool) ### Description Callback when layout preparation should begin. ### Declaration ```cs protected virtual void OnStartLayout(bool rebootCanceled) ``` ``` -------------------------------- ### State Property - Wix Toolset API Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets the installation state of this instance of the patch. This property indicates whether the patch is installed, uninstalled, or in another state. ```cs public PatchStates State { get; set; } ``` -------------------------------- ### OnStartUninstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when the uninstall preparation phase should begin. It accepts a boolean for UI visibility and returns a boolean indicating successful callback handling. ```APIDOC ## OnStartUninstall(bool fullUI) Method Callback when uninstall preparation should begin. ### Declaration ```cs public bool OnStartUninstall( bool fullUI ) ``` ### Parameters #### Path Parameters - **fullUI** (bool) - Indicates whether UI should be displayed. ### Return value `bool` True if the BundleUI handles the callback, otherwise bootstrapper application will continue on to progress phase. ``` -------------------------------- ### InstallCondition Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/packageinfo.md Gets or sets the condition that must be met for the package to be installed. ```APIDOC ## InstallCondition ### Description Gets or sets the condition that must be met for the package to be installed. ### Declaration public string InstallCondition { get; set; } ``` -------------------------------- ### Resume Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrappercommand.md Gets the method by which the engine was resumed from a previous installation step. ```APIDOC ## Resume Property ### Description Gets the method of how the engine was resumed from a previous installation step. ### Declaration ```cs public ResumeType Resume { get; set; } ``` ``` -------------------------------- ### Open Installer Package by Database Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Opens an installer package using an existing Database object for access to the product database and install engine. Returns a Session object. Note that only one Session object can be opened per process, and this method cannot be used in a custom action. ```cs public static Session OpenPackage( Database database, bool ignoreMachineState ) ``` -------------------------------- ### Session.GetTotalCost Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/session.md Gets the total disk space per drive required for the installation. ```APIDOC ## GetTotalCost() Method Gets the total disk space per drive required for the installation. ### Declaration ```cs public IList GetTotalCost() ``` ### Return value `IList` A list of InstallCost structures, specifying the cost for each drive ### Remarks Win32 MSI API: [MsiEnumComponentCosts](http://msdn.microsoft.com/library/en-us/msi/setup/msienumcomponentcosts.asp) ``` -------------------------------- ### Open Installer Package by Path Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/installer.md Opens an installer package using its file path for access to the product database and install engine. Returns a Session object. Note that only one Session object can be opened per process, and this method cannot be used in a custom action. ```cs public static Session OpenPackage( string packagePath, bool ignoreMachineState ) ``` -------------------------------- ### Session.GetTargetPath Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/session.md Gets the full path to the designated folder on the installation target drive. ```APIDOC ## GetTargetPath() Method Gets the full path to the designated folder on the installation target drive. ### Declaration ```cs public string GetTargetPath() ``` ### Remarks Win32 MSI API: [MsiGetTargetPath](http://msdn.microsoft.com/library/en-us/msi/setup/msigettargetpath.asp) ### Exceptions | Exception | Description | | --------- | ----------- | | T:System.ArgumentException | the folder was not found in the Directory table | | T:WixToolset.Dtf.WindowsInstaller.InvalidHandleException | the Session handle is invalid | ``` -------------------------------- ### ExePackage with ArpEntry Min/Max Version Examples Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/development/wips/6772-exepackage-arp-entry.md Demonstrates using ArpEntry with MinVersion and MaxVersion attributes to precisely control package detection and uninstallation based on version. ```xml ``` -------------------------------- ### Run Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/bootstrapperapplication.md The entry point for the bootstrapper application. This method is invoked when the application is ready to start its execution. ```APIDOC ## Run() ### Description Entry point that is called when the bootstrapper application is ready to run. ### Method (Implicitly called by engine) ### Parameters None ``` -------------------------------- ### PatchCode Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller.package/patchpackage.md Gets the unique patch code (GUID) of the patch package. ```APIDOC ## PatchCode Property ### Description Gets the patch code (GUID) of the patch package. ### Declaration ```cs public string PatchCode { get; set; } ``` ### Remarks The patch code is stored in the RevisionNumber field of the patch summary information. ``` -------------------------------- ### MediaPackagePath Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/sourcelist.md Gets or sets the path relative to the root of the installation media. ```APIDOC ## MediaPackagePath Property Gets or sets the path relative to the root of the installation media. ### Declaration ```cs public string MediaPackagePath { get; set; } ``` ``` -------------------------------- ### OnStartUninstall Method Source: https://github.com/firegiant/docs/blob/main/src/content/docs/firegiant/api/firegiantbundleapplicationframework/ibundleui.md Callback invoked when uninstall preparation should begin. ```APIDOC ## OnStartUninstall(bool) ### Description Callback when uninstall preparation should begin. ### Declaration ```cs public void OnStartUninstall(bool startUninstall) ``` ``` -------------------------------- ### IsInstalled Property Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.dtf.windowsinstaller/patchinstallation.md Gets a value indicating whether this patch is currently installed. ```APIDOC ## IsInstalled Property ### Description Gets a value indicating whether this patch is currently installed. ### Declaration ```cs public bool IsInstalled { get; set; } ``` ``` -------------------------------- ### OnStartup() Source: https://github.com/firegiant/docs/blob/main/src/content/docs/wix/api/wixtoolset.mba.core/ibootstrapperapplication.md Callback invoked when the bootstrapper application starts. ```APIDOC ## OnStartup() ### Description See «see E:WixToolset.Mba.Core.IDefaultBootstrapperApplication.Startup» . ### Declaration ```cs public int OnStartup() ``` ```