PanelSwWixExtension4 5.4.3.414-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.4.3.414-psw-wix                
NuGet\Install-Package PanelSwWixExtension4 -Version 5.4.3.414-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.4.3.414-psw-wix" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PanelSwWixExtension4 --version 5.4.3.414-psw-wix                
#r "nuget: PanelSwWixExtension4, 5.4.3.414-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.4.3.414-psw-wix&prerelease

// Install PanelSwWixExtension4 as a Cake Tool
#tool nuget:?package=PanelSwWixExtension4&version=5.4.3.414-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.4.5.422 200 12/8/2024
5.4.5.422-psw-wix 103 12/8/2024
5.4.4.417 88 12/8/2024
5.4.4.417-psw-wix 75 12/8/2024
5.4.3.414 84 12/1/2024
5.4.3.414-psw-wix 65 12/1/2024
5.4.2.412 81 11/26/2024
5.4.2.412-psw-wix 80 11/26/2024
5.4.2.409 80 11/26/2024
5.4.2.409-psw-wix 63 11/26/2024
5.4.1.407 77 11/26/2024
5.4.1.407-psw-wix 68 11/26/2024
5.4.0.406 81 11/25/2024
5.4.0.406-psw-wix 72 11/25/2024
5.3.1.403 90 11/21/2024
5.3.1.403-psw-wix 76 11/21/2024
5.3.1.399 83 11/18/2024
5.3.1.399-psw-wix 72 11/18/2024
5.3.0.394 93 11/14/2024
5.3.0.394-psw-wix 84 11/14/2024
5.2.1.391 108 11/6/2024
5.2.1.391-psw-wix 86 11/6/2024
5.2.0.389 259 9/24/2024
5.2.0.389-psw-wix 115 9/24/2024
5.1.2.387 106 9/19/2024
5.1.2.387-psw-wix 86 9/19/2024
5.1.2.383 113 9/18/2024
5.1.2.383-psw-wix 89 9/18/2024
5.1.2.381 134 7/18/2024
5.1.2.381-psw-wix 80 7/18/2024
5.1.1.375 4,789 6/5/2024
5.1.1.375-psw-wix 93 6/5/2024
5.1.0.373 114 5/30/2024
5.1.0.373-psw-wix 100 5/30/2024
5.0.2.342 128 4/21/2024
5.0.2.342-psw-wix 99 4/21/2024
5.0.1.339 106 4/18/2024
5.0.1.339-psw-wix 87 4/18/2024
5.0.0.337 101 4/18/2024
5.0.0.337-psw-wix 84 4/18/2024
5.0.0.335 225 4/14/2024
5.0.0.335-psw-wix 184 4/14/2024
3.22.4.426 76 12/8/2024
3.22.4.426-psw-wix 86 12/8/2024
3.22.3.416 88 12/4/2024
3.22.3.416-psw-wix 84 12/4/2024
3.22.2.415 75 12/1/2024
3.22.2.415-psw-wix 94 12/1/2024
3.22.1.410 75 11/26/2024
3.22.1.410-psw-wix 67 11/26/2024
3.22.0.408 75 11/26/2024
3.22.0.408-psw-wix 68 11/26/2024
3.21.1.404 87 11/21/2024
3.21.1.404-psw-wix 75 11/21/2024
3.21.1.400 93 11/18/2024
3.21.1.400-psw-wix 67 11/18/2024
3.21.0.395 86 11/14/2024
3.21.0.395-psw-wix 87 11/14/2024
3.20.1.392 77 11/6/2024
3.20.1.392-psw-wix 88 11/6/2024
3.20.0.390 96 9/24/2024
3.20.0.390-psw-wix 307 9/24/2024
3.19.2.388 91 9/19/2024
3.19.2.388-psw-wix 97 9/19/2024
3.19.2.384 99 9/18/2024
3.19.2.384-psw-wix 101 9/18/2024
3.19.2.380 107 7/18/2024
3.19.2.380-psw-wix 246 7/18/2024
3.19.1.376 100 6/5/2024
3.19.1.376-psw-wix 99 6/5/2024
3.19.0.374 99 5/30/2024
3.19.0.374-psw-wix 112 5/30/2024
3.18.16.343 111 4/21/2024
3.18.16.343-psw-wix 115 4/21/2024
3.18.15.340 100 4/18/2024
3.18.15.340-psw-wix 86 4/18/2024
3.18.14.331 184 4/10/2024
3.18.14.331-psw-wix 164 4/10/2024
3.18.13.330 128 4/2/2024
3.18.13.330-psw-wix 142 4/2/2024
3.18.12.325 145 4/2/2024
3.18.12.325-psw-wix 146 4/2/2024
3.18.11.323 138 4/1/2024
3.18.11.323-psw-wix 138 4/1/2024
3.18.10.319 164 4/1/2024
3.18.10.319-psw-wix 130 4/1/2024
3.18.9.318 127 3/28/2024
3.18.9.318-psw-wix 131 3/28/2024
3.18.8.317 197 3/19/2024
3.18.8.317-psw-wix 161 3/19/2024
3.18.7.316 291 3/12/2024
3.18.7.316-psw-wix 203 3/12/2024
3.18.6.315 176 3/7/2024
3.18.6.315-psw-wix 149 3/7/2024
3.18.5.314 148 3/5/2024
3.18.5.314-psw-wix 176 3/5/2024
3.18.4.312 173 3/5/2024
3.18.4.312-psw-wix 149 3/5/2024
3.18.3.311 177 3/4/2024
3.18.3.311-psw-wix 170 3/4/2024
3.18.2.310 152 2/29/2024
3.18.2.310-psw-wix 157 2/29/2024
3.18.1.309 237 2/26/2024
3.18.1.309-psw-wix 279 2/26/2024
3.18.0.308 167 2/25/2024
3.18.0.308-psw-wix 124 2/25/2024
3.17.10.307 164 2/21/2024
3.17.10.307-psw-wix 186 2/21/2024
3.17.9.306 197 2/21/2024
3.17.9.306-psw-wix 144 2/21/2024
3.17.9.305 178 2/21/2024
3.17.9.305-psw-wix 124 2/21/2024
3.17.8.304 162 2/20/2024
3.17.8.304-psw-wix 128 2/20/2024
3.17.7.303 136 2/20/2024
3.17.7.303-psw-wix 124 2/20/2024
3.17.6.298 200 2/8/2024
3.17.6.298-psw-wix 170 2/8/2024
3.17.5.297 172 2/6/2024
3.17.5.297-psw-wix 144 2/6/2024
3.17.4.296 180 2/4/2024
3.17.4.296-psw-wix 131 2/4/2024
3.17.3.294 187 2/4/2024
3.17.3.294-psw-wix 143 2/4/2024
3.17.3.290 148 1/31/2024
3.17.3.290-psw-wix 101 1/31/2024
3.17.2.289 169 1/31/2024
3.17.2.289-psw-wix 128 1/31/2024
3.17.1.286 221 1/24/2024
3.17.1.286-psw-wix 187 1/24/2024
3.17.0.285 219 1/24/2024
3.17.0.285-psw-wix 190 1/24/2024
3.16.1.277 240 1/8/2024
3.16.1.277-psw-wix 158 1/8/2024
3.16.0.275 163 1/7/2024
3.16.0.275-psw-wix 179 1/7/2024
3.15.2.273 742 12/31/2023
3.15.2.273-psw-wix 172 12/31/2023
3.15.1.272 207 12/27/2023
3.15.1.272-psw-wix 138 12/27/2023
3.15.0.268 193 12/19/2023
3.15.0.268-psw-wix 771 12/19/2023
3.14.0.266 187 12/11/2023
3.14.0.266-psw-wix 137 12/11/2023
3.13.0.264 203 11/30/2023
3.13.0.264-psw-wix 178 11/30/2023
3.12.0.261 146 11/29/2023
3.12.0.261-psw-wix 158 11/29/2023
3.11.5.259 161 11/29/2023
3.11.5.259-psw-wix 137 11/29/2023
3.11.4.257 130 11/28/2023
3.11.4.257-psw-wix 151 11/28/2023
3.11.3.255 185 11/27/2023
3.11.3.255-psw-wix 129 11/27/2023
3.11.2.247 287 10/24/2023
3.11.2.247-psw-wix 248 10/24/2023
3.11.1.242 231 10/19/2023
3.11.1.242-psw-wix 209 10/19/2023
3.11.0.241 243 10/19/2023
3.11.0.241-psw-wix 241 10/19/2023
3.10.1.232 233 10/16/2023
3.10.1.232-psw-wix 158 10/16/2023
3.10.0.231 246 10/2/2023
3.10.0.231-psw-wix 244 10/2/2023
3.9.0.230 231 9/21/2023
3.9.0.230-psw-wix 191 9/21/2023
3.8.0.227 5,765 9/18/2023
3.8.0.227-psw-wix 248 9/18/2023
3.7.1.226 472 8/16/2023
3.7.1.226-psw-wix 218 8/16/2023
3.7.0.221 470 7/13/2023
3.7.0.221-psw-wix 208 7/13/2023
3.6.0.214 182 7/10/2023
3.6.0.214-psw-wix 281 7/10/2023
3.5.3.210 167 6/26/2023
3.5.3.210-psw-wix 208 6/26/2023
3.5.2.207 215 6/22/2023
3.5.2.207-psw-wix 266 6/22/2023
3.5.1.196 8,840 6/1/2023
3.5.1.196-psw-wix 243 6/1/2023
3.5.1.164 1,273 4/19/2023
3.5.0.163 231 4/19/2023
3.4.0.161 256 4/17/2023
3.4.0.160 240 4/16/2023
3.3.1.159 263 4/10/2023
3.3.0.157 243 4/9/2023
3.3.0.154-rc.3 128 3/28/2023
3.2.13.153-rc.3 119 3/27/2023
3.2.12.148-rc.3 90 3/12/2023
3.2.11.143-rc.3 103 3/12/2023
3.2.10.141-rc.2 107 2/8/2023
3.2.9.139-rc.2 116 2/5/2023
3.2.8.137-rc.2 125 2/2/2023
3.2.7.132-rc.2 115 1/26/2023
3.2.6.130-rc.2 124 1/25/2023
3.2.5.127-rc.1 118 1/4/2023
3.2.4.123-rc.1 124 1/3/2023
3.2.4.122-rc.1 124 1/3/2023