wixsharp

Framework for building a complete MSI or WiX source code by using script files written with C# syntax.

MIT License

Stars
1.1K
Committers
52

Bot releases are visible (Hide)

wixsharp - Release v1.9.5

Published by oleg-shilo over 5 years ago

  • Added new XML injection extensions WixProject.AddXml and WixProject.AddXmlElement
  • Issue #608: Create Shortcut on Desktop to dotnet.exe
  • Issue #551: Cannot include extra .wxs as part of a bundle
  • Issue #610: Warning when building two bundles in one setup
  • Issue #604: Is it possible to suppress the "UAC prompt" text if UAC is not enabled?
  • Issue #606: Platform.x64 not marking some folders win64="yes"
  • Issue #599: Files creating empty folders on Destination (2)
  • Issue #599: Files creating empty folders on Destination
  • Added WixEntity.ComponentCondition to assist with cases when WiX element does not have condition (e.g. RegistryKey). Triggered by issue #593
  • Added support for attribute namespaces during XML auto serialization with WixObject.ToXElement()
  • Issue #586: How to add bal:overridable for Variable with wix#
  • Issue #591: Code signing timestamping fails if old Windows SDK is installed
  • Issue #585: Question: Warning about auto-generated IDs
  • Issue #580: Wrong path to the AdminToolsFolder
  • Add MsuPackage Element
  • Fix Condition Net462_Installed, Net47_Installed, Net471_Installed, Net472_Installed
wixsharp - Release v1.9.4

Published by oleg-shilo over 5 years ago

  • VS project templates - added packages.config files
  • Added Condition-s for .NET Frameworks 4.7.1 and 4.7.2
  • Issue #569: Updating WixSharp leads to malfuncion of SetEvVar
  • Added support for UI.Error WiX element
  • Issue #552: Question: Install 2 windows services in same installer
  • Issue #541: Installing 2 Services in the same installer results in …
  • Samples update
  • Issue #560: Semantic difference between UninstallCondition and IsUninstalling
  • Issue #564: Correct variable name of SequentialGuid initialization.
  • Issue #562: Typo in Compiler.cs comments
  • Issue #561: Typo in WixProject.cs
  • Added missing namespace in custom dialog template, fixed comment.
  • Added explicit WixEntity.ComponentId property
  • Issue #551: Cannot include extra .wxs as part of a bundle
  • Issue #542: ServiceInstaller.StartOn/StopOn/RemoveOn - Documentation bug
  • Issue #544: Failed while processing WebSites; added support for IISVirtualDir.AttributesDefinition
wixsharp - Release v1.9.3.0

Published by oleg-shilo almost 6 years ago

  • Fixed problem with locating latest (v3.11) WiX Toolset installed
  • Issue #538: impossible rename file during installation; added File.TargetFileName
  • Issue #536: External_UI/WinFormsSetup how to get properties
  • Issue #531: Question: custom action and Embedded UI
  • Issue #511: Compile error CustomDialog
  • Issue #512: Cannot define RemotePayload
  • Issue #484: Is ExecuteInTempDomain really necessary?
  • Added BalCondition
  • Added CAValidation enum - InRemoteAppDomain, InCurrentAppDomain, Disabled
  • WixSharp.VS.ProjectTemplate: Release v1.6.0.0
  • Updated to the new WixSharp.UI.Runtime structure.
  • Code cleanup (mainly CodeMaid cleaning)
wixsharp - Release v1.9.2.0

Published by oleg-shilo about 6 years ago

  • Issue #137: Add custom attribute to Bundle project (Bootstrapper)
  • Issue #452: Component Id generation for RegValue does not take RegValue.Id into account
  • An empty directory remains after the uninstall #464
  • AutoElements.SupportEmptyDirectories default setting to Automatic is made obsolete, though is not removed yet. In the future releases AutoElements.SupportEmptyDirectories will be enabled by default.
  • File.OverwriteOnInstall now triggers insertion of <RemoveFile On=both ...> instead of <RemoveFile On=install ...>. To avoid upgrade problems with individual files.
  • Fixed the problem with project.ActualInstallDirId being potentially undefined
  • ResilientPackage improvements
    • Create a hard link to the local package instead of the original MSI.
    • Added deterministic assignment of installdir id in EnableResilientPackage
  • Bootstrapper_UI sample is updated to show how to pass user input from BA to MSI package.
wixsharp - Release v1.9.0-1

Published by oleg-shilo about 6 years ago

Effectively it is a repackaged v1.9.0, which was published on NuGet with wrong artefacts. Plus a very minor chage related to the new EnableResilientPackage feature that just has been introduced in v1.9.0.


v1.9.0-1

  • Minor improvement in EnableResilientPackage API signature

v1.9.0

  • Issue #458: Deferred session Variables.
  • Issue #377: How to register a new MIME type with custom document icon
  • Issue #416: WPF Bootstrap application fails to run after upgrading from Wixharp v1.7 to v1.8
  • Issue #409: NullReferenceException in XmlFile
  • Issue #452: Component Id generation for RegValue does not take RegValue.Id into account
  • Added repairing MSI package with project.EnableResilientPackage() (see https://github.com/oleg-shilo/wixsharp/pull/457 for details).
  • Added generation of globally unique Component Id.
  • Issue #453: There is no way to set virtual HKMU registry hive supported by WiX for RegValue
wixsharp - Release v1.9.0.0

Published by oleg-shilo about 6 years ago

  • Issue #458: Deferred session Variables.
  • Issue #377: How to register a new MIME type with custom document icon
  • Issue #416: WPF Bootstrap application fails to run after upgrading from Wixharp v1.7 to v1.8
  • Issue #409: NullReferenceException in XmlFile
  • Issue #452: Component Id generation for RegValue does not take RegValue.Id into account
  • Added repairing MSI package with project.EnableResilientPackage() (see https://github.com/oleg-shilo/wixsharp/pull/457 for details).
    Added generation of globally unique Component Id.
  • Issue #453: There is no way to set virtual HKMU registry hive supported by WiX for RegValue
    Microsoft.Win32.RegistryHive replaced with WixSharp.RegistryHive
  • Added generating cmd bat with exit code and handling compiler and linker exit codes
  • Improved the algorithm for discovery wix_bin_package in the VS Project
  • Added an argument utilities to parse arguments easier
  • Fixed/reviewed all falsely failed samples
  • Added Version.ClearRevision extension method.
  • FileSearch class extended to match the current WiX FileSearch element.
  • Pre-work for WiX4 integration
wixsharp - Release v1.8.0

Published by oleg-shilo over 6 years ago

  • Nsis improvements
    • Restructured the resulting nsis source code. The native bootstrapper should startup faster.
    • NsiSourceGenerated event is added
    • PrerequisiteFileArguments and PrimaryFileArguments properties are added
    • SplashScreen is added
  • Added File.OverwriteOnInstall
  • Added extension method string Attr(this XElement obj, XName name) for immediate access to an XElement attribute value.
  • Added extension method Project.FindFirstFile
  • Issue #398: Registry keys for both 32 and 64 bit machines
  • Issue #389: Custom WPF UI - Show dotNet Licence Prompt as BootStrapp Window
wixsharp - Release v1.7.0

Published by oleg-shilo over 6 years ago

  • Implemented NSIS-based bootstrapper.
    Special thanks to @geghamyan for contributing this feature.
     static public void Main()
     {
         // ensure NSIS is installed
         var setup = new NsisBootstrapper();
         setup.DoNotPostVerifyPrerequisite = true;
         setup.PrerequisiteFile = "NDP451-KB2859818-Web.exe";
         setup.PrimaryFile = "MainProduct.msi";
         setup.OutputFile = "dotnet_setup.exe";
         setup.PrerequisiteRegKeyValue = @"HKLM:SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5:";
    
         setup.Build();
     }
    
  • Issue #387: Certificate password can be null
  • Issue #377: How to register a new MIME type with custom document icon
  • Issue #373: Bootstrapper.DigitalSignature.Apply hide console output
  • Added missing IconFile support
  • SetupEvent sample extended to show how restart itself elevated if required.
wixsharp - Release v1.6.5.1-2

Published by oleg-shilo over 6 years ago

v1.6.5.2

  • Issue #387: Certificate password can be null

v1.6.5.1

  • Issue #377: How to register a new MIME type with custom document icon
  • Issue #373: Bootstrapper.DigitalSignature.Apply hide console output
  • Added missing IconFile support
  • SetupEvent sample extended to show how restart itself elevated if required.
wixsharp - Release v1.6.5.1-HotFix

Published by oleg-shilo over 6 years ago

  • Issue #377: How to register a new MIME type with custom document icon
  • Issue #373: Bootstrapper.DigitalSignature.Apply hide console output
  • Added missing IconFile support
  • SetupEvent sample extended to show how restart itself elevated if required.
wixsharp - Release v1.6.5.0

Published by oleg-shilo over 6 years ago

Accumulative fixes (pre-releases) and minor improvements.


v1.6.5.0

  • Added session extension e.Session.GetMainWindow() for properly displaying message box from CAs
  • Updated all sample projects to target v4.6.1 runtime
  • Issue #373: Bootstrapper.DigitalSignature.Apply hide console output
  • Issue #372: MsiFile location

v1.6.4.3

  • Issue #354: Adding an InternetShortcuts throw NullReferenceException
  • Assorted internal fixes (XML docs etc.)
  • All compatible IGenericEntity.Process(ProcessingContext) cases moved to WixEntity.CreateAndInsertParentComponent

v1.6.4.2

  • Issue #344: Duplicate symbol 'Directory:ProgramFilesFolder' found

v1.6.4.1

  • Updated all IGenericEntity implementations to support 'no-directory' deployments
  • Removed all references to the obsolete IncludeWixExtension
  • Implemented clean algorithm for handling no-dir scenarios without resorting to the %ProgramFiles%\WixSharp\DummyDir.
    Algorithm is controlled by AutoElements.LagacyDummyDirAlgorithm
  • Issue #341: UAC Text is not localized
  • Implemented adding custom error description of he ManagedUI.ExitDialog depending on the Install error or cancellation.
wixsharp - Release v1.6.4.3-HotFix

Published by oleg-shilo over 6 years ago

  • Issue #354: Adding an InternetShortcuts throw NullReferenceException
  • Assorted internal fixes (XML docs etc.)
  • All compatible IGenericEntity.Process(ProcessingContext) cases moved to WixEntity.CreateAndInsertParentComponent
wixsharp - Release v1.6.4.2-HotFix

Published by oleg-shilo over 6 years ago

  • Issue #344: Duplicate symbol 'Directory:ProgramFilesFolder' found
wixsharp - Release v1.6.4.1

Published by oleg-shilo over 6 years ago

  • Updated all IGenericEntity implementations to support 'no-directory' deployments
  • Removed all references to the obsolete IncludeWixExtension
  • Implemented clean algorithm for handling no-dir scenarios without resorting to the %ProgramFiles%\WixSharp\DummyDir.
    Algorithm is controlled by AutoElements.LagacyDummyDirAlgorithm
  • Issue #341: UAC Text is not localized
  • Implemented adding custom error description of he ManagedUI.ExitDialog depending on the Install error or cancellation.
wixsharp - Release v1.6.4.0

Published by oleg-shilo over 6 years ago

v1.6.4.0

  • Implemented localization of the Feature's description text (ManagedUI)
  • AutoEllipsis enabled for long Feature's label text
  • Issue #337: How to set ManagedAction execute before Appsearch
    Added SetupEventArgs.ManagedUI.Shell.CustomErrorDescription
  • Add dual signing of binaries.
  • Issue #333: FeaturesDialog drawing issues
  • Added sample for "Issuae #324: Capture Msi error in bootraper"
  • Added support for bootstrapper generic items (Bundle.Items): Triggered by #315
  • Issue #270: Deduplication of files added with wildcards sample dedup
  • Added additional resolution algorithm for FileShortcut location, which now can be both dir id and dir path. Triggered by #307
  • Issue #307: Fileshortcuts starting with an integer; Removed '_' inserted by the 'start digit in the name' check for composite Dir Ids (e.g. ProgramMenuFolder.1My_Product);
  • Issue #180: Multiple root level directories. Added InstallDir class
  • Added FileShortcut constructor that does nor require 'location' parameter. It automatically creates the shortcut in the parent Dir. Triggered by #307.
  • Package WixSharp.bin: added copying nbsbuilder.exe to output folder
  • NuGet package(s): Added section to register only managed dlls.
    WixSharp.bin.targets file is added to copy unmanaged dll to the output folder.
  • Implementation XmlFile Element
  • Issue #304: Localization bootstrapper via theme file
  • Added optional generation of the XML id attribute for Bootstrapper.Payload.Id
  • Issue #303: ExternalTool method ConsoleRun(Action onConsoleOut) pass invalid unicode strings to onConsoleOut
  • Added ExternalTool,Encoding. The default value is Encoding.UTF8.

v1.6.3.2 - HotFix

  • UACRevealer algorithm changed to SetForegroundWindow(taskbar) as a safer option.
  • UACRevealer is disabled by default. Enable it when needed: UACRevealer.Enabled = true;.

v1.6.3.1 - HotFix

  • Issue #301: Managed UI: UAC prompt is always in background
  • Implemented DirPermissions inheriting parent Dir features if it has no own features specified.
  • Issue #279: Empty directory belonging to a feature causes an error
  • Added FeatureSet class to allow passing set of features as a constructor Feature parameter
  • NuGet: nbsbuilder has been moved into 'tools' folder to avoid being referenced as an assembly.
wixsharp - Release v1.6.3.2

Published by oleg-shilo over 6 years ago

v1.6.3.2

  • UACRevealer algorithm changed to SetForegroundWindow(taskbar) as a safer option.
  • UACRevealer is disabled by default. Enable it when needed: UACRevealer.Enabled = true;.

v1.6.3.1

  • Issue #301: Managed UI: UAC prompt is always in background
  • Implemented DirPermissions inheriting parent Dir features if it has no own features specified.
  • Issue #279: Empty directory belonging to a feature causes an error
  • Added FeatureSet class to allow passing set of features as a constructor Feature parameter
  • NuGet: nbsbuilder has been moved into 'tools' folder to avoid being referenced as an assembly.
wixsharp - Release v1.6.3.0-HotFix

Published by oleg-shilo over 6 years ago

  • Issue #301: Managed UI: UAC prompt is always in background
  • Implemented DirPermissions inheriting parent Dir features if it has no own features specified.
  • Issue #279: Empty directory belonging to a feature causes an error
  • Added FeatureSet class to allow passing set of features as a constructor Feature parameter
  • NuGet: nbsbuilder has been moved into 'tools' folder to avoid being referenced as an assembly.
wixsharp - Release v1.6.2.0

Published by oleg-shilo over 6 years ago

  • All samples updated to comply with the latest ID allocation algorithm
  • Implemented proper Bootstrapper Variables
  • Renamed Bundle.StringVariablesDefinition -> Bundle.Variables
  • NativeBootstrapper source code has been placed under source control now.
  • Issue #295: In x64 projects, only add Win64=yes to components that haven't already explicitly specified this attribute. Fixes #295
  • Issue #294: Bootstrapper.PreserveDbgFiles not work.
  • Issue #290: Error LGHT0094 : Unresolved reference to symbol 'File:Registrator.exe'
  • Issue #282: Built-in installer placeholders are displayed as format strings with [N] brackets
  • Issue #280: A Shortcut's generated ID is different from what it is explicitly set to
  • Issue #276: HashedTargetPathIdAlgorithm emits duplicated IDs for Cyrillic file names
  • Issue #265: Exception using RegFile class with REGEDIT4 version reg file
  • Issue #267: Set ARPINSTALLLOCATION custom action in wrong place
  • Issue #264: Project.SetVersionFrom() and Project.Version
  • Issue #268: Files starting with a number cause error - Every identifier must begin with either a letter or an underscore.
  • Condition class: add logical operators &, |, NOT
  • Condition class: added Net47_Installed condition
  • Project.HashedTargetPathIdAlgorithm is enabled now by default. Triggered by #204.
wixsharp - Release v1.6.1.0-HotFix

Published by oleg-shilo almost 7 years ago

  • Added logical operators &, |, NOT for Condition
  • Added Net47_Installed condition
  • Project.HashedTargetPathIdAlgorithm is enabled now by default. Triggered by #204.
wixsharp - Release v1.6.0.0

Published by oleg-shilo almost 7 years ago

  • Migration of WixSharp types to IGenericEntity model:

    • Rework Certificate using IGenericEntity
    • Rework SqlDatabase, SqlString and SqlScript using IGenericEntity
    • Rework DriverInstaller using IGenericEntity
    • Rework FirewallException using IGenericEntity
    • Rework EnvironmentVariable using IGenericEntity
    • Rework FirewallException using IGenericEntity
    • Rework User using IGenericEntity
    • Rework IniFile using IGenericEntity
  • Added support for new WiX types:

    • CloseAppplication
    • RemoveRegistryKey
  • Defect fixes:

    • Issue #258: WixSharp doesn't remove temporary files if custom output name is specified
    • Issue #251: Passing UseCertificateStore parameter from DigitalSignatureBootstrapper
    • Issue #247: Handling null TimeUrl
    • Issue #251: Passing UseCertificateStore parameter from DigitalSignatureBootstrapper through to DigitallySign
    • Issue #233: FileSearch
    • Issue #230: CustomAction Condition extension
    • Issue #226: Project.HashedTargetPathIdAlgorithm generates invalid ids
  • Various improvements and minor fixes:

    • Fixed the problem with EnvironmentVariable not having XML parent when it is hosted by the component-less WiX (e.g. ConsumingMergeModule sample).
    • CustomAction.UsesProperties & .RollbackArgs space trimming
    • Trim all spaces around properties (name and value) before passing to msi
    • CommonTasks.InstallService fix & new overload
    • Fixed installService args location, added overload that accepts username and password
    • Added WixObject.MapComponentToFeatures to assist with implementation of IGenericEntity based WiX objects.
    • fix "CustomActionRef.When" property handling in compile.
    • change to use just WixSharp.When.ToString()
    • fix CustomActionRef will add "Before" attribute in Custom Element even if set When.After
    • Added extension methods for
      • Project.Add(IGenericEntity[])
      • File.Add(IGenericEntity[])
      • Dir.Add(IGenericEntity[])
  • AppVeyor integration (https://ci.appveyor.com/project/oleg-shilo/wixsharp)