Release v1.0.32.0-1.0.32.1

Rating: No reviews yet
Downloads: 253
Change Set: 96ac669b61fe
Released: Feb 16, 2016
Updated: Mar 2, 2016 by oleg_s
Dev status: Stable Help Icon

Recommended Download

Application WixSharp.1.0.32.1.7z
application, 22310K, uploaded Mar 2, 2016 - 253 downloads

Release Notes

Overview

  • Added SetupEventArgs.UpgradingProductCode
  • Added full support for Media element
  • Issue #90: Installer doesn't create empty directories
  • Improved CustomCLRDialog runtime MSI integration
    • Improved MSI foreground window lookup
    • Added possibility for user define window lookup algorithm
  • Issue #89: "Default ManagedUI dialogs issues"
    • Adjusted UI layout to avoid visual element distortions (e.g. on Win7). Special thanks to mbinic for contribution.
    • Fixed problem with "RemoveALL" sequence being incorrectly identified as "Reparing"
    • Added possibility to preview (UIShell.Play) ManagedUI dialogs sequence without running the msi.

Details

  • 'Empty directories' feature/support is based on injecting CreatFolder/RemoveFolder elements and it may not be desirable in some cases. Thus the feature can be disabled/enabled by setting the corresponding AutoElement field, which defaults to the `Automatic` value (enable feature when empty directories are detected)
AutoElements.SupportEmptyDirectories = CompilerSupportState.Automatic;
  • You can override the default MSI window lookup algorithm as follows:
public partial class YourCustomDialog : WixCLRDialog
{
    ...
    protected override IntPtr GetMsiForegroundWindow()
    {
        var window = Process.GetProcessesByName("msiexec")
                            .Where(p => p.MainWindowHandle != IntPtr.Zero)
                            .Select(p => p.MainWindowHandle)
                            .FirstOrDefault();

        if (window != default(IntPtr))
            return window; //old algorithm
        else
            return base.GetMsiForegroundWindow(); //new algorithm
    }
}
  • Added UIShell.Play for playing dialogs in demo mode
UIShell.Play(ManagedUI.Default.InstallDialogs);
UIShell.Play(Dialogs.Exit); 

Reviews for this release

No reviews yet for this release.