2016/11/28

Now Available: InstallBuilder's November Release with Built-In DMG Signing

November's update to InstallBuilder adds built-in support for DMG signing and fixes a bug for non-Qt-based installers.

DMG signing is an important feature of macOS Sierra 10.12.0 and later, which ensures that unwanted code is not added to disk images that contain signed applications.

Before DMG signing, developers could add unsigned code like scripts or dynamic libraries to the disk image file that would run alongside the signed application using relative paths. Depending on how the app loads this extra content at runtime, other developers could potentially "repackage" the application in a different DMG file that adds unwanted code.

Apple has dealt with this problem by using Gatekeeper path randomization, which copies any application with an unsigned DMG file to a random file system location before executing it. This prevents any code in the image from using relative paths to access unwanted content outside the application bundle. Using a signed DMG file bypasses the Gatekeeper, since the image file itself is trusted in that case.

To read more about DMG signing from Apple, see their documentation on the topic. To learn more about signing installers in InstallBuilder, check our documentation or community pages.

In addition to built-in DMG signing, we also fixed some alignment issues in <choiceParametersGroup> for non-Qt based installers. To learn more about this parameter group, take a look at our documentation.

As always, make sure you are providing the best, most secure experience possible for your users by updating to the latest version of InstallBuilder or InstallBuilder for Qt today!

2016/10/27

Check Out Our Improved Support System and Monthly InstallBuilder Version Update

We have been doing a lot of planning to make InstallBuilder even better over the next few months. One thing we identified that would make a difference right away is improving our help desk system. We are happy to announce that, along with our newest monthly InstallBuilder release, we have deployed a new helpdesk system powered by Zendesk that will significantly enhance the user support experience.

With the new system, InstallBuilder customers have an easier path to opening support tickets and keeping them up-to-date. You can now easily comment on or update tickets through both the Zendesk portal and through email. This new system also makes attaching files and screenshots very intuitive- you can attach them to your email or upload them through the portal to have them added to your ticket.

We are excited that this investment in our support infrastructure will make your interactions with our team even more streamlined and efficient than ever!


Tell us what you think
You can continue using the support[at]bitrock.com email address to reach our dedicated support team. An email to that address will automatically generate a new ticket. You might notice slight changes to the look of our support emails, which are a result of the improved system.

If you have already emailed our support, you already have an account- simply navigate to the login screen at support.bitrock.com and click "Get a password."

Have you tried out the new system? We would love to hear from you - feel free to comment on this post or email our support team with your feedback.

New in InstallBuilder Version 16.10.0
This month's release is focused on bug-fixes and a workaround to proactively secure an uncommon DLL-hijacking vulnerability in the Windows operating system. This vulnerability is only secured in installers packaged with the latest version of InstallBuilder, so make sure you are up to date!

Other improvements in InstallBuilder 16.10.0 include the following:
  • Fixed issue when centering a non-progress dialog windows in Win32, XWindow and OSX modes
  • Fixed <licenseParameter> when used inside a <parameterGroup> in Qt mode
  • Improved log file localisation on Windows
Are you using the latest version of InstallBuilder? Check our downloads page and make sure you are building the most secure, full-featured installers possible!

2016/10/06

Now Available: InstallBuilder 16.9.0

Our latest monthly build of InstallBuilder has been released! For September, the InstallBuilder engineering team focused on improving to the look and feel of the application user interface and fixing a couple minor bugs. As always, be sure and get the latest version of InstallBuilder or InstallBuilder for QT to ensure that you can take advantage of these improvements.

Here is a summary of the changes made for September:
  • Improved the UI responsiveness when running long action lists
  • Improved uninstaller creation process, preventing error messages in Windows when users attempt to cancel installation while the uninstaller setup is in progress
  • Fixed pop-ups centering when running in multi-monitor setups
  • Fixed <addScheduledTask> action not properly interpreting the <executionTimeLimit> attribute
  • Fixed issue in macOS with AutoUpdate temporary download naming dropping the .app suffix
New to InstallBuilder? Learn more about what makes this cross-platform installation tool unique, and check out our detailed documentation!

2016/08/31

New InstallBuilder Version 16.8.0 Released

BitRock's engineering team has just released the latest monthly update to InstallBuilder, Version 16.8.0!

Beginning with OS X version 10.8, Apple made it mandatory that your Mac installers be signed using a valid signing certificate. InstallBuilder makes it easy to integrate your certificate into the build process for both new and existing installers. This feature just got better, with support for PKCS12 files with the osxsigner tool for existing installers. To use this feature, simply execute the following:

/path/to/your/IB/installation/tools/code-signing/osxsigner --pkcs12 /path/to/your/pkcs12.file /path/to/your/installer.app

Other improvements for version 16.8.0 include the following bugfixes:

Download the latest version of InstallBuilder and get started today!

2016/07/22

InstallBuilder 16.7.0 now available

Our latest version update for InstallBuilder is now available. For those of you wanting support for Mac OS X 10.12 (Sierra), we have good news- it is now supported!

In this update, we also improved detection of existing .NET installations, to include .NET framework 4.6. When your application is being installed, you can have it automatically create variables that correspond to the correct version. For example, if you wanted to check for .NET framework versions 2.0 to 4.6, you could use the <autodetectDotNetFramework> action:

<autodetectDotNetFramework>
   <validDotNetVersionList>
       <validDotNetVersion>
           <maxVersion>4.6</maxVersion>
           <minVersion>3.0</minVersion>
       </validDotNetVersion>
   </validDotNetVersionList>
</autodetectDotNetFramework>

This version also includes the following bug fixes:

2016/07/01

InstallBuilder 16.6.0 Released

We recently released version 16.6.0 of BitRock InstallBuilder. The new release features the following improvements:
  • Improved Windows signing methods to allow nesting multiple signatures
  • Improved final page check boxes by making their labels clickable
  • Improved error reporting when failing to pack non readable files
  • Fixed build error on Windows if any of the version components include a leading 0 followed by another digit
  • Fixed some strings not being localized in the Autoupdate
  • Fixed folder ownership issue in certain scenarios
  • Fixed dialogs not being shown in unattended graphical mode when using 32bit installer on 64 Linux systems
  • Fixed Java launchers failing to print to console in certain Windows environments

2016/05/05

InstallBuilder 16.4.0 Released

We are excited to announce the release of the latest version of InstallBuilder, available now! In addition to a couple bug fixes, this version includes a new feature to make an initial system validation before starting the auto-update process.

To use this feature, we added a new <autoUpdateInitializationActionList> element that can perform a desired action once an update installer has started. Here's an example:


<autoUpdateInitializationActionList>
  <throwError>
    <text>Another instance is running. This instance will abort</text>
    <ruleList>
      <singleInstanceCheck logic="is_running" />
    </ruleList>
  </throwError>

</autoUpdateInitializationActionList>


In this example, the element checks whether another instance is running using the <singleInstanceCheck> rule and throws an error if it finds one. You can use this element for any number of actions you want to run during the auto-update process.

Here are the other changes for this new version:
  • Fixed <runProgram> failing in some Windows scenarios at build time when invoked from builder-cli
  • Fixed OK button not being properly localized in <showChoiceQuestion> dialog when running in gtk mode
  • Properly set a default value for the <units> property of the <getDiskUsage> action
Interested in trying InstallBuilder? Download it now and you can get started packaging your software in minutes!

2016/04/04

InstallBuilder 16.3.0 Released.

We recently released version 16.3.0 of BitRock InstallBuilder. This version is primarily focused on bug-fixes and enhancements to existing features. However, there is one new time-saving addition that we are excited to announce!

Users are now able to query WMI natively within InstallBuilder. Here's an example of how that works:

///EXAMPLES
.List all Windows processes that have MyApp in the executable path using WMI
[source,xml]
-----------------------------------------------------------
<actionGroup>
    <actionList>
        <queryWMI>
            <class>Win32_Process</class>
            <variable>result</variable>
            <fields>ProcessId;ExecutablePath</fields>
            <where>ExecutablePath LIKE '%MyApp%'</where>
        </queryWMI>
        <foreach>
            <values>${result}</values>
            <variables>result_pid result_path</variables>
            <actionList>
                <logMessage>
                    <text>Found process: ${result_path} as ${result_pid}</text>
                </logMessage>
            </actionList>
        </foreach>
    </actionList>
</actionGroup>
-----------------------------------------------------------

This will allow multiple services with the same base name to be created in cases, for example, when multiple applications are based on the same framework that runs as a service. If you have any feedback or questions on this new feature, please feel free to let us know in our forums.

The new release also features the following improvements:
  • New <osxApplicationBundleName> and <osxApplicationBundleVersion> properties for Java launchers
  • Improved <infoParameter> look and feel when used inside a <parameterGroup> in Qt mode
  • Improved performance of uninstallation and unpacking process in upgrade mode
  • Options files are now also picked up from the same directory containing the .app bundle on OS X
  • Fixed icons not working properly for CLI-based Java launcher on Windows
  • Fixed <launchBrowser> not properly working on some Windows environments
  • Fixed builder recent files not correctly saved with paths including non-ascii symbols

2016/02/01

InstallBuilder 16.1.0 Released.

We recently released version 16.1.0 of BitRock InstallBuilder. The new release features the following improvements:
  • Improved LZMA/LZHAM ultra compression settings in CD-ROM mode
  • Improved Windows icons handling to support arbitrary sizes
  • Fixed AutoUpdate not properly exiting after launching updates in unattended mode
  • Improved <getProcessUsingPort> action
  • New <osxDmgTitle> project property
  • Added new options 'nativeAbsolutize' and 'nativize' to <pathManipulation> action
  • Make Action Groups show their <explanation> in the builder GUI tree if non empty
  • New project property <windowsDPIAware> to allow configuring the dpiAware Windows executable manifest setting
  • POTENTIAL INCOMPATIBILITY: Disabled UPX compression by default on Windows
  • Updated documentation
  • Made <runAsShell> a Linux-only property
  • Fixed <unpackFile> action not properly working on CD-ROM mode
  • Fixed HTML widgets not properly handling mouse clicks on non-qt modes