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

// Install PanelSwWixExtension4 as a Cake Tool
#tool nuget:?package=PanelSwWixExtension4&version=5.0.2.342-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:
    • 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:
    • 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=ForceVersionUT
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.3.1.403 42 11/21/2024
5.3.1.403-psw-wix 38 11/21/2024
5.3.1.399 66 11/18/2024
5.3.1.399-psw-wix 65 11/18/2024
5.3.0.394 75 11/14/2024
5.3.0.394-psw-wix 72 11/14/2024
5.2.1.391 93 11/6/2024
5.2.1.391-psw-wix 77 11/6/2024
5.2.0.389 139 9/24/2024
5.2.0.389-psw-wix 107 9/24/2024
5.1.2.387 95 9/19/2024
5.1.2.387-psw-wix 80 9/19/2024
5.1.2.383 104 9/18/2024
5.1.2.383-psw-wix 83 9/18/2024
5.1.2.381 126 7/18/2024
5.1.2.381-psw-wix 76 7/18/2024
5.1.1.375 4,273 6/5/2024
5.1.1.375-psw-wix 90 6/5/2024
5.1.0.373 106 5/30/2024
5.1.0.373-psw-wix 97 5/30/2024
5.0.2.342 121 4/21/2024
5.0.2.342-psw-wix 96 4/21/2024
5.0.1.339 97 4/18/2024
5.0.1.339-psw-wix 84 4/18/2024
5.0.0.337 96 4/18/2024
5.0.0.337-psw-wix 81 4/18/2024
5.0.0.335 218 4/14/2024
5.0.0.335-psw-wix 181 4/14/2024
3.21.1.404 33 11/21/2024
3.21.1.404-psw-wix 38 11/21/2024
3.21.1.400 72 11/18/2024
3.21.1.400-psw-wix 57 11/18/2024
3.21.0.395 68 11/14/2024
3.21.0.395-psw-wix 75 11/14/2024
3.20.1.392 64 11/6/2024
3.20.1.392-psw-wix 76 11/6/2024
3.20.0.390 87 9/24/2024
3.20.0.390-psw-wix 197 9/24/2024
3.19.2.388 80 9/19/2024
3.19.2.388-psw-wix 91 9/19/2024
3.19.2.384 88 9/18/2024
3.19.2.384-psw-wix 90 9/18/2024
3.19.2.380 96 7/18/2024
3.19.2.380-psw-wix 217 7/18/2024
3.19.1.376 93 6/5/2024
3.19.1.376-psw-wix 96 6/5/2024
3.19.0.374 90 5/30/2024
3.19.0.374-psw-wix 106 5/30/2024
3.18.16.343 98 4/21/2024
3.18.16.343-psw-wix 109 4/21/2024
3.18.15.340 93 4/18/2024
3.18.15.340-psw-wix 80 4/18/2024
3.18.14.331 177 4/10/2024
3.18.14.331-psw-wix 161 4/10/2024
3.18.13.330 123 4/2/2024
3.18.13.330-psw-wix 139 4/2/2024
3.18.12.325 140 4/2/2024
3.18.12.325-psw-wix 140 4/2/2024
3.18.11.323 133 4/1/2024
3.18.11.323-psw-wix 131 4/1/2024
3.18.10.319 159 4/1/2024
3.18.10.319-psw-wix 127 4/1/2024
3.18.9.318 120 3/28/2024
3.18.9.318-psw-wix 125 3/28/2024
3.18.8.317 192 3/19/2024
3.18.8.317-psw-wix 158 3/19/2024
3.18.7.316 286 3/12/2024
3.18.7.316-psw-wix 200 3/12/2024
3.18.6.315 171 3/7/2024
3.18.6.315-psw-wix 146 3/7/2024
3.18.5.314 143 3/5/2024
3.18.5.314-psw-wix 173 3/5/2024
3.18.4.312 168 3/5/2024
3.18.4.312-psw-wix 146 3/5/2024
3.18.3.311 172 3/4/2024
3.18.3.311-psw-wix 155 3/4/2024
3.18.2.310 147 2/29/2024
3.18.2.310-psw-wix 151 2/29/2024
3.18.1.309 198 2/26/2024
3.18.1.309-psw-wix 270 2/26/2024
3.18.0.308 162 2/25/2024
3.18.0.308-psw-wix 121 2/25/2024
3.17.10.307 157 2/21/2024
3.17.10.307-psw-wix 180 2/21/2024
3.17.9.306 192 2/21/2024
3.17.9.306-psw-wix 141 2/21/2024
3.17.9.305 171 2/21/2024
3.17.9.305-psw-wix 121 2/21/2024
3.17.8.304 157 2/20/2024
3.17.8.304-psw-wix 125 2/20/2024
3.17.7.303 131 2/20/2024
3.17.7.303-psw-wix 121 2/20/2024
3.17.6.298 191 2/8/2024
3.17.6.298-psw-wix 163 2/8/2024
3.17.5.297 165 2/6/2024
3.17.5.297-psw-wix 139 2/6/2024
3.17.4.296 175 2/4/2024
3.17.4.296-psw-wix 128 2/4/2024
3.17.3.294 182 2/4/2024
3.17.3.294-psw-wix 138 2/4/2024
3.17.3.290 142 1/31/2024
3.17.3.290-psw-wix 97 1/31/2024
3.17.2.289 164 1/31/2024
3.17.2.289-psw-wix 125 1/31/2024
3.17.1.286 216 1/24/2024
3.17.1.286-psw-wix 182 1/24/2024
3.17.0.285 214 1/24/2024
3.17.0.285-psw-wix 187 1/24/2024
3.16.1.277 235 1/8/2024
3.16.1.277-psw-wix 153 1/8/2024
3.16.0.275 158 1/7/2024
3.16.0.275-psw-wix 176 1/7/2024
3.15.2.273 716 12/31/2023
3.15.2.273-psw-wix 169 12/31/2023
3.15.1.272 202 12/27/2023
3.15.1.272-psw-wix 135 12/27/2023
3.15.0.268 188 12/19/2023
3.15.0.268-psw-wix 754 12/19/2023
3.14.0.266 180 12/11/2023
3.14.0.266-psw-wix 134 12/11/2023
3.13.0.264 196 11/30/2023
3.13.0.264-psw-wix 173 11/30/2023
3.12.0.261 141 11/29/2023
3.12.0.261-psw-wix 155 11/29/2023
3.11.5.259 156 11/29/2023
3.11.5.259-psw-wix 134 11/29/2023
3.11.4.257 125 11/28/2023
3.11.4.257-psw-wix 148 11/28/2023
3.11.3.255 180 11/27/2023
3.11.3.255-psw-wix 126 11/27/2023
3.11.2.247 280 10/24/2023
3.11.2.247-psw-wix 245 10/24/2023
3.11.1.242 226 10/19/2023
3.11.1.242-psw-wix 205 10/19/2023
3.11.0.241 238 10/19/2023
3.11.0.241-psw-wix 238 10/19/2023
3.10.1.232 228 10/16/2023
3.10.1.232-psw-wix 155 10/16/2023
3.10.0.231 239 10/2/2023
3.10.0.231-psw-wix 241 10/2/2023
3.9.0.230 226 9/21/2023
3.9.0.230-psw-wix 188 9/21/2023
3.8.0.227 5,060 9/18/2023
3.8.0.227-psw-wix 245 9/18/2023
3.7.1.226 467 8/16/2023
3.7.1.226-psw-wix 215 8/16/2023
3.7.0.221 430 7/13/2023
3.7.0.221-psw-wix 205 7/13/2023
3.6.0.214 177 7/10/2023
3.6.0.214-psw-wix 278 7/10/2023
3.5.3.210 162 6/26/2023
3.5.3.210-psw-wix 205 6/26/2023
3.5.2.207 210 6/22/2023
3.5.2.207-psw-wix 263 6/22/2023
3.5.1.196 8,144 6/1/2023
3.5.1.196-psw-wix 240 6/1/2023
3.5.1.164 1,120 4/19/2023
3.5.0.163 226 4/19/2023
3.4.0.161 251 4/17/2023
3.4.0.160 235 4/16/2023
3.3.1.159 258 4/10/2023
3.3.0.157 238 4/9/2023
3.3.0.154-rc.3 125 3/28/2023
3.2.13.153-rc.3 116 3/27/2023
3.2.12.148-rc.3 87 3/12/2023
3.2.11.143-rc.3 100 3/12/2023
3.2.10.141-rc.2 104 2/8/2023
3.2.9.139-rc.2 113 2/5/2023
3.2.8.137-rc.2 122 2/2/2023
3.2.7.132-rc.2 112 1/26/2023
3.2.6.130-rc.2 121 1/25/2023
3.2.5.127-rc.1 115 1/4/2023
3.2.4.123-rc.1 121 1/3/2023
3.2.4.122-rc.1 121 1/3/2023