PanelSwWixExtension4 5.5.1.432-psw-wix

This is a prerelease version of PanelSwWixExtension4.
There is a newer version of this package available.
See the version list below for details.
dotnet add package PanelSwWixExtension4 --version 5.5.1.432-psw-wix                
NuGet\Install-Package PanelSwWixExtension4 -Version 5.5.1.432-psw-wix                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PanelSwWixExtension4" Version="5.5.1.432-psw-wix" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PanelSwWixExtension4 --version 5.5.1.432-psw-wix                
#r "nuget: PanelSwWixExtension4, 5.5.1.432-psw-wix"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PanelSwWixExtension4 as a Cake Addin
#addin nuget:?package=PanelSwWixExtension4&version=5.5.1.432-psw-wix&prerelease

// Install PanelSwWixExtension4 as a Cake Tool
#tool nuget:?package=PanelSwWixExtension4&version=5.5.1.432-psw-wix&prerelease                

PanelSwWixExtension WiX v3 NuGet version (PanelSwWixExtension) WiX v4 NuGet version (PanelSwWixExtension4)

PanelSwWixExtension from the creator of JetBA is the most comprehensive open source WiX extension. I would like to thank JetBrains for their support of this project

PanelSwWixExtension WiX Elements

  • Bundle elements:
    • FileGlob: In-code payload harvester with include and exclude glob patterns. Works in bundles and in packages
    • ContainerTemplate: A container template to which bundle payloads can be assigned
      • When using PanelSwWix4.Sdk, support 7z and Zip containers
    • CustomSearch: Use a BundleExtension to perform custom searches without having to implement a complete WiX extension
    • !(bindpath.PanelSwWixExtension)\x86\DeferredExePackage.exe An executable that can execute arbitrary commands during chain execution
      • Use InstallArguments='--skip-until-here "[SomeExecutable]" "arg1" "arg2"': Create a process with any arguments after the --skip-until-here part
      • Use InstallArguments='--ignore-me': Ignore anything after the --ignore-me part
  • Heat extension command line arguments:
    • -inc: Semicolon seperated list of filename to include. Wildcards are accepted. If specified, any file not matching the pattern will be excluded
    • -exc: Semicolon seperated list of filename to exclude. Wildcards are accepted. If specified, any file matching the pattern will be excluded
    • -prd: Payload Root Folder. A prefix folder to add to all payloads
  • Immediate Actions:
    • DuplicateFolder: Duplicate an entire folder hierarchy. Processed at build time by adding entries to Directory, CreateFolder and DuplicateFile tables.
    • IsWindowsVersionOrGreater: Test whether Kernel32.dll's version is at least the given version. If yes, set the property to 1.
    • Md5Hash: Computes MD5 hash.
    • WmiSearch: Execute a WMI query.
    • PathSearch: Search for a file on PATH environment variable folder list.
    • VersionCompare: Compare two versions, set result to property to value in range -4 to +4, denoting the version part that was different (-+4 if Major part was different, -+3 for Minor part, etc.)
    • ForceVersion: Force a specified version for a file. Version overwrite is done on runtime in the MSI database.
    • AccountSidSearch: Lookup an account's SID by account name.
    • JsonJpathSearch: Read JSON values
    • DiskSpace: Calculate available disk space for a target directory
    • CertificateHashSearch: Find a certificate hash in local system MY store.
    • Evaluate: Evaluate mathematical expressions and store result in property.
    • SetPropertyFromPipe: Allows setting property from a pipe.
    • SqlSearch: Execute a SQL query and place result in a property.
    • ReadIniValues: Reads .INI file values.
    • XmlSearch: Read XML values.
    • RegularExpression: Execute a Regular Expression to replace or find matches in property values and in file contents.
    • MsiSqlQuery: Execute a MSI-SQL query on the MSI database.
    • CreateSelfSignCertificate: Create a self-sign certificate that can then be installed by WixIisExtension.
    • ToLowerCase: Convert property value to lowercase.
    • CustomPatchRef Support referencing custom table rows in a patch
    • Payload Support extracting files from Binary table temporarilty during MSI execution
    • PromptFileDowngrades Log each file that will be downgraded during the (re)install, and prompt the total downgrade count if larger than 0.
  • Deferred Actions:
    • RemoveFolderEx: Remove a folder recursively. Differs from WixUtilExtension's RemoveFolderEx in proper handling of reparse points (symbolic links, mount volumes, etc.)
    • ExecuteCommand: Launch a deferred command
    • RestartLocalResources: Register processes with the Restart Manager if they reside in the specified folder
    • XslTransform: Apply a XSL transform on an installed XML file
    • WebsiteConfig: currently, can only stop a website
    • JsonJPath: Set values in JSON-formatted file.
    • Dism: Enable or disable Windows Features using DISM API. Features will be modified when the parent component is being installed or repaired.
    • ZipFile: Creates a ZIP archive from selected files.
    • Unzip: Extract a ZIP archive to selected folder.
    • CustomUninstallKey: Overwrite registry values in the product's Uninstall registry key
    • RemoveRegistryValue: Removes registry values. Complements the standard RemoveRegistryValue WiX element that will only remove registry values during installation.
    • ExecOn: Execute a custom command on component action.
    • TaskScheduler: Add a task to Windows Task Scheduler.
    • DeletePath: Delete folder or file specified by a path.
    • FileRegex: Execute a Regular Expression to perform find & replace operations within files.
    • ShellExecute: Call ShellExecuteEx with parameters.
    • Telemetry: Send telemetry data to a given URL.
    • InstallUtil: Install a .NET assembly service.
    • TopShelf: Install a TopShelf based service.
    • BackupAndRestore: Backup a file before install or upgarde and restore it after.
    • SqlScript: Execute SQL scripts, optionally with text replacements.
    • SplitFile: Splits a file to parts during build, and reconstruct it during install. Used to workaround MSI limitation of 2GB file size.

Preprocessor

  • $(psw.VarNullOrEmpty(VAR_NAME)): Return 1 if the variable is not defined, or if it defined as empty. Return 0 otherwise
  • $(psw.AutoGuid(x,y,z,...)): Return a pseudo-random UUID per arguments
  • $(psw.FileExists(path)): Return 1 if the file exists, 0 otherwise
  • $(psw.DirExists(path)): Return 1 if the folder exists, 0 otherwise
  • $(psw.DirEmpty(path)): Return 1 if the folder doesn't exist or if it has no files (including in subfolders). Return 0 otherwise

Custom Actions

  • TerminateSuccessfully_Immediate: Terminates the installation with a successful indication. Executed in-script.
  • TerminateSuccessfully_Deferred: Terminates the installation with a successful indication. Deferred execution.
  • SplitPath: Split a full path supplied in 'FULL_PATH_TO_SPLIT' property and places the parts in properties SPLIT_DRIVE, SPLIT_FOLDER, SPLIT_FILE_NAME, SPLIT_FILE_EXTENSION.
  • PathExists: Tests whether the path supplied in 'FULL_PATH_TO_TEST' property exists. Sets 'PATH_EXISTS' property to 1 if it exists or clears it if it doesn't.
  • SplitString: Splits a string. Property name specified in 'PROPERTY_TO_SPLIT' and split token specified in 'STRING_SPLIT_TOKEN'. Results are stored in properties following the name supplied in 'PROPERTY_TO_SPLIT'. For example, say PROPERTY_TO_SPLIT="MY_PROP", MY_PROP="1,2,3" and STRING_SPLIT_TOKEN=",". Scheduling SplitString custom action will yield properties MY_PROP_0="1", MY_PROP_1="2" and MY_PROP_2="3".
  • TrimString: Trim whitespace characters in property with name specified in 'PROPERTY_TO_TRIM'.

Error codes

PanelSwWixExtension uses error codes in Error table:

  • 27000: TopShelf error template for prompting user on errors.
  • 27001: ExecOn error template for prompting user on errors.
  • 27002: ServiceConfig error template for prompting user on errors.
  • 27003: Dism error template for prompting user on failures to add a Windows feature package.
  • 27004: Dism error template for prompting user on failures to enable a Windows feature.
  • 27005: SqlScript error template for prompting user on errors.
  • 27006: ExecOn error template for prompting user on console output parsing.
  • 27007: WebsiteConfig error template for prompting user on errors.
  • 27008: SqlSearch error template for prompting user on errors.
  • 27009: JsonJpath error template for prompting user on errors.
  • 27010: Dism error template for prompting user on failures to remove a Windows feature package.
  • 27011: ExecOn message template for prompting user on success with promptAlways.
  • 27012: Prompt on file downgrades
  • 27013: Prompt on failure to add a file to a ZIP archive
  • 27014: Prompt on failure to create a ZIP archive
  • 27015: Prompt on failure to unzip a ZIP archive
  • 27016: Prompt on failure to unzip a file from ZIP archive

Properties

The following properties hold localized built-in account names. To use them, add a PropertyRef element.

  • DOMAIN_ADMINISTRATORS
  • DOMAIN_GUESTS
  • DOMAIN_USERS
  • ENTERPRISE_DOMAIN_CONTROLLERS
  • DOMAIN_DOMAIN_CONTROLLERS
  • DOMAIN_COMPUTERS
  • BUILTIN_ADMINISTRATORS
  • BUILTIN_GUESTS
  • BUILTIN_USERS
  • LOCAL_ADMIN
  • LOCAL_GUEST
  • ACCOUNT_OPERATORS
  • BACKUP_OPERATORS
  • PRINTER_OPERATORS
  • SERVER_OPERATORS
  • AUTHENTICATED_USERS
  • PERSONAL_SELF
  • CREATOR_OWNER
  • CREATOR_GROUP
  • LOCAL_SYSTEM
  • POWER_USERS
  • EVERYONE
  • REPLICATOR
  • INTERACTIVE
  • NETWORK
  • SERVICE
  • RESTRICTED_CODE
  • WRITE_RESTRICTED_CODE
  • ANONYMOUS
  • SCHEMA_ADMINISTRATORS
  • CERT_SERV_ADMINISTRATORS
  • RAS_SERVERS
  • ENTERPRISE_ADMINS
  • GROUP_POLICY_ADMINS
  • ALIAS_PREW2KCOMPACC
  • LOCAL_SERVICE
  • NETWORK_SERVICE
  • REMOTE_DESKTOP
  • NETWORK_CONFIGURATION_OPS
  • PERFMON_USERS
  • PERFLOG_USERS
  • IIS_USERS
  • CRYPTO_OPERATORS
  • OWNER_RIGHTS
  • EVENT_LOG_READERS
  • ENTERPRISE_RO_DCs
  • CERTSVC_DCOM_ACCESS

The following properties hold localized CSIDL folders. To use them, add a PropertyRef element.

  • UserDesktopFolder: CSIDL_DESKTOPDIRECTORY

The following properties denote available processor features. 1 means that the feature is available, 0 means that it is not available.

  • PF_ARM_64BIT_LOADSTORE_ATOMIC
  • PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
  • PF_ARM_EXTERNAL_CACHE_AVAILABLE
  • PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
  • PF_ARM_VFP_32_REGISTERS_AVAILABLE
  • PF_3DNOW_INSTRUCTIONS_AVAILABLE
  • PF_CHANNELS_ENABLED
  • PF_COMPARE_EXCHANGE_DOUBLE
  • PF_COMPARE_EXCHANGE128
  • PF_COMPARE64_EXCHANGE128
  • PF_FASTFAIL_AVAILABLE
  • PF_FLOATING_POINT_EMULATED
  • PF_FLOATING_POINT_PRECISION_ERRATA
  • PF_MMX_INSTRUCTIONS_AVAILABLE
  • PF_NX_ENABLED
  • PF_PAE_ENABLED
  • PF_RDTSC_INSTRUCTION_AVAILABLE
  • PF_RDWRFSGSBASE_AVAILABLE
  • PF_SECOND_LEVEL_ADDRESS_TRANSLATION
  • PF_SSE3_INSTRUCTIONS_AVAILABLE
  • PF_SSSE3_INSTRUCTIONS_AVAILABLE
  • PF_SSE4_1_INSTRUCTIONS_AVAILABLE
  • PF_SSE4_2_INSTRUCTIONS_AVAILABLE
  • PF_AVX_INSTRUCTIONS_AVAILABLE
  • PF_AVX2_INSTRUCTIONS_AVAILABLE
  • PF_AVX512F_INSTRUCTIONS_AVAILABLE
  • PF_VIRT_FIRMWARE_ENABLED
  • PF_XMMI_INSTRUCTIONS_AVAILABLE
  • PF_XMMI64_INSTRUCTIONS_AVAILABLE
  • PF_XSAVE_ENABLED
  • PF_ARM_V8_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
  • PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE

Building

PanelSwWixExtension require the following prerequisites to build:

  • CMake: CMake path can be specified in 'CMakeDir' property in 'TidyBuild.custom.props'
  • ADK installed. Specifically, Dism API should be installed. Set DismApi folder path in 'DismApiDir' property in 'TidyBuild.custom.props'
  • Update git submodules

To build the extension execute:

msbuild dirs.proj -restore "-p:SolutionDir=%CD%\"

Unit-test WiX are available in the solution folder 'UnitTests'. To build a unit test project execute:

msbuild dirs.proj -restore -p:UnitTest=IsWindowsVersionOrGreaterUT
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.5.1.432 38 1/7/2025
5.5.1.432-psw-wix 36 1/7/2025
5.5.0.429 86 1/5/2025
5.5.0.429-psw-wix 74 1/5/2025
5.4.5.422 449 12/8/2024
5.4.5.422-psw-wix 115 12/8/2024
5.4.4.417 93 12/8/2024
5.4.4.417-psw-wix 78 12/8/2024
5.4.3.414 91 12/1/2024
5.4.3.414-psw-wix 67 12/1/2024
5.4.2.412 85 11/26/2024
5.4.2.412-psw-wix 82 11/26/2024
5.4.2.409 84 11/26/2024
5.4.2.409-psw-wix 68 11/26/2024
5.4.1.407 79 11/26/2024
5.4.1.407-psw-wix 70 11/26/2024
5.4.0.406 85 11/25/2024
5.4.0.406-psw-wix 74 11/25/2024
5.3.1.403 92 11/21/2024
5.3.1.403-psw-wix 81 11/21/2024
5.3.1.399 85 11/18/2024
5.3.1.399-psw-wix 78 11/18/2024
5.3.0.394 97 11/14/2024
5.3.0.394-psw-wix 88 11/14/2024
5.2.1.391 112 11/6/2024
5.2.1.391-psw-wix 92 11/6/2024
5.2.0.389 292 9/24/2024
5.2.0.389-psw-wix 119 9/24/2024
5.1.2.387 107 9/19/2024
5.1.2.387-psw-wix 90 9/19/2024
5.1.2.383 116 9/18/2024
5.1.2.383-psw-wix 93 9/18/2024
5.1.2.381 137 7/18/2024
5.1.2.381-psw-wix 93 7/18/2024
5.1.1.375 4,793 6/5/2024
5.1.1.375-psw-wix 94 6/5/2024
5.1.0.373 117 5/30/2024
5.1.0.373-psw-wix 104 5/30/2024
5.0.2.342 129 4/21/2024
5.0.2.342-psw-wix 100 4/21/2024
5.0.1.339 107 4/18/2024
5.0.1.339-psw-wix 91 4/18/2024
5.0.0.337 102 4/18/2024
5.0.0.337-psw-wix 88 4/18/2024
5.0.0.335 226 4/14/2024
5.0.0.335-psw-wix 188 4/14/2024
3.23.1.433 34 1/7/2025
3.23.1.433-psw-wix 39 1/7/2025
3.23.0.430 81 1/5/2025
3.23.0.430-psw-wix 66 1/5/2025
3.22.4.426 84 12/8/2024
3.22.4.426-psw-wix 111 12/8/2024
3.22.3.416 93 12/4/2024
3.22.3.416-psw-wix 87 12/4/2024
3.22.2.415 81 12/1/2024
3.22.2.415-psw-wix 97 12/1/2024
3.22.1.410 80 11/26/2024
3.22.1.410-psw-wix 69 11/26/2024
3.22.0.408 79 11/26/2024
3.22.0.408-psw-wix 70 11/26/2024
3.21.1.404 90 11/21/2024
3.21.1.404-psw-wix 77 11/21/2024
3.21.1.400 95 11/18/2024
3.21.1.400-psw-wix 72 11/18/2024
3.21.0.395 88 11/14/2024
3.21.0.395-psw-wix 92 11/14/2024
3.20.1.392 81 11/6/2024
3.20.1.392-psw-wix 93 11/6/2024
3.20.0.390 100 9/24/2024
3.20.0.390-psw-wix 362 9/24/2024
3.19.2.388 94 9/19/2024
3.19.2.388-psw-wix 101 9/19/2024
3.19.2.384 102 9/18/2024
3.19.2.384-psw-wix 108 9/18/2024
3.19.2.380 110 7/18/2024
3.19.2.380-psw-wix 251 7/18/2024
3.19.1.376 101 6/5/2024
3.19.1.376-psw-wix 100 6/5/2024
3.19.0.374 102 5/30/2024
3.19.0.374-psw-wix 116 5/30/2024
3.18.16.343 112 4/21/2024
3.18.16.343-psw-wix 116 4/21/2024
3.18.15.340 103 4/18/2024
3.18.15.340-psw-wix 90 4/18/2024
3.18.14.331 189 4/10/2024
3.18.14.331-psw-wix 168 4/10/2024
3.18.13.330 131 4/2/2024
3.18.13.330-psw-wix 146 4/2/2024
3.18.12.325 146 4/2/2024
3.18.12.325-psw-wix 147 4/2/2024
3.18.11.323 139 4/1/2024
3.18.11.323-psw-wix 143 4/1/2024
3.18.10.319 165 4/1/2024
3.18.10.319-psw-wix 137 4/1/2024
3.18.9.318 130 3/28/2024
3.18.9.318-psw-wix 135 3/28/2024
3.18.8.317 200 3/19/2024
3.18.8.317-psw-wix 165 3/19/2024
3.18.7.316 292 3/12/2024
3.18.7.316-psw-wix 207 3/12/2024
3.18.6.315 177 3/7/2024
3.18.6.315-psw-wix 150 3/7/2024
3.18.5.314 149 3/5/2024
3.18.5.314-psw-wix 177 3/5/2024
3.18.4.312 174 3/5/2024
3.18.4.312-psw-wix 150 3/5/2024
3.18.3.311 180 3/4/2024
3.18.3.311-psw-wix 171 3/4/2024
3.18.2.310 153 2/29/2024
3.18.2.310-psw-wix 158 2/29/2024
3.18.1.309 247 2/26/2024
3.18.1.309-psw-wix 280 2/26/2024
3.18.0.308 168 2/25/2024
3.18.0.308-psw-wix 125 2/25/2024
3.17.10.307 165 2/21/2024
3.17.10.307-psw-wix 187 2/21/2024
3.17.9.306 198 2/21/2024
3.17.9.306-psw-wix 145 2/21/2024
3.17.9.305 179 2/21/2024
3.17.9.305-psw-wix 125 2/21/2024
3.17.8.304 163 2/20/2024
3.17.8.304-psw-wix 129 2/20/2024
3.17.7.303 137 2/20/2024
3.17.7.303-psw-wix 125 2/20/2024
3.17.6.298 201 2/8/2024
3.17.6.298-psw-wix 171 2/8/2024
3.17.5.297 173 2/6/2024
3.17.5.297-psw-wix 145 2/6/2024
3.17.4.296 181 2/4/2024
3.17.4.296-psw-wix 132 2/4/2024
3.17.3.294 188 2/4/2024
3.17.3.294-psw-wix 144 2/4/2024
3.17.3.290 149 1/31/2024
3.17.3.290-psw-wix 105 1/31/2024
3.17.2.289 170 1/31/2024
3.17.2.289-psw-wix 129 1/31/2024
3.17.1.286 222 1/24/2024
3.17.1.286-psw-wix 188 1/24/2024
3.17.0.285 220 1/24/2024
3.17.0.285-psw-wix 191 1/24/2024
3.16.1.277 241 1/8/2024
3.16.1.277-psw-wix 159 1/8/2024
3.16.0.275 164 1/7/2024
3.16.0.275-psw-wix 180 1/7/2024
3.15.2.273 766 12/31/2023
3.15.2.273-psw-wix 173 12/31/2023
3.15.1.272 208 12/27/2023
3.15.1.272-psw-wix 139 12/27/2023
3.15.0.268 194 12/19/2023
3.15.0.268-psw-wix 772 12/19/2023
3.14.0.266 188 12/11/2023
3.14.0.266-psw-wix 138 12/11/2023
3.13.0.264 204 11/30/2023
3.13.0.264-psw-wix 179 11/30/2023
3.12.0.261 147 11/29/2023
3.12.0.261-psw-wix 159 11/29/2023
3.11.5.259 162 11/29/2023
3.11.5.259-psw-wix 138 11/29/2023
3.11.4.257 131 11/28/2023
3.11.4.257-psw-wix 152 11/28/2023
3.11.3.255 186 11/27/2023
3.11.3.255-psw-wix 130 11/27/2023
3.11.2.247 292 10/24/2023
3.11.2.247-psw-wix 249 10/24/2023
3.11.1.242 232 10/19/2023
3.11.1.242-psw-wix 210 10/19/2023
3.11.0.241 244 10/19/2023
3.11.0.241-psw-wix 242 10/19/2023
3.10.1.232 234 10/16/2023
3.10.1.232-psw-wix 159 10/16/2023
3.10.0.231 247 10/2/2023
3.10.0.231-psw-wix 245 10/2/2023
3.9.0.230 232 9/21/2023
3.9.0.230-psw-wix 192 9/21/2023
3.8.0.227 6,030 9/18/2023
3.8.0.227-psw-wix 249 9/18/2023
3.7.1.226 475 8/16/2023
3.7.1.226-psw-wix 219 8/16/2023
3.7.0.221 475 7/13/2023
3.7.0.221-psw-wix 209 7/13/2023
3.6.0.214 183 7/10/2023
3.6.0.214-psw-wix 282 7/10/2023
3.5.3.210 168 6/26/2023
3.5.3.210-psw-wix 209 6/26/2023
3.5.2.207 216 6/22/2023
3.5.2.207-psw-wix 267 6/22/2023
3.5.1.196 9,141 6/1/2023
3.5.1.196-psw-wix 244 6/1/2023
3.5.1.164 1,274 4/19/2023
3.5.0.163 232 4/19/2023
3.4.0.161 257 4/17/2023
3.4.0.160 241 4/16/2023
3.3.1.159 264 4/10/2023
3.3.0.157 246 4/9/2023
3.3.0.154-rc.3 129 3/28/2023
3.2.13.153-rc.3 120 3/27/2023
3.2.12.148-rc.3 91 3/12/2023
3.2.11.143-rc.3 104 3/12/2023
3.2.10.141-rc.2 109 2/8/2023
3.2.9.139-rc.2 118 2/5/2023
3.2.8.137-rc.2 127 2/2/2023
3.2.7.132-rc.2 117 1/26/2023
3.2.6.130-rc.2 126 1/25/2023
3.2.5.127-rc.1 120 1/4/2023
3.2.4.123-rc.1 126 1/3/2023
3.2.4.122-rc.1 126 1/3/2023