PanelSwWixExtension 2.6.2

A WiX extension with various actions including- File regular expressions; XmlSearch; TaskScheduler; ExecOnComponent

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

Requires NuGet 2.7 or higher.

Install-Package PanelSwWixExtension -Version 2.6.2
dotnet add package PanelSwWixExtension --version 2.6.2
<PackageReference Include="PanelSwWixExtension" Version="2.6.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PanelSwWixExtension --version 2.6.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PanelSwWixExtension, 2.6.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install PanelSwWixExtension as a Cake Addin
#addin nuget:?package=PanelSwWixExtension&version=2.6.2

// Install PanelSwWixExtension as a Cake Tool
#tool nuget:?package=PanelSwWixExtension&version=2.6.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

PanelSwWixExtension is the most comprehensive open source WiX extension.
It features dozens of actions from querying XML, JSON and text files to installing ServiceBase-based and TopShelf services.

The commercial extension- JetWixExtension- complements PanelSwWixExtension with the following features:

  • JetBA: The most comprehensive, fully customizable, extensible, WPF-based BootstrapperApplication.
  • JetBA++: The only native fully customizable, extensible, Qt-based BootstrapperApplication.
  • Preprocessor extension:
    • Harvest directly from WiX source code by executing Heat commands
      <?pragma heat.dir "$(sys.SOURCEFILEDIR)..\bin\Release" -cg BIN -dr INSTALLFOLDER -ag?>
      
    • Collection variables
      <?pragma tuple.NIR a; b; c?>
      <?pragma tuple.BAR x; y; z?>
      <?foreach i in $(tuple_range.BAR())?>
      <Component Feature="ProductFeature" Directory="INSTALLFOLDER">
        <File Source="$(sys.SOURCEFILEPATH)" Name="Product.$(tuple.NIR($(var.i))).$(tuple.BAR($(var.i))).wxs"/>
      </Component>
      <?endforeach?>
      <?pragma endtuple.BAR?>
      <?pragma endtuple.NIR?>
      
    • Generate random Id.
      Useful when deploying files with same name to different target folders:
      <ComponentGroup Id="random">
      	<Component Directory="Product.Dir">
      	<File Source="$(sys.SOURCEFILEPATH)" Id="$(jet.random_id())"/>
      	</Component>
      	<Component Directory="INSTALL_FOLDER">
      	<File Source="$(sys.SOURCEFILEPATH)" Id="$(jet.random_id())"/>
      	</Component>
      </ComponentGroup>
      

Contact the owner to obtain a license for JetWixExtension

PanelSwWixExtension WiX Elements

  • Immediate Actions:
    • JsonJpathSearch: Read JSON values
    • DiskSpace: Calculate available disk space for a target directory
    • CertificateHashSearch: Find a certificate has 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.
    • AlwaysOverwriteFile: Sets the highest possible version on a file row (65535.65535.65535.65535) to ensure it overwrites existing file
  • Deferred Actions:
    • 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. Task definition XML should be in inner text.
    • 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.

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'.

PanelSwWixExtension is the most comprehensive open source WiX extension.
It features dozens of actions from querying XML, JSON and text files to installing ServiceBase-based and TopShelf services.

The commercial extension- JetWixExtension- complements PanelSwWixExtension with the following features:

  • JetBA: The most comprehensive, fully customizable, extensible, WPF-based BootstrapperApplication.
  • JetBA++: The only native fully customizable, extensible, Qt-based BootstrapperApplication.
  • Preprocessor extension:
    • Harvest directly from WiX source code by executing Heat commands
      <?pragma heat.dir "$(sys.SOURCEFILEDIR)..\bin\Release" -cg BIN -dr INSTALLFOLDER -ag?>
      
    • Collection variables
      <?pragma tuple.NIR a; b; c?>
      <?pragma tuple.BAR x; y; z?>
      <?foreach i in $(tuple_range.BAR())?>
      <Component Feature="ProductFeature" Directory="INSTALLFOLDER">
        <File Source="$(sys.SOURCEFILEPATH)" Name="Product.$(tuple.NIR($(var.i))).$(tuple.BAR($(var.i))).wxs"/>
      </Component>
      <?endforeach?>
      <?pragma endtuple.BAR?>
      <?pragma endtuple.NIR?>
      
    • Generate random Id.
      Useful when deploying files with same name to different target folders:
      <ComponentGroup Id="random">
      	<Component Directory="Product.Dir">
      	<File Source="$(sys.SOURCEFILEPATH)" Id="$(jet.random_id())"/>
      	</Component>
      	<Component Directory="INSTALL_FOLDER">
      	<File Source="$(sys.SOURCEFILEPATH)" Id="$(jet.random_id())"/>
      	</Component>
      </ComponentGroup>
      

Contact the owner to obtain a license for JetWixExtension

PanelSwWixExtension WiX Elements

  • Immediate Actions:
    • JsonJpathSearch: Read JSON values
    • DiskSpace: Calculate available disk space for a target directory
    • CertificateHashSearch: Find a certificate has 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.
    • AlwaysOverwriteFile: Sets the highest possible version on a file row (65535.65535.65535.65535) to ensure it overwrites existing file
  • Deferred Actions:
    • 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. Task definition XML should be in inner text.
    • 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.

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'.

Dependencies

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 History

Version Downloads Last updated
2.31.6.18 25 6/9/2021
2.31.6.18-psw-wix 21 6/9/2021
2.31.5 72 5/12/2021
2.31.5-psw-wix 68 5/12/2021
2.31.4 48 5/6/2021
2.31.4-psw-wix 49 5/6/2021
2.31.3 65 4/27/2021
2.31.3-psw-wix 61 4/27/2021
2.31.2 101 4/6/2021
2.31.2-psw-wix 78 4/6/2021
2.31.1 87 4/5/2021
2.31.1-psw-wix 83 4/5/2021
2.31.0.55 85 2/22/2021
2.31.0-psw-wix 72 2/22/2021
2.30.2.54 125 1/27/2021
2.30.2-psw-wix 106 1/27/2021
2.30.1 82 1/25/2021
2.30.1-psw-wix 85 1/25/2021
2.30.0.52 219 12/29/2020
2.30.0-psw-wix 100 12/29/2020
2.29.0.51 187 11/8/2020
2.29.0-psw-wix 182 11/8/2020
2.28.1.50 205 10/6/2020
2.28.1-psw-wix 142 10/6/2020
2.28.0.49 165 9/29/2020
2.28.0-psw-wix 179 9/29/2020
2.27.0.48 165 9/22/2020
2.27.0-psw-wix 171 9/22/2020
2.26.0.47 181 9/2/2020
2.26.0-psw-wix 184 9/2/2020
2.25.1.46 176 6/28/2020
2.25.1-psw-wix 166 6/28/2020
2.24.1.43 209 6/23/2020
2.24.1-psw-wix 191 6/23/2020
2.24.0.40 176 6/18/2020
2.24.0-psw-wix 182 6/18/2020
2.23.39 191 6/16/2020
2.23.37-psw-wix 181 6/15/2020
2.22.1 285 5/21/2020
2.22.1-fix-6144 191 5/21/2020
2.22.0 209 4/30/2020
2.22.0-fix-6144 198 4/30/2020
2.21.2 224 4/16/2020
2.21.2-fix-6144 206 4/16/2020
2.21.1 188 4/13/2020
2.21.1-fix-6144 208 4/13/2020
2.21.0 205 4/12/2020
2.21.0-fix-6144 210 4/12/2020
2.20.0 442 3/26/2020
2.20.0-fix-6144 203 3/26/2020
2.19.0 386 2/24/2020
2.19.0-fix-6144 208 3/23/2020
2.18.0 217 2/13/2020
2.17.1 407 2/6/2020
2.17.0 280 1/27/2020
2.16.3 299 1/26/2020
2.16.2 320 1/20/2020
2.16.1 236 1/14/2020
2.16.0 207 1/9/2020
2.15.7 288 1/9/2020
2.15.6 241 12/15/2019
2.15.5 225 12/12/2019
2.15.4 218 12/11/2019
2.15.3 256 12/3/2019
2.15.2 225 12/3/2019
2.15.1 219 12/1/2019
2.15.0 247 11/27/2019
2.14.2 223 11/21/2019
2.14.1 224 11/13/2019
2.14.0 223 11/12/2019
2.13.3 225 11/10/2019
2.13.2 242 10/28/2019
2.13.1 229 10/22/2019
2.13.0 249 10/6/2019
2.12.1 246 9/19/2019
2.12.0 248 9/16/2019
2.11.1 240 9/15/2019
2.11.0 262 9/11/2019
2.10.2 279 8/14/2019
2.10.1 255 8/12/2019
2.10.0 299 8/11/2019
2.9.1 510 7/17/2019
2.9.0 289 7/16/2019
2.8.2 290 6/12/2019
2.8.1 294 5/26/2019
2.8.0 297 5/23/2019
2.7.1 293 5/17/2019
2.7.0 296 5/16/2019
2.6.6 311 5/15/2019
2.6.5 302 5/14/2019
2.6.4 289 5/8/2019
2.6.3 297 5/8/2019
2.6.2 389 5/2/2019
2.6.1 316 4/18/2019
2.6.0 314 4/8/2019
2.5.0 319 3/26/2019
2.4.1 302 3/20/2019
2.4.0 319 3/7/2019
2.3.0 312 3/5/2019
2.2.0 322 2/28/2019
2.1.0 312 2/25/2019
2.0.3 381 2/19/2019
2.0.1 382 2/14/2019
2.0.0 370 2/11/2019
1.17.17 427 1/17/2019
1.17.16 434 1/16/2019
1.17.15 418 1/15/2019
1.17.14 406 1/14/2019
1.17.13 442 1/10/2019
1.17.12 412 1/9/2019
1.17.11 441 1/2/2019
1.17.10 459 1/2/2019
1.17.9 416 12/31/2018
1.17.8 439 12/31/2018
1.17.7 401 12/27/2018
1.17.6 425 12/27/2018
1.17.5 425 12/27/2018
1.17.4 364 12/26/2018
1.17.3 407 12/23/2018
1.17.2 397 12/23/2018
1.17.1 417 12/20/2018
1.17.0 424 12/20/2018
1.16.2 425 12/19/2018
1.16.1 394 12/18/2018
1.16.0 410 12/13/2018
1.15.0 427 12/6/2018
1.14.0 396 12/5/2018
1.13.0 402 12/5/2018
1.12.2 417 11/28/2018
1.12.1 415 11/28/2018
1.12.0 437 10/22/2018
1.11.0 450 10/21/2018
1.10.2 524 10/14/2018
1.10.1 470 10/5/2018
1.10.0 465 10/5/2018
1.9.2 453 10/3/2018
1.9.1 470 9/21/2018
1.9.0 437 9/21/2018
1.8.2 483 9/16/2018
1.8.1 481 9/2/2018
1.8.0 483 8/28/2018
1.6.2 493 7/29/2018
1.6.1 479 7/25/2018
1.6.0 492 7/24/2018
1.5.0 525 7/11/2018
1.4.3 752 7/4/2018
1.4.2 604 6/27/2018
1.4.1 559 6/14/2018
1.4.0 548 6/12/2018
1.3.1 534 5/30/2018
1.3.0 557 5/21/2018
1.2.0 558 5/10/2018
1.1.38 556 5/7/2018
1.1.37 553 5/2/2018
1.1.36 539 4/25/2018
1.1.35 571 4/25/2018
1.1.34 597 4/11/2018
1.1.33 513 3/15/2018
1.1.32 577 3/14/2018
1.1.31 617 3/7/2018
1.1.30 570 2/27/2018
1.1.29 589 2/26/2018
1.1.28 578 2/25/2018
1.1.27 570 2/22/2018
1.1.26 580 2/21/2018
1.1.25 523 2/21/2018
1.1.24 575 2/19/2018
1.1.23 1,896 1/30/2018
1.1.22 569 1/30/2018
1.1.21 588 1/10/2018
1.1.20 539 12/18/2017
1.1.19 724 11/28/2017
1.1.18 551 11/5/2017
1.1.15 649 9/5/2017
Show less