Release v1.0.21.0

Rating:        Based on 1 rating
Reviewed:  0 reviews
Downloads: 464
Change Set: de41cdd5d0dd
Released: Jun 23, 2015
Updated: Jun 24, 2015 by oleg_s
Dev status: Stable Help Icon

Recommended Download

Application WixSharp.1.0.21.0.7z
application, 20473K, uploaded Jun 24, 2015 - 464 downloads

Release Notes

This is a large release delivering both new features and defect fixes. Special thanks go to James Linden (lamesjinden) who is responsible for the majority of the new features in this release.

Changes Summary

  • Support for Bootstrapper custom managed UI.
  • Support for SqlDatabase/Script/String (WixSqlExtension).
  • Support for User (WixUtilExtension).
  • Support for Cerificates.
  • Completed implementation of the outstanding ServiceInstaller properties:
  • Added support for File and Directory permissions.
  • Bundled WiX Toolset v3.9 R2 migrated to v3.9.1208.0.
  • API improvements
  • All obsolete API is configured to trigger compile errors.
  • Assorted Fixes.

Changes Details

  • Added support for no-UI Bootstrapper (SilentUI).
var bootstrapper = new Bundle("My Product",
                       new PackageGroupRef("NetFx40Web"),
                       new MsiPackage(productMsi) { DisplayInternalUI = true });
bootstrapper.Application = new SilentBootstrapperApplication();
  • Added support for Bootstrapper custom (WPF) UI
var bootstrapper = new Bundle("My Product",
                       new PackageGroupRef("NetFx40Web"),
                       new MsiPackage(productMsi) { DisplayInternalUI = true });
//Instead of %this% you can also use Assembly.GetExecutingAssembly().Location
//where 'ExecutingAssembly' implements Bootstrapper Application
bootstrapper.Application = new ManagedBootstrapperApplication("%this%");
  • Added support for User (WixUtilExtension).
var project =
    new Project("MyProduct",
        new Dir(@"%ProgramFiles%\My Company\My Product",
            new File(@"Files\Bin\MyApp.exe")),
        //define user
        new User("James") { CreateUser = true, Password = "Password1"},
  • Added support for SqlDatabase/Script/String (WixSqlExtension).
var project =
    new Project("MyProduct",
        new Dir(@"%ProgramFiles%\My Company\My Product",
            new File(@"Files\Bin\MyApp.exe")),
        new SqlDatabase("MyDatabase0", ".\\SqlExpress", SqlDbOption.CreateOnInstall)
            new SqlString("alter login Bryce with password = 'Password1'",
                          ExecuteSql.OnInstall)));
  • Completed implementation of the outstanding ServiceInstaller properties.
service.ServiceInstaller = new ServiceInstaller
                            {
                                Name = "WixSharp.TestSvc",
                                DependsOn = "Dnscache;Dhcp",
                                StartOn = SvcEvent.Install,
                                StopOn = SvcEvent.InstallUninstall_Wait,
                                RemoveOn = SvcEvent.Uninstall_Wait,
                                DelayedAutoStart = new DelayedAutoStart(true),
                                ServiceSid = new ServiceSid(ServiceSidValue.none),
                                FirstFailureActionType = FailureActionType.restart,
                                SecondFailureActionType = FailureActionType.restart,
                                ThirdFailureActionType = FailureActionType.runCommand,
                                ProgramCommandLine = "MyApp.exe -run",
                                RestartServiceDelayInSeconds = 30,
                                ResetPeriodInDays = 1,
                                PreShutdownDelay = 1000 * 60 * 3,
                                RebootMessage = "Failure actions do not specify reboot"
                            };
  • Adding support for file and directory permissions
var project =
    new Project("MyProduct",
        new Dir(@"%ProgramFiles%\My Company\My Product",
            new File(@"Files\Bin\MyApp.exe"),
            new File(@"Files\Docs\Manual.txt",
                new FilePermission("Everyone", 
                                   GenericPermission.Read | GenericPermission.Execute),
                new FilePermission("Administrator")
                    {
                        Append = true,
                        Delete = true,
                        Write = true
                    }),
            new Dir(@"Docs"),
            new Dir(@"Docs2",
                new DirPermission("Everyone", GenericPermission.All)),
            new Dir("Empty")));
  • Adding support for installing Certificates
var project =
    new Project("MyProduct",
        new Dir(@"%ProgramFiles%\My Company\My Product",
            new File(@"Files\Bin\MyApp.exe"),
            new Dir(@"Docs\Manual",
                new File(@"Files\Docs\Manual.txt") { NeverOverwrite = true })),
        new Binary(new Id("mycert"), @"Files\mycert.cer"),
        new Certificate("NameOfCert", StoreLocation.localMachine, StoreName.personal, 
                        "mycert"),
        new Certificate("NameOfCert2", StoreLocation.currentUser, StoreName.personal, 
                       @"Path\to\cert\directory", authorityRequest:false));
  • Added FeatureCondition. I the condition evaluates to true the level of the parent feature is updated to the level value of the FeatureCondition
featureB.Condition = new FeatureCondition("PROP1 = 1", level: 1); 
  • Added Project.DefaultFeature for accessing/overwriting the auto-generated "Complete" Feature. Now all items without associated Feature are automatically placed in "Complete".
  • Added support for custom "CustomAction.config" via Project.CAConfigFile
  • Updated Bundled WiX Toolset v3.9 R2 is v3.9.1208.0.
  • Added Project.SetVersionFrom for setting the Project version from the file version of an external file.
  • Adding BinaryFileAction for simple execution of embedded executables
new Binary(new Id("EchoBin"), @"Files\Echo.exe"), 
...
new BinaryFileAction("EchoBin", "/i", 
                                Return.check, 
                                When.After, 
                                Step.InstallFinalize, 
                                Condition.NOT_Installed),
  • All obsolete API is configured to trigger compile errors.
  • Assorted Fixes
    • Issue#39 Empty Feature causes a error
    • Issue#40: Error building ManagedCA
    • Issue#41: WindowsService - define specific account
    • Issue#42: EnvVariarbles sample errors during build/execution
    • Issue#47: Support WiX 3.9 (addded probing of WiX installed as WiX Toolset v3*)
    • Issue#48: An unhandled exception of type 'System.Exception' occurred in WixSharp.dll

Reviews for this release