PanelSwWixExtension4 3.5.1.164

There is a newer version of this package available.
See the version list below for details.

Requires NuGet 2.7 or higher.

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

// Install PanelSwWixExtension4 as a Cake Tool
#tool nuget:?package=PanelSwWixExtension4&version=3.5.1.164                

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
  • 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
  • Immediate Actions:
    • 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
  • Deferred Actions:
    • 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 Windows Feature using DISM API. Features will be installed 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.

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

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 download the code, open the solution PanelSwWixExtension.sln in Visual Studio 2017 and build it.

Unit-test WiX are available in the solution folder 'UnitTests'. After building a unit test project, you'll need to shutdown Visual Studio before you can build PanelSwWixExtension project again. This is due to the unfortunate habit of Visual Studio to hold the extension file in use. You may find it convenient to build unit test projects from a command prompt to workaround this limitation

MSBuild UnitTests\ForceVersionUT\ForceVersionUT.wixproj /p:Configuration=Release /p:Platform=x86 /t:Rebuild "/p:SolutionDir=%CD%\\"
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.0.394 35 11/14/2024
5.3.0.394-psw-wix 34 11/14/2024
5.2.1.391 86 11/6/2024
5.2.1.391-psw-wix 74 11/6/2024
5.2.0.389 130 9/24/2024
5.2.0.389-psw-wix 104 9/24/2024
5.1.2.387 92 9/19/2024
5.1.2.387-psw-wix 77 9/19/2024
5.1.2.383 101 9/18/2024
5.1.2.383-psw-wix 80 9/18/2024
5.1.2.381 123 7/18/2024
5.1.2.381-psw-wix 73 7/18/2024
5.1.1.375 4,165 6/5/2024
5.1.1.375-psw-wix 87 6/5/2024
5.1.0.373 103 5/30/2024
5.1.0.373-psw-wix 94 5/30/2024
5.0.2.342 118 4/21/2024
5.0.2.342-psw-wix 93 4/21/2024
5.0.1.339 94 4/18/2024
5.0.1.339-psw-wix 81 4/18/2024
5.0.0.337 93 4/18/2024
5.0.0.337-psw-wix 78 4/18/2024
5.0.0.335 215 4/14/2024
5.0.0.335-psw-wix 178 4/14/2024
3.21.0.395 34 11/14/2024
3.21.0.395-psw-wix 37 11/14/2024
3.20.1.392 59 11/6/2024
3.20.1.392-psw-wix 73 11/6/2024
3.20.0.390 84 9/24/2024
3.20.0.390-psw-wix 165 9/24/2024
3.19.2.388 77 9/19/2024
3.19.2.388-psw-wix 88 9/19/2024
3.19.2.384 85 9/18/2024
3.19.2.384-psw-wix 87 9/18/2024
3.19.2.380 93 7/18/2024
3.19.2.380-psw-wix 199 7/18/2024
3.19.1.376 90 6/5/2024
3.19.1.376-psw-wix 93 6/5/2024
3.19.0.374 87 5/30/2024
3.19.0.374-psw-wix 103 5/30/2024
3.18.16.343 95 4/21/2024
3.18.16.343-psw-wix 106 4/21/2024
3.18.15.340 90 4/18/2024
3.18.15.340-psw-wix 77 4/18/2024
3.18.14.331 174 4/10/2024
3.18.14.331-psw-wix 158 4/10/2024
3.18.13.330 120 4/2/2024
3.18.13.330-psw-wix 136 4/2/2024
3.18.12.325 137 4/2/2024
3.18.12.325-psw-wix 137 4/2/2024
3.18.11.323 130 4/1/2024
3.18.11.323-psw-wix 128 4/1/2024
3.18.10.319 156 4/1/2024
3.18.10.319-psw-wix 124 4/1/2024
3.18.9.318 117 3/28/2024
3.18.9.318-psw-wix 122 3/28/2024
3.18.8.317 189 3/19/2024
3.18.8.317-psw-wix 155 3/19/2024
3.18.7.316 283 3/12/2024
3.18.7.316-psw-wix 197 3/12/2024
3.18.6.315 168 3/7/2024
3.18.6.315-psw-wix 143 3/7/2024
3.18.5.314 140 3/5/2024
3.18.5.314-psw-wix 170 3/5/2024
3.18.4.312 165 3/5/2024
3.18.4.312-psw-wix 143 3/5/2024
3.18.3.311 169 3/4/2024
3.18.3.311-psw-wix 152 3/4/2024
3.18.2.310 144 2/29/2024
3.18.2.310-psw-wix 148 2/29/2024
3.18.1.309 188 2/26/2024
3.18.1.309-psw-wix 267 2/26/2024
3.18.0.308 159 2/25/2024
3.18.0.308-psw-wix 118 2/25/2024
3.17.10.307 154 2/21/2024
3.17.10.307-psw-wix 174 2/21/2024
3.17.9.306 189 2/21/2024
3.17.9.306-psw-wix 138 2/21/2024
3.17.9.305 168 2/21/2024
3.17.9.305-psw-wix 118 2/21/2024
3.17.8.304 154 2/20/2024
3.17.8.304-psw-wix 122 2/20/2024
3.17.7.303 128 2/20/2024
3.17.7.303-psw-wix 118 2/20/2024
3.17.6.298 188 2/8/2024
3.17.6.298-psw-wix 160 2/8/2024
3.17.5.297 162 2/6/2024
3.17.5.297-psw-wix 136 2/6/2024
3.17.4.296 172 2/4/2024
3.17.4.296-psw-wix 125 2/4/2024
3.17.3.294 177 2/4/2024
3.17.3.294-psw-wix 135 2/4/2024
3.17.3.290 139 1/31/2024
3.17.3.290-psw-wix 94 1/31/2024
3.17.2.289 161 1/31/2024
3.17.2.289-psw-wix 122 1/31/2024
3.17.1.286 213 1/24/2024
3.17.1.286-psw-wix 179 1/24/2024
3.17.0.285 211 1/24/2024
3.17.0.285-psw-wix 184 1/24/2024
3.16.1.277 232 1/8/2024
3.16.1.277-psw-wix 150 1/8/2024
3.16.0.275 155 1/7/2024
3.16.0.275-psw-wix 173 1/7/2024
3.15.2.273 712 12/31/2023
3.15.2.273-psw-wix 166 12/31/2023
3.15.1.272 199 12/27/2023
3.15.1.272-psw-wix 132 12/27/2023
3.15.0.268 185 12/19/2023
3.15.0.268-psw-wix 751 12/19/2023
3.14.0.266 177 12/11/2023
3.14.0.266-psw-wix 131 12/11/2023
3.13.0.264 193 11/30/2023
3.13.0.264-psw-wix 166 11/30/2023
3.12.0.261 138 11/29/2023
3.12.0.261-psw-wix 152 11/29/2023
3.11.5.259 153 11/29/2023
3.11.5.259-psw-wix 131 11/29/2023
3.11.4.257 122 11/28/2023
3.11.4.257-psw-wix 145 11/28/2023
3.11.3.255 177 11/27/2023
3.11.3.255-psw-wix 123 11/27/2023
3.11.2.247 277 10/24/2023
3.11.2.247-psw-wix 242 10/24/2023
3.11.1.242 223 10/19/2023
3.11.1.242-psw-wix 202 10/19/2023
3.11.0.241 235 10/19/2023
3.11.0.241-psw-wix 235 10/19/2023
3.10.1.232 225 10/16/2023
3.10.1.232-psw-wix 152 10/16/2023
3.10.0.231 236 10/2/2023
3.10.0.231-psw-wix 238 10/2/2023
3.9.0.230 223 9/21/2023
3.9.0.230-psw-wix 185 9/21/2023
3.8.0.227 5,003 9/18/2023
3.8.0.227-psw-wix 242 9/18/2023
3.7.1.226 464 8/16/2023
3.7.1.226-psw-wix 212 8/16/2023
3.7.0.221 421 7/13/2023
3.7.0.221-psw-wix 202 7/13/2023
3.6.0.214 174 7/10/2023
3.6.0.214-psw-wix 275 7/10/2023
3.5.3.210 159 6/26/2023
3.5.3.210-psw-wix 202 6/26/2023
3.5.2.207 207 6/22/2023
3.5.2.207-psw-wix 260 6/22/2023
3.5.1.196 8,066 6/1/2023
3.5.1.196-psw-wix 237 6/1/2023
3.5.1.164 1,077 4/19/2023
3.5.0.163 223 4/19/2023
3.4.0.161 248 4/17/2023
3.4.0.160 232 4/16/2023
3.3.1.159 253 4/10/2023
3.3.0.157 235 4/9/2023
3.3.0.154-rc.3 122 3/28/2023
3.2.13.153-rc.3 113 3/27/2023
3.2.12.148-rc.3 84 3/12/2023
3.2.11.143-rc.3 97 3/12/2023
3.2.10.141-rc.2 101 2/8/2023
3.2.9.139-rc.2 110 2/5/2023
3.2.8.137-rc.2 119 2/2/2023
3.2.7.132-rc.2 109 1/26/2023
3.2.6.130-rc.2 118 1/25/2023
3.2.5.127-rc.1 112 1/4/2023
3.2.4.123-rc.1 118 1/3/2023
3.2.4.122-rc.1 118 1/3/2023