Skip to content

Releases: ninedigit/wixsharpextensions

Release v1.0.14

19 Jul 08:11
Compare
Choose a tag to compare

X86AndX64BuildHelper now accepts filter when building files collection.

Release v1.0.13

16 Mar 15:21
Compare
Choose a tag to compare

Added extension method for running registry search whether Visual C++ version 2015-2019 (version 14) is installed on the machine.

Release v1.0.12.2

13 Jan 09:18
Compare
Choose a tag to compare

bugfix in AddWindowsServiceAndFirewallRule extension method.

Release v1.0.12.1

13 Jan 09:03
Compare
Choose a tag to compare

No functional changes. README.md added to nuget package.

Release v1.0.12

13 Jan 09:03
Compare
Choose a tag to compare

changes in AddWindowsServiceAndFirewallRule extension:

  • added failureActionType params
  • BREAKING CHANGE: failureActionType is now none, when not specified (was restart for first and second failure).
  • multiple files for same service are supported (helpful for conditional install).

Release v1.0.11.3

04 Jan 14:11
Compare
Choose a tag to compare

New bundle extensions:

Bundle.AddRegistrySearchForOsBuildVersion

Saves OS Build version to specified variable.

Example:

// define variable
const string osBuildVersionVariableName = "WINDOWS_BUILD_VERSION";

// compose condition
var win7OrWin7Sp1Condition =
    WixExpression.Create(new WixExpression(osBuildVersionVariableName), WixComparativeExpressionOperator.Eq, new WixExpression(OsBuildVersion.Windows7ServicePack1OrWindowsServer2008R2ServicePack1)) |
    WixExpression.Create(new WixExpression(osBuildVersionVariableName), WixComparativeExpressionOperator.Eq, new WixExpression(OsBuildVersion.Windows7OrWindowsServer2008R2));

// register registry search (so variable will be filled up)
var bootstrapper = new Bundle()
    ...
    .AddRegistrySearchForOsBuildVersion(osBuildVersionVariableName)
    ...

// use the condition.

Bundle.AddRegistrySearchAspNetCoreInstalled

Detects whether ASP.NET Core with given version if installed.

Example: Check if ASP.NET Core 3.1 is installed on target machine

// define variable name
const string aspNetCore3Point1DetectedVariableName = "ASP_NET_CORE_31_DETECTED";

var bootstrapper = new Bundle()
    ...
    // register registry search (so variable will be filled up)
    .AddRegistrySearchAspNetCoreInstalled(new Version(3, 1), aspNetCore3Point1DetectedVariableName)

    ...
    // use the condition wheter to install the dependency.
    .AddOnlineDependency<ExePackage>("dotnet-hosting-3.1.3-win.exe",
        BootstrapperDependenciesDirectoryPath, BootstrapperDependenciesDownloadUrlParentPath,
        installCondition: !new WixExpression(aspNetCore3Point1DetectedVariableName),
        exeExitCodeMap: new ExitCodeMapBuilder().Add(ResultWin32.ERROR_PRODUCT_VERSION, BehaviorValues.success).Build()) // Ignore "Newer version installed" error

Release v1.0.10

24 Jun 20:36
Compare
Choose a tag to compare
  • Updated version of wixsharp dependency from 1.15.0 to 1.18.0. No breaking changes (issue #3)

Release v1.0.9

15 Mar 13:39
Compare
Choose a tag to compare

Added helper classes for building single MSI for both X86 and X64 platform, based on two build directories:

  • X86AndX64BuildHelper
  • X86AndX64FileBuilder

Usage:

string sourceDirectoryX86 = "path-to-the-x86-build";
string sourceDirectoryX64 = "path-to-the-x64-build";

X86AndX64BuildHelper x86x64BuildHelper = new X86AndX64BuildHelper(sourceDirectoryX86, sourceDirectoryX64);

new Project()
    ...
    .SetProjectInfo(
        upgradeCode: "ProductUpgradeCode",
        projectName: "My project name",
        version: x86x64BuildHelper.Version)
    .AddDirectories(
        new Dir("%ProgramFiles%",
            new Dir(CompanyFolderName,
                new Dir(ProductFamilyFolderName,
                    new InstallDir(ProductFolderName, x86x64BuildHelper.GetFiles())
                )
            )
        )
    )

The x86x64BuildHelper.GetFiles() produces several instances of WixSharp.Files:

  • one instance for common files: same file path and same file hash in both builds
  • two instances for build-specific files (different files and/or file hashes) across builds

This way you can produce single MSI file for both platforms, with minimal installer file size, as same files are not added to MSI twice.

Release v1.0.8

07 Jan 10:17
Compare
Choose a tag to compare
  • Localization now supports localization of product name, description and control panel info.
  • Updated wixsharp dependency to 1.15.0

Release v1.0.7

16 Dec 19:10
Compare
Choose a tag to compare

New budle extensions added:

  • fluent option to configure the Bootstrapper application using bundle.ConfigureApplication extension method.
  • bundle icon file can be added using the bundle.SetInfo extension method.
  • bundle splash screen BMP file can be added using the bundle.SetSplashScreen extension method.
  • all add/remove programs menu buttons can be set using the new bundle.SetAddRemoveProgramsButtons extension method.