What's New in AppLife Update

New Features in AppLife Update Version 5.2

  • AppLife Server 1.1 Support - Supports session-scoped publishing, including selecting from available Server Access Control Lists to govern access to newly published updates.
  • New Install .Net 4.6 Action - Deploy the .Net 4.6 framework during your next application update.
  • Improved Change Xml Node Action - The action can now insert Xml Snippet replacements (Inner Xml) as well as text replacement (Inner Text).

New Features in AppLife Update Version 5.1

  • Improved the Run Sql Query Action - Parses in-line queries on GO statements during update execution. Previously GO statements were only parsed during update builds.
  • Improved pre/post build variable definitions
  • New Set Shared Property action options - New options include Application Name, Number (double), and Update publish date and time.
  • Execute MSI Action - Added a Display Property to customize what the user reads as the msi is executed.
  • System Tray Notification Control - Corrected a display issue that would leave orphaned icons in the System Tray.
  • API Access to Update Summary Text Translations - Translated summary text are displayed based on the clients system locale. For customized display, API access to all avaialble summary text translations are now available.

New Features in AppLife Update V5.0

  • AppLife Server Support - The Update Controller and Make Update tooling supports publishing to and retrieving updates from the new AppLife Server platform.
  • New Check File Exists Update Action - This new action checks for the existence of a specified file on the deployed client and sets a Shared Property to use the result.
  • New Update Display Version Update Action - This new action updates the version of the designated application that is displayed in the Windows Control Panel list of installed applications.
  • New Install .Net Framework 4.5 Update Action - This new action checks for the presence of the .Net Framework 4.5, and if not present, installs the framework.
  • New Read File/Assembly Version Update Action - This new action reads the file or assembly version number of a specified file on the deployed client and sets a Shared Property with the result.
  • Support the use of dependency assemblies with IUpdateUI Implementations - Customized Update Engine user interfaces that implement IUpdateUI can now use dependency assemblies. These dependencies can be packaged into built updates.
  • Improved HTML Update Summaries - Add links and images to HTML update summaries. Improved round-trip HTML editing.
  • Enable Cached Update Checking - Update packages are cached locally as they are downloaded. Previously, an active network connection was still required to check for updates before applying an update, even if the update package itself was previously downloaded. Now, the update check can be performed while offline as well by enabling cached update checking.
  • API Extension to Save Downloaded Update Packages locally - Downloaded update packages and the Director.Xml file can be saved locally throught he Update Controller API.


New Features in AppLife Update V4.5

  • Multiple Action Lists - Segment your update action lists into independent, callable action lists. This new feature will not only help organize more complicated updates, but enable performing recursive and looping update activities.
  • Action List Undo/Redo - The Make Update application now supports undoing and redoing user interactions while creating your update action lists.
  • New SQL Server Specific Actions - New SQL Server specific actions supports both transacted and non-transacted database work. Open SQL Connections for exclusive access, Backup your database, Begin and Commit SQL transactions, Run GO separated sql files and queries, and Close your connection using new built-in update actions.
  • Use Rich Text for Update Summaries - Write update summary text using rich text. All built-in user interfaces support displaying rich text, and the Update Controller API exposes rich text to your application as HTML.
  • Pre/Post Build Batch Scripting - Move/Copy files and take other actions before and after an update is built. Pre and post build scripts add additional automation options and improve the ease with which update creation can be integrated into automatic and continuous build processes.
  • Improved File Comparison Actions - Improved filtering provides the ability to skip individual subfolders from comparison consideration. Additionally, files that are present in the baseline folder but removed in the current folder can now be optionally deleted from deployed clients during update execution.
  • Improved Patch Folder Comparison - The same improvements made on the Add and Replace files by Comparison action is also present in the Patch Folder action.
  • Automatic Selection of Last Update Version as New Update Target - Automatically detect the version number of the last published update, then use that version number as the target version for new updates, simplifying patch-style update builds.
  • Add Attributes to a New Xml Element - When creating a new XML Element within an existing XML file during an update, you can now specify a collection of attributes that will be added to the new XML Element.
  • Manage Multiple Selected Updates Simultaneously - When managing updates published to an update location, you can now select multiple published updates and perform actions on all selected updates.
  • Identify the Architecture of Client Operating System - When executing an update, it is often necessary to identify whether the client is running a 32 or 64 bit operating system. The Set Shared Property action now provides this ability.
  • Delete Files Action Supports Wildcards - You can now delete files based on * and ? wildcard characters, simplifying the removal of blocks of files during an update.
  • Force 32 bit Assembly Registration - When registering .Net assemblies for COM registration during an update you can now force 32 bit registration when updating 64 bit operating systems.
  • Prepare a New Publish Folder without Publishing an Update - Creating and testing a new update folder from the AppLife Update application now prepares the folder for use. Checking the new location for updates from your application will find no updates available. In previous versions, the folder was not prepared for use until an update was actually published.
  • Override Permissions Elevation Settings - The permissions elevations settings set in application code can be overridden for individual updates.
  • Publish Updates to a Location Specified by a UNC Path Relative to your Project File - Locations specified relative to the .aup project file can now be targeted to publish updates.
  • New Tester Property on the Update Controller - In addition to the app.config setting, clients can now be identified as able to detect updates marked for "test only" through code by using an update controller property.


New Features in AppLife Update Version 4.0

  • Improved Update Publishing and Management
    Publish to multiple update locations from your AppLife Update project, manage and compare update locations, move updates between locations, and more. Each configured update location can be managed and maintained independently. This is a significant shift from the behaviors of previous AppLife Update versions. Information about previous updates is no longer maintained within the AppLife Update project. Instead, this information is retrieved from each update location individually.
  • New Visual Controls for More Options in Update Process Integration
    AppLife Update 4.0 comes with four new visual Windows Forms controls that you can use to quickly and easily implement automatic updating in your applications. Choose from an in-line style, system tray style, or details panel style updating experience. All of the controls use background update downloading so users have a simple, unobtrusive update experience. These controls can be dropped in and configured in an instant, and with optional settings such as static text and image replacements, automatic fade and repeated update checking, you can tune the behavior just the way you want. These controls are available with a limited license, providing UI flexibility not previously available with a limited license.
  • New WPF Update Controls
    New WPF controls that provide drop-in automatic update integration. These controls provide the same property-based customizations as the new Windows Forms controls, but being true WPF look-less controls, can be re-templated to match your application.
  • Improved Visual Studio Design Time Support
    Integrating AppLife Update into your new applications has never been easier. With new design-time support, you can set up a new project from Visual Studio and be publishing updates in seconds!
  • Automatic Update Chaining
    Updates that target intermediate versions can now be downloaded and applied in a single update process, improving the update experience for infrequent application users.
  • Install the .Net Framework 4.0 during an Update
    With the new Install .NET 4.0 update action, you can easily migrate your current application to the newest Microsoft .Net framework. This action checks for the presence of the .NET 4.0 framework, then installs the framework if necessary. The action can be configured to include the framework in your update, download it from Microsoft, or download it from a location on your internal network.
  • Patch Folder Contents for Smaller Updates
    The new Patch Folder update action processes and compares an entire folder’s contents with that of a baseline and creates patches for files with differences between the target and baseline. Using patching technology, updates can be significantly smaller than using the file actions that replace entire files.
  • Improved AppLife Make Update User Interface
    The Make Update application user interface has been redesigned to improve usability. A new build and publish update wizard, new project configuration window, and new update location management dialogs help you more intuitively accomplish your goals with AppLife Update.
  • Update Log Viewer Utility
    The new update log viewer makes it easy to troubleshoot updates. With an automatic listing of log files and filters to quickly drill down into specific update stages, actions, and errors, the log viewer will quickly let you verify your updates are performing as expected and help identify the issue when an update fails.
  • Windows Update Service Utility
    The new Windows update service utility helps in developing updates that utilize the AppLife Update windows service for permissions elevation. While in application development, you can easily register your applications with the service for testing updates.
  • Full .Net Framework 4.0 Support
    The Microsoft .NET 4.0 framework installs side-by-side with previous versions of the framework. AppLife Update already supported updating deployed clients running the .NET Framework 2.0 and higher. Now all aspects of the AppLife Update solution provide full .NET 4.0 support. Specifically, Dynamic Code actions can now target the .NET 4.0 Framework, and the AppLife Update tools can operate on any system with the .NET 2.0 and/or .NET 4.0 Framework installed.


New Features in Applife Update Version 3.2

  • .Net Framework 4.0 Support
    The AppLife Update Controller, Update Engine, and Windows Service now fully support the Microsoft .Net 4.0 Framework. Applications that target the 4.0 Framework can integrate AppLife Update and successfully discover and apply updates from deployed systems with only the .Net 4.0 Framework or the .Net 4.0 Client Profile installed. Note: The AppLife Make Update application and build tools still require the .Net 2.0 Framework to be present on update build machines.
  • Visual Studio 2010 Support
    The AppLife Update Controller and designers are now fully compatible with Microsoft Visual Studio 2010.
  • Prevent System Shutdown during Update Execution
    If a system shutdown or restart is initiated during the execution of an update, the AppLife Update engine will cause a prompt to confirm shutdown.


New Features in Applife Update Version 3.1

  • Action Base Path property
    The Action Base Path provides the ability to dynamically set the root path for relative file paths used in action configurations on the build system. The Action Base Path can be set within Make Update, or through a command line parameter of the command line build utility.
  • Include subdirectories using the Masked Add & Replace files action
    The Masked Add & Replace files action supports including subdirectories. When selected, internal subdirectories are recursed and added to the update package. When the action executes on deployed clients, subdirectories are created if they do not already exist.
  • Relative file path support for Custom Action assemblies
    Custom action assemblies referenced below the .aup project in directory hierarchy are linked relative to the .aup project file.
  • Refresh the files list on the Add & Replace files action editor
    The file list status on the Add & Replace files action editor can be refreshed.
  • Copy previous update actions to the clipboard
    Actions used in previously built updates can be copied to the clipboard and pasted into a new action list. The action configuration settings included in a built update are included. Note: Some action configuration properties are not included in a built update and cannot be restored.
  • Ignore a failure on the Execute MSI Action
    The Execute MSI action can be configured to ignore a failure, allowing the update to continue.


New Features in Applife Update Version 3.0

  • Create Custom Update Activity using Dynamic Code Actions
    The new Dynamic Action allows you to define customized update activity using C# or Vb.Net directly within AppLife Make Update. This action exposes the functionality of Custom Actions without requiring you to create and maintain your own custom action assemblies. Dynamic Actions can create and manipulate the Shared Properties collection, and combined with the Action Conditional Expressions, provides significant flexibility in update action execution control.
  • Add Expressions to Conditionally Perform Update Actions
    Each action in an update list now supports a conditional expression. The expression is evaluated during update execution and the action is skipped if the expression evaluates to false. Conditional expressions supports the use of Shared Properties, which can be defined and set from the host application, from registry and Xml actions, and from dynamic code actions.
  • Define Shared Property Values from Within the Host Application
    Shared Properties can now be defined within the host application and passed into the update process as the update is applied. This allows client-specific information to be passed into the update process and used to control the behaviors of update actions. Shared Properties can be used as part of update action conditional expressions as well as within dynamic actions and custom actions.
  • Replace the Update Engine User Interface with your own Customized User Interface
    The Update Engine User Interface that is shown as an update is being executed is now completely customizable. With this new customization option, the entire visual aspect of your software update process is 100% customizable and can be made to match your application visuals.
  • New Patch File Action
    The new Patch Existing File action allows for comparing the current version of a file with a previous existing version and generating a delta file as an update is being created. The delta file is then packaged in the update and used along with the existing file to create the newer file version on deployed systems. This action utilizes the Microsoft Delta Compression API to generate the patch file, and re-create the new file starting from the existing file.
  • Execute Simultaneous Updates
    The update launcher extraction process now supports the execution of multiple update engines at the same time, allowing for simultaneous update execution.
  • Xml Actions Now Support Namespaces
    The Xml Actions now support XPath namespace mapping, providing the means to read/modify Xml documents that utilize namespaces.
  • Re-engineered Update Controller IPC Functionality
    The Update Controller Inter-Process communications behavior has been improved to handle more updating scenarios. Notable new features include:
    • Identify the process that initiated the update from processes that didn't
    • Identify the physical location of the initiating process assembly. This allows for ignoring the update process of a side-by-side installation.
    • Cancel the update process from non-initiating processes.
    • Ignore the update process from non-initiating processes.
    • Pass custom data from the initiating instance to all other listening instances.
    • Communicate between Windows Service Processes and User Station Processes.
    The new Update Controller IPC provides much more flexibility and expands the possible usage scenarios of the built-in IPC features in coordinating an update process between multiple processes.
  • Previously Cached Downloads are now recognized by the Update Controller
    A download method no longer needs to be called in order to discover and use a previously downloaded and cached update package.
  • Revamped AppLife Update Start Pane
    New AppLife Update related articles are made available to Make Update users through a new RSS Feed and displayed in the AppLife Make Update start pane.
  • New Quick Start Examples
    Three new quick start examples are available that demonstrate custom actions, updating WPF applications, and the use of common update actions.


What's New in V2.0:

  • Full Built-In UAC Support
    Configure the Update Controller to prompt for UAC elevation by setting a single property. Supports launcher code signing for proper publisher identification. Supports profile mapping to initiating user. Supports application restarting as the initiating user upon update completion.
  • Support for the .Net Framework 3.5 Client Profile
    Integrates into .Net applications that target the client profile.
  • Automatically Link the next Update Version
    Link the next build update version to the primary assembly version or file version.
  • Windows Installer Action
    Integrate msi execution into AppLife Update action list updates.
  • Replace Files On Restart Action
    Easily replace files that are in use at the next operating system restart.
  • Restart Operating System Action
    Restart the operating system after an update completes by adding this action to your action list.
  • Execute Command Line Action
    Execute command line commands during an action list update.
  • Add and Remove .Net Assemblies from the Global Assembly Cache
    New update actions that allow for adding and removing assemblies into the global assembly cache (GAC).
  • Compare Files with the Add & Replace Files by Comparison Action by File Content
    In addition to comparing folder content based on last modified time, files can now be compared and included if their content are not identical.
  • Preview Files to be Added by Comparison
    Preview the files that the Add & Replace files by comparison action determines should be included.
  • Extended Add & Replace Files Editor
    View file assembly and file versions. Set relative paths to files being added to updates.
  • Additional Environment Folders
    Additional environment folders are now in the list of folders that can be targeted for file placement.
  • Maintain Hidden and Read-Only Attributes
    Files added to updates with hidden and read-only attributes set will maintain attribute values when placed on the remote system.
  • Register .Net Assemblies for COM Interop
    Register .Net assemblies for COM interop during action list updates.
  • Summary Text Spell Checking
    The update summary text editor now spell checks English.
  • Renamed the AppLife Update Service Executable
    The AppLife Update Service exe is now more standardly named kjsausvc.exe
  • Comprehensive Logging of Update Engine Execution
    Action list update logs are now far more verbose and informative.
  • API Access to Update History and Log Files
    New Update Controller classes and methods allow for programatic access to update history and logged information.
  • Improved API Control of Updates
    Iterate available updates and set the next update directly through Update Controller properties(outside of the UpdateFound event handler).
  • Wait on Update Completion
    Applications that apply multiple updates without host application shutdown can now easily wait on the completion of an update before continuing code execution.
  • Serviced Update Logs are Available to Intitiating User
    Updates that are executed by the AppLife Update Windows Service are copied to the initiating users logging location.
  • API Access to Last Update Status
    The Update Controller now has properties that identify the results of the last update.
  • First Run Indication
    The Update Controller includes indication of the first time your applications are executed following an update.
  • Extract Update Contents
    The contents of built update packages can now be easily extracted from AppLife Make Update.
  • View the Update Build Output of Previous Updates
    From the previous updates list, review the that update's build output, identiifing the assembly and file versions included in each past update.
  • Prevent Compression Bloat
    Highly compressed files can result in a larger file after GZip comression. Compression bloat is now prevented.


New Features in AppLife Update V1.3x

  • Suppress Automatic Shutdown - A new ApplyUpdate option allows an update to be initiated without shutting down the hosting application.
  • Skip Actions during a Build - Skip actions during a build without removing the actions from the action list. You can include/exclude any action in the list.
  • Set More Shared Property Values - Use the Set Shared Property action to add common folder paths, the update version, or any text to the Shared Property collection, allowing the use of these values in other update actions.
  • Access Update Package Size (in bytes) - Access update package file size information immediately after checking for updates, and before downloading the update.
  • Add Default Network Credentials to the Auto Detected Proxy - Set a property on the Update Controller to add default credentials to the application scoped default web proxy.
  • Set a Preferred Download Path - Override the default client update package download folder and set it to a preferred download location.
  • Unlicensed Software Can Now Download Updates - The limitation preventing unlicensed AppLife Update software to detect and download updates has been removed.


What's new in V1.x:

  • Update Engine User Interface Options -Implementers of AppLife™ Update Action List projects now have more control over the display and behavior of the Update Engine User Interface. You can choose to perform an immediate restart without requiring user intervention, you can choose to restart the hosting application, or you can choose to silently update by not showing an update user interface at all.
  • SSL Download Support - Configure your application to check for and retrieve updates from SSL protected network locations. In addition, you can place updates in password secured network locations and configure your application to pass network credentials while checking for and retrieving updates.
  • Localized Built-In User Interface - The Update Controller and Update Engine are now localized to seven cultures. Provide update user interfaces for users in english, chinese, french, german, italian, japanese, and spanish. Perform the string translations and you can utilize the AppLife™ Update user interface in any language.
  • x64 Operating System Compatibility - Update your applications on both 32 and 64 bit Windows XP and Windows Vista. Explicitly target the 64 bit Registry and File System, as well as register 32 and 64 bit COM components.
  • New Database Actions - Update client side databases during your updates. New provider-independent database actions allow you to easily perform transacted database work during updates. New actions include Begin Database Transaction, Commit Database Transaction, Transacted Database Query, Transacted Stored Procedure
  • Expansion Variables - Share information between actions with Shared Property expansion variables. New actions designed to set Shared Property variables can be used to read configuration information from xml files, registry keys, and databases. With expansion variables, custom actions are not needed as often. Expansion variables also allow interaction between custom actions and built-in actions.
  • Added Command Line Utility features - This feature allows for automating the switch between limited and normal availability of published updates.