PanelSwWixExtension 2.4.1

Wix Extension

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

Requires NuGet 2.7 or higher.

Install-Package PanelSwWixExtension -Version 2.4.1
dotnet add package PanelSwWixExtension --version 2.4.1
paket add PanelSwWixExtension --version 2.4.1
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?>
      

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?>
      

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.

Version History

Version Downloads Last updated
2.4.1 24 3/20/2019
2.4.0 49 3/7/2019
2.3.0 43 3/5/2019
2.2.0 45 2/28/2019
2.1.0 42 2/25/2019
2.0.3 43 2/19/2019
2.0.1 37 2/14/2019
2.0.0 48 2/11/2019
1.17.17 91 1/17/2019
1.17.16 86 1/16/2019
1.17.15 73 1/15/2019
1.17.14 65 1/14/2019
1.17.13 94 1/10/2019
1.17.12 67 1/9/2019
1.17.11 96 1/2/2019
1.17.10 108 1/2/2019
1.17.9 76 12/31/2018
1.17.8 95 12/31/2018
1.17.7 70 12/27/2018
1.17.6 100 12/27/2018
1.17.5 96 12/27/2018
1.17.4 69 12/26/2018
1.17.3 88 12/23/2018
1.17.2 82 12/23/2018
1.17.1 88 12/20/2018
1.17.0 84 12/20/2018
1.16.2 103 12/19/2018
1.16.1 78 12/18/2018
1.16.0 84 12/13/2018
1.15.0 99 12/6/2018
1.14.0 72 12/5/2018
1.13.0 75 12/5/2018
1.12.2 84 11/28/2018
1.12.1 94 11/28/2018
1.12.0 116 10/22/2018
1.11.0 119 10/21/2018
1.10.2 194 10/14/2018
1.10.1 122 10/5/2018
1.10.0 103 10/5/2018
1.9.2 112 10/3/2018
1.9.1 120 9/21/2018
1.9.0 90 9/21/2018
1.8.2 137 9/16/2018
1.8.1 122 9/2/2018
1.8.0 119 8/28/2018
1.6.2 131 7/29/2018
1.6.1 128 7/25/2018
1.6.0 142 7/24/2018
1.5.0 162 7/11/2018
1.4.3 303 7/4/2018
1.4.2 170 6/27/2018
1.4.1 169 6/14/2018
1.4.0 152 6/12/2018
1.3.1 147 5/30/2018
1.3.0 157 5/21/2018
1.2.0 165 5/10/2018
1.1.38 163 5/7/2018
1.1.37 164 5/2/2018
1.1.36 148 4/25/2018
1.1.35 156 4/25/2018
1.1.34 173 4/11/2018
1.1.33 145 3/15/2018
1.1.32 195 3/14/2018
1.1.31 190 3/7/2018
1.1.30 176 2/27/2018
1.1.29 173 2/26/2018
1.1.28 177 2/25/2018
1.1.27 189 2/22/2018
1.1.26 195 2/21/2018
1.1.25 147 2/21/2018
1.1.24 179 2/19/2018
1.1.23 878 1/30/2018
1.1.22 177 1/30/2018
1.1.21 190 1/10/2018
1.1.20 165 12/18/2017
1.1.19 357 11/28/2017
1.1.18 160 11/5/2017
1.1.15 229 9/5/2017