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.

    2009/11/10

    How to Integrate InstallBuilder with Apache Ant and Apache Maven

    Apache Ant and Apache Maven are two of the most popular tools for building projects. This article explains how to integrate InstallBuilder with these two tools.

    If you use Apache Ant for building your projects, you can include the following section for building your binary installer.

    2009/10/20

    InstallBuilder Action Lists

    Creating an installer is not as straightforward as most people think. This is especially the case for more sophisticated configurations, such as when you need to execute different platform-specific actions at different stages of the installation process. You may need to check a registry value, create a configuration file, execute a particular command, make substitutions in text files or even connect to an external server via a HTTP POST request. BitRock InstallBuilder includes a number of useful built-in actions to facilitate adding complex functionality to your installer. Actions can be accessed by editing the XML project file directly or in the 'Advanced' section of the InstallBuilder GUI.

    InstallBuilder actions are organized in what are called action lists, which are executed at specific points of the installation process. It is important to understand how and when each action must be performed, what differences exist between action lists inside components and within the primary installer, how the installer will behave when you run it in different installation modes (GUI, text, or unattended) and what happens when you generate rpm or deb packages.

    2009/10/13

    Unattended Mode

    As you may know, installers generated with InstallBuilder provide different execution modes using the command line option "--mode". The mode "unattended" is particularly useful when we need to incorporate installations into an automated process. With this mode, the installer will not prompt the user for any information and will instead take the default settings configured for each of the parameters. That way, it is possible to incorporate the installer execution into scripts since no input is required from the user during the installation.

    Note that you are not forced to use only the default values when running the installer in this mode. You can also define the values through command line switches which are generated for each parameter definition inside the InstallBuilder project. If we want to use specific values, we should run the installation as follows: