2010/12/17

InstallBuilder 7 is Now Available!

We're very excited to announce the release of InstallBuilder 7, which provides new features for Java-based applications, expanded documentation, an enhanced GUI and better compression ratios, among other improvements. To check out all of this new functionality, download InstallBuilder 7 from our website.

The new functionality for packaging Java applications includes the ability to bundle a JRE and create launcher binaries for Microsoft Windows, Mac OS X, Linux and Solaris platforms. All you need to do is provide the application name, select the JARs to be included in the installer and specify the JAR to use to run the application. More details are available in our expanded User Guide.

We have also greatly improved the compression mechanisms in InstallBuilder. It now provides much better compression ratios for both ZIP and LZMA without slowing down the installers. It also automatically detects duplicated files or parts of files and does not store duplicated data. We used this on our BitNami Stack installers for popular open source applications and their sizes were reduced by 30%!

InstallBuilder 7 also introduces multiple improvements in the GUI build environment. We have introduced a variable selector feature that allows you to browse all of the available variables and insert a variable into any field in the GUI. This can speed installer development for both novices and experienced users of InstallBuilder by making it easier to find the right variable for any task you're trying to accomplish. It is also aware of project and component-specific parameters!

Variable Search and Selection

Another GUI improvement in InstallBuilder 7 is the addition of an XML editor. This makes it easier for advanced users use both the GUI and edit the XML and switch back and forth between the two. The editor features syntax highlighing and applies changes instantly to the edited project. It also offers instant validation which detects incorrect XML and field names. The variable selector can be also from the XML view to insert variable references.

XML Editor

In addition, InstallBuilder 7 allows you to create custom actions that use other rules and actions - either built-in or custom. This allows grouping repeated operations and invoking them just like any other built-in actions! More information about custom actions can be found in our expanded User Guide.

Please visit http://installbuilder.bitrock.com to download or to view our changelog.

2010/11/08

InstallBuilder 6.5.6 Released!

We recently released version 6.5.6 of BitRock InstallBuilder. The new release features the following improvements:
  • Improve administrator user check in Solaris platform
  • Added Xft font support in Solaris
  • Added <windowsAccountTest> rule
  • Fixed dialog buttons not being localized in qt mode
  • <autodetectDotNetFramework> is now accessible through the GUI
  • Allow created OS X environment variables to be accessible from GUI applications
  • Fixed Autoupdate tool not properly launching the downloaded installers in some OS X scenarios
  • Fixed key bindings not properly working on xwindow, osx and win32 modes when selecting some languages
  • java_autodetected and dotnet_autodetected are now set to 0 if the detection fails
  • Fixed UI becoming not responsive when using <unpackDirectory> to unpack big directories
  • Fixed <choiceParameter> not properly representing its value in some UI modes when using variables
  • Support zh_HK as valid language code
  • Fixed errors when trying to overwrite hidden files on Windows
  • Now in_empty and is_not_empty rules conditions in <fileTest> rule now take into account hidden files

Visit installbuilder.bitrock.com to download or to view our changelog.

2010/10/06

InstallBuilder 6.5.5 Released - View XML Elements via the GUI interface

We just released version 6.5.5 of BitRock InstallBuilder. The new release enables the viewing of XML elements via the GUI interface, which makes it easier to develop software installers with InstallBuilder. It also includes the following improvements:
  • New <registryFind> action
  • New options is_type and is_not_type to registryTest rule
  • Implemented new <osxApplicationBundleIcon> project property to configure the icon on OS X
  • Added Java Web Start binary to the list of autodetected targets in <autodetectJava> action
  • Upgrade Autoupdate tool to support high color depth icons
  • Fixed <compareText> description in the GUI
  • Fixed Chinese and Brazillian language autodetection on Unix
  • Improved page wrapping in Gtk custom style
  • Fixed Suse version autodetection failing in some environments

Visit installbuilder.bitrock.com to download or to view our changelog.

2010/09/20

InstallBuilder 6.5.4 Released!

We just released version 6.5.4 of BitRock InstallBuilder. The new release features the following improvements:
  • Implemented drag and drop of nodes in the GUI builder
  • Make folders' <actionList> accessible through the GUI
  • Added OS X service manipulation actions <createOSXService>, <deleteOSXService>, <startOSXService> and <stopOSXService>
  • Added <osxServiceTest> rule to check OS X services state
  • Fixed XML load errors displaying an incorrect line number in some unicode files
  • Implemented new <xmlFileCommentElement> action
  • Improved language autodetection in OS X
  • Added <ordering> tag in <choiceParameter> to specify the display order of the elements
  • Added is_windows_admin_account, is_windows_user_account, is_windows_guest_account to <userTest> rule
  • Properly wrap <booleanParameter> descriptions when used inside a <parameterGroup> on xwindow, win32 and osx modes
  • Improved error when loading an incorrect project to display line number and file
  • Wrap all text mode pages
  • Allow resolving environment variables with parentheses
  • Make <zip> action recursive
  • Fixed InstallBuilder RELAX NG schema
  • Improved keyboard navigation on xwindow mode
  • Fixed incorrect font used in Chinese and Korean languages on Windows
  • Fixed <showQuestionString> failing on OS X
  • Make sure all actions defining variables resolve variables in the variable name
  • Fixed deb/rpm helper binaries permissions
  • Fixed <iniFileGet> action requiring write permissions over the target .ini file
  • Properly handled errors retrieving available disk space
  • Clean unnecessary helper binaries when upgrading Debian packages
  • Added monthly date type in <addScheduledTask> action
  • Make Autoupdate tool to also look for the license in user directory on Windows

Visit installbuilder.bitrock.com to download or to view our changelog.

2010/08/25

InstallBuilder 6.5.3 Released - Adds Korean Language Support

We just released version 6.5.3 of InstallBuilder, which includes the following improvements:

  • Added Korean language support.
  • Changed icon resolution limitations on Windows. Now, any resolution is accepted.
  • Fixed issue with OS X installers failing when requiring Administrative privileges and containing invalid characters in its <fullName>.
  • Make keyboard focus visible in xwindow mode.
  • Fixed issue with uninstaller not being created in some scenarios when launched with a symbolic link. 
  • Added support for symbolic links in unzip action.
  • Allow component names to contain underscores.
  • Fixed issue with integer validation failing when dealing with large integers.
  • Allow <permissions> tag in <changePermissions> action to contain variables. 
This new release is now available on our website for download

2010/08/23

Calling All Qt Developers - Join us at Developer Days 2010!


We're excited to be sponsoring Qt Developer Days 2010 as an exhibitor again this year. If you develop with or would like to learn about developing with the Qt crossplatform development toolkit, we highly suggest you attend. Past events have been packed with tutorials, hands-on labs and presentations on how to use Qt and Qt Creator to reach millions of users on Symbian, Meego and all major desktop platforms.

There are two separate events - one in Munich from October 11th - 13th and another in San Francisco from November 1st - 3rd, to make attending more convenient. Space is limited, so register now to make sure you get to attend!

2010/08/05

InstallBuilder 6.5 Now Available

We have been hard at work on InstallBuilder and we're happy to announce that InstallBuilder 6.5.0 is now available. This release includes a long list of improvements, such as:

  • New <consoleWrite> action
  • New mechanism to escape variable references
  • Allow configuring Autoupdate tool proxy through the configuration file
  • New <antivirusTest> and <firewallTest>
  • Added --help menu to the builder
  • Added --license command line flag to the builder to provide an alternative license file
  • Added --debugtrace command line flag to the builder
  • Added --project command line flag to specify a project to load in the GUI builder
  • Improved unattendedModeUI mode to support gtk and qt mode
  • Added <delay> tag to <stopWindowsService> action
  • New windows-x86 platform type check added to <platformTest> rule
  • Fixed refresh issue that affected download rate in Autoupdate Tool, especially on OS X
  • New <runAsAdmin> tag added to shortcuts to mark Windows shortcuts to run as Administrator
  • Improved validation of boolean and integer type settings
To check out all of the new features, download InstallBuilder 6.5 or visit our changelog.

2010/06/14

InstallBuilder 6.4 Released!

We just released version 6.4.0 of BitRock InstallBuilder. The new release features the following improvements:

  • Added support for nested variables
  • Now all variable references are case insensitive
  • New <createShortcuts> action
  • Prevent GUI builder from accepting incorrect values in its dialogs
  • Added new <while> and <break> actions
  • New <autodetectDotNetFramework> action
  • New <locate> action
  • Added new <zip> action
  • Added matchHiddenFiles flag to <touchFile>, <copyFile> and <deleteFile> actions
  • Added OS X support for user and group manipulation actions
  • Added new built-in variable windows_os_flavor
  • Allow <foreach> and <if> actions to be accessed through the GUI
  • Fixed Qt installer abnormaly resizing in "custom" mode
  • Fixed patterns in folders' inclusion filters not resolved when using backslashes
  • Allow <showProgressDialog> to display a download progress bar when containing a single <httpGet> child action
  • Normalize all relative paths to reference project directory in Autoupdate tool
  • New validation of duplicated project tags
  • Disabled RPM registration in platforms with non-native RPM support
  • Increase size of builder project properties dialog
  • Allow empty user and password to be provided in <addScheduledTask> action
  • New <runOnlyIfLoggedOn> tag in <addScheduledTask> action
  • Disable language selection dialog when a value is provided through command line
  • Allow InstallBuilder license to be saved to and loaded from user personal directory on Windows
  • Added Japanese string for Installer.DirectorySelection built-in string
  • Fixed glitch in button states after installation page
  • Allow task name with spaces in <addScheduledTask> action
Visit installbuilder.bitrock.com to download or to view our changelog.

2010/05/06

InstallBuilder 6.3.1 released!

We recently released version 6.3.1 of InstallBuilder, which includes the following improvements:
  • New <sha1> action
  • New <md4> action
  • New <addDirectoriesToUninstaller> action
  • Added <password> tag to <addUser> action
  • Improved <httpProxyInit> to autodetect system proxy settings
  • Improved RPM integration
  • Improved Qt look and feel on Windows and OS X
  • Validate user provided input for parameters while creating them.
  • Added Windows support for user and group manipulation actions
  • Fixed <registryDelete> failing to delete keys on Windows 64bit
  • Documented windows_os_service_pack
  • Prevent fileTest rule from failing when testing a non-existent link
  • Fixed autoupdate returning update available when check_for_updates was set to '0'
  • Fixed Windows 7 not being recognized when Windows 7 Logo Toolkit is installed
  • Fixed symbolic links not being properly packed when included as <distributionFile>
  • Fixed variables not being resolved in some Autoupdate project tags.
  • Fixed error parsing Autoupdate projects containing utf-8 BOM
  • Built-in registry keys are now created in the 64bit view when <windows64bitMode> is enabled
  • Fixed Windows 2008 autodetection failing in some environments

Visit installbuilder.bitrock.com to download or to view our changelog.

2010/04/21

We're Hiring!

BitRock is growing and we’re looking for smart, motivated and talented individuals to join our team! The position we’re currently working to fill is for a Stack Engineer. Our Stack Engineers work with clients throughout the world to deliver customized native installers, virtual machine images and cloud templates for their software. These are similar to the software stacks we build for the BitNami project. Stack Engineers also bring new BitNami Stacks to market and keep the current ones up to date. This position provides an excellent opportunity to work with technologies such as Ruby on Rails, PHP, Python, Apache, MySQL and many other Open Source projects across Windows, Linux, OS X and various cloud platforms such as Amazon, Rackspace, GoGrid and OpSource. If you are a distro packager or a sysadmin who likes to automate his or her work, you’ll love this job!

Qualified applicants must be fluent in a scripting language such as Ruby, Python or Tcl, and familiar with common Open Source development tools. Interaction with customers is mostly over email, so the ability to write fluently and communicate effectively in English is a must. A big chunk of the development team is in Spain, so a bit of ‘Spanglish’ would not hurt, either :)

If you’re local (or would like to live in) Seville, Spain, we have an office there ready and waiting for the right candidate. We also have several employees in other countries who work from home, so if you have a home office and are comfortable working remotely, we will be happy to consider your application. To apply, please send your CV along with a letter telling us a little about yourself and why you’d like to join our team to careers@bitrock.com.

2010/04/20

DevOps Meetup Tomorrow in Palo Alto

We're excited to announce the first San Francisco Bay Area DevOps Meetup, happening April 21st at The Old Pro in Palo Alto. If you're not familiar with the term DevOps, take a look at this article, which gives a great explanation.

This first meetup is all about getting to know and networking with your fellow DevOps enthusiasts. We'll be meeting at 7pm to drink beer, eat food, and talk DevOps. We're co-sponsoring the event with DTO Solutions and rPath to make sure there is some tasty food and beer to keep everyone fueled up. We hope you're able to join us!

2010/04/19

InstallBuilder 6.3 Released - Localization and Memory Improvements

We recently released version 6.3.0 of InstallBuilder, which includes a number of improvements, including the ability to include localized license agreements and set the default installation language based on the previous installation. We have also reduced the memory consumption when unpacking large single-file installers. Other InstallBuilder improvements include:

  • Multiple improvements to CD-ROM installers
  • Allow HTML license files in Qt mode
  • New installer_builder_version and installer_builder_timestamp built-in variables
  • New <httpProxyInit> action to configure proxy to use with http actions
  • New <xmlFileGet> and <xmlFileSet> actions
  • New <addScheduledTask> and <deleteScheduledTask> Windows actions
  • New .password suffix to mask passwords in log messages
  • Support for osx-intel and osx-pcc in platform test
  • Add support for FreeBSD 8
  • Improve the RPM removal process

Visit installbuilder.bitrock.com to download or to view our changelog.

2010/01/25

InstallBuilder 6.2.7 Released

We just released v6.2.7 of InstallBuilder which includes the following improvements:
  • New <useMSDOSPath> property in <runProgram> action to configure whether to use or not 8.3 format in the <program> path
  • Added encoding property in <addTextToFile> action and <fileContentTest> rule
  • New <unix2dos> action
  • Allow file type filters in <fileParameter> dialogs for xwindow, osx and win32 modes
  • Include InstallBuilder version by default in the generated installers version info
  • Fixed error with file selection crashing if third-party Explorer extensions change locale
  • Fixed unpacking error in some Windows environments due to antivirus software locking files
Check out our changelog and download the latest release to benefit from the new features and bug fixes.

    2010/01/04

    Handling Access Control List on Windows With BitRock InstallBuilder

    Access Control List (ACL) is the way in which Windows manages permissions on NTFS file systems.

    There are several command line tools on Windows for handling this: cacls, xcals, icacls. Unfortunately, these tools are not always present in a default Windows installation and depending on the Windows version, different tools may be required.

    BitRock InstallBuilder now provides you with <setWindowsACL> built-in actions. This powerful action for managing permissions allows you to modify ACL on Windows. It is based in the icacls windows tool (http://technet.microsoft.com/en-us/library/cc753525(WS.10).aspx).

    You can define the files you want to apply the permissions to. It allows you to specify if you want to "allow" or "deny" access. You can also match a list of users for which the permissions will be applied, and to specify any of the allowed permissions types.

    You can define the users either using names or SIDs. Please take into account that special users, like "Everyone" are localized so it is a good practice to use SIDs instead for these users. You can find a list of the well known SIDs in this article:

    http://support.microsoft.com/kb/243330

    The most common file permissions are also detailed below:

    http://msdn.microsoft.com/en-us/library/aa364399(VS.85).aspx


    http://support.microsoft.com/kb/243330

    Note that ACL are only supported on NFTS file systems.

    Example 1 - Basic:

    The following example will allow all users in the system to read, write and execute the files that match the pattern in <files>. For the directories that match that pattern, the users will be allowed to read the content and write new content in that directory.
    <setWindowsACL>
    <user>Everyone</users> 
    <permissions>file_read_data file_write_data file_execute</permissions>
    <files>c:\myfolder\*;c:\myfolder\*\*;c:\myfolder\*\*\*</files>
    <action>allow</action>
    </setWindowsACL>
    

    Example 2 – Inheritance:

    It is also possible to define the inheritance level:
    <setWindowsACL>
         <action>deny</action>
         <files>c:\some\folder</files>
         <permissions>file_read_data</permissions>
         <recurseContainers>0</recurseContainers>
         <recurseObjects>0</recurseObjects>
         <recurseOneLevelOnly>0</recurseOneLevelOnly>
         <self>1</self>
         <users>Everyone</users>
    </setWindowsACL>
    

    • <self> : determines if the objects specified in the <files> tag will be modified or just their children, if the recursion tags are enabled.
    • <recurseOneLevelOnly> : Only applies inheritance to the first level of hierarchy if one of the below are enabled.
    • <recurseObjects> : Applies inheritance to objects (files).
    • <recurseContainers> : Applies inheritance to containers (folders).


    Example 3 – Using InstallBuilder GUI:

    Of course this action is also available from the InstallBuilder GUI.



    How to use Custom Build Targets

    One of the most useful features of InstallBuilder is the ability to automate the build process. Installers can be built from a command line prompt such as:

    installbuilder-6.2.6/bin/builder build /path/to/project.xml linux

    The above describes the basic command line build process. You can also make changes to the project prior to the build process to adapt it to your needs using the --setvars flag.

    In most cases, this is used to modify project properties such as the <version>, the <fullName> or the <windowsExecutableIcon>:
    builder build project.xml --setvars version=1.2.3  project.fullName="New Installer Name"
    

    However, there is much more you can achieve using this functionality.