User's Guide - Introduction

Introduction

TrueUpdate is the finest toolkit available for adding a sophisticated software updating and patch management solution to both software products and network infrastructure. Whether you’re a software developer needing to add a "Check for Update" feature to your program, or you’re a network administrator wanting to automate the detection and application of system patches to hundreds or thousands of computer systems in your organization, TrueUpdate is an excellent solution.

In either case, the benefits include lower technical support costs, faster time-to-market, more frequent bug fixes, hassle-free security updates and quicker feature additions. Additionally, TrueUpdate was designed from the ground up to be flexible, easy to use, and easy to integrate. It’s a solution that can be implemented with a minimum of effort so you can realize positive returns as quickly as possible.

In TrueUpdate, we’ve improved the development environment to streamline your workflow and have introduced unprecedented flexibility with a brand-new scripting engine and action library. We’ve also introduced a customizable screen manager, support for secure data transfer, project themes (skins) and many other powerful and timesaving features.

What is TrueUpdate?

TrueUpdate is a comprehensive solution for software developers, network administrators and IT departments wanting to integrate automated update capabilities into their software and business processes. TrueUpdate provides a sophisticated client/server framework for determining required updates and then retrieving and applying the necessary patch or installation files using Internet or LAN protocols.

TrueUpdate was designed to meet the demand for a complete, web-enabled software updating solution that can be integrated quickly and easily into new and existing software products and networks, regardless of the installation and deployment methods used. TrueUpdate makes adding software update and patch management capability to a company's development infrastructure as simple and cost effective as possible.

TrueUpdate can be used to securely update any electronic content, from software applications and operating system patches to time sensitive data such as product catalogs, spreadsheets, financial information, sales figures and budgets. Additionally, TrueUpdate is extremely easy to integrate into your applications and offers nearly unlimited flexibility and customization options to ensure that your particular update requirements and goals are met.

The TrueUpdate brand is a recognizable mark of quality that you can proudly display to assure your clients and customers that your software updates are in the hands of the experts.

Key Features of TrueUpdate

Vista / Windows 7 / Windows 8 / Windows 8.1 / Windows 10 Compatible

TrueUpdate's design workspace and generated updates are compatible with Windows Vista or later, including a configurable "requested execution level" setting for the update's manifest.

Custom Resource Stamping

TrueUpdate allows you to use your own product icon and provides control of the resource information that you want written into the update's resources.

Integrated Code Signing

Protect the integrity of your company and products by code signing your updates with your own certificate during the build process.

MSI Actions

Over 35 MSI actions that leverage the Windows Installer service technology on the user's system. These are perfect for adding Windows Installer functionality to your update.

Dynamic Control of Client Systems

Once the TrueUpdate Client application is installed on a computer system, you have everything you need to ensure that the system is always up-to-date with the latest software and patches. Operating in conjunction with a TrueUpdate Server connection, the client software can be continually modified and reconfigured to carry out whatever system modification you require. This completely dynamic system puts you in full control and affords you flexibility that other products simply cannot match.

You Control the Server

With TrueUpdate, there is no need to relinquish control over the reliability of your update process. Other services lock you into using their servers; with TrueUpdate, you decide where your update files are hosted. You decide on the level of redundancy. You are in control of your update files, patches and servers. There is no need to rely on the uncertain future of an "update service", pay exorbitant annual fees or wait helplessly during downtimes you are powerless to resolve.

Industry Standard Protocols and Servers

TrueUpdate uses readily available client/server technologies rather than the proprietary servers required by competitive products. By making use of affordable and trusted protocols such as HTTP, HTTPS and FTP, organizations of any size can deploy TrueUpdate enabled software without the need for specialized and costly hardware and software platforms. TrueUpdate is built on the trusted, dependable standards you already rely on.

Easy to Integrate

TrueUpdate was designed to minimize the time it takes to add automated update capabilities to software applications. As a compact and standalone executable, the TrueUpdate Client application is extremely easy to integrate into your software. A typical software developer can have it done in only a few hours, and it doesn’t matter what language you are working in – TrueUpdate is compatible with everything from Visual Basic to Delphi, C++, COBOL or whatever you are working with. In fact, it was designed from the ground up to be flexible, easy to use, and easy to integrate.

Runs Stand-alone or Embedded

The TrueUpdate Client application can be invoked in a variety of ways, depending on your particular needs. Software developers can easily embed the client software directly into their application, making use of the extensive "theme" support to match their own unique look and feel. Network administrators, meanwhile, can simply install the client application on each system and configure an appropriate execution schedule using standard system tools.

Automates Complex Tasks

TrueUpdate is built on a powerful scripting engine that is capable of quickly processing any of the more than 250 included high-level actions. Featuring everything from registry editing to file copying to web file downloads, this complete scripting environment contains everything you need to automate complex tasks and handle even the most sophisticated software updating requirements. No other tool gives you the same level of ready-to-use commands. TrueUpdate helps you to get your job done both faster and better!

Scalable and Fault-Tolerant

From the ground up, TrueUpdate was created to be fully scalable and fault-tolerant. It’s easy to configure the client application to access redundant servers. If a server is unavailable for any reason, the client will move on to the next one until it can establish a connection. Additionally, since you control the underlying server technology such as HTTP, HTTPS, FTP or LAN, you have ultimate control over load-balancing and distributed processing of client/server requests.

Reduces Costs

Automating the update process saves considerable time and expense. For software vendors, it reduces support costs by making it easier for your users to keep their software up to date--giving your tech support department fewer legacy support issues to deal with. And for network administrators who maintain hundreds or thousands of systems, the benefits of TrueUpdate far outweigh the initial investment.

Lightweight and Stand-alone

Written completely in optimized C and C++ code, the TrueUpdate client is small, weighing in around 500K in size. It's also completely self-contained--the TrueUpdate client has no external dependencies, so you don't have to distribute any extras to make it work. Unlike competitive products, it doesn't require the Java runtime, Visual Basic runtime, .NET framework or any other multi-megabyte runtime engine.

Works with Any Patch/Install Builder

TrueUpdate works with your choice of installation and patching tools. For a complete and fully integrated end-to-end solution, we’d recommend choosing Indigo Rose’s Setup Factory and Visual Patch; however you’re certainly not locked into doing so. If your company has standardized on other install/patch builders, such as those offered by Installshield, Wise or ZeroG, TrueUpdate can accommodate them. In fact, TrueUpdate is even able to work with zip archives and individual data files, should you desire.

Trusted by Professionals

Thousands of software developers trust Indigo Rose software tools. In fact, our products such as TrueUpdate, Setup Factory and Visual Patch are used to distribute and manage software on millions of customer and client systems around the world. Additionally, all of our products are backed up by world-class technical support services.

What’s New in TrueUpdate?

Vista / Windows 7 / Windows 8 / Windows 8.1 / Windows 10 Compatible

TrueUpdate's design workspace and generated updates are compatible with Windows Vista or later, including a configurable "requested execution level" setting for the update's manifest. Other features enhanced for Vista include: System.GetOSName, System.GetOSVersionInfo, System.GetUserInfo and File.Run actions.

Custom Resource Stamping

TrueUpdate allows you to use your own product icon and provides control of the resource information that you want written into the update's resources.

Integrated Code Signing

Protect the integrity of your company and products by code signing your updates with your own certificate during the build process.

MSI Actions

Over 35 MSI actions that leverage the Windows Installer service technology on the user's system. These are perfect for adding Windows Installer functionality to your update.

Enhanced Design Performance

Reduced the loading time of the TrueUpdate design environment.

HTTP Action Enhancements

Made several enhancements to the HTTP actions for wider compatibility and increased stability.

Extensive Project Wizard

Getting your project started has never been easier, thanks to the new Project Wizard. You’ll be walked through each step of the process, including setting up your TrueUpdate Server, choosing download methods, customizing the TrueUpdate Client and configuring your automatic upload settings. The wizard includes dozens of options and project templates to choose from.

More Server Types

TrueUpdate supports all of the most popular protocols for client/server communication. This includes HTTP, FTP and LAN (both UNC paths and mapped drives), as well as secure connections and file transfers using HTTPS. Full support for HTTP basic authentication, timeouts, ports, FTP passive mode, usernames and passwords is also built-in.

Automatic Firewall and Proxy Server Detection

TrueUpdate now handles proxy servers and firewalls in an entirely seamless and industry-standard manner. Internet communication is now done entirely through the WinINet API, making it fully compatible with any corporate network hardware and software that supports standard Windows/Internet Explorer functionality.

Supports More Patching Methods

It doesn’t matter what method you plan to use to patch/update the software on the client system; TrueUpdate can work with them all. Whether you’re deploying a self-contained patch executable (such as those created by Visual Patch), a single-file installer (like those created with Setup Factory), zip files, individual data files, multiple binary patch files or whatever else you require, TrueUpdate can handle it. We’ve even included a variety of project templates and samples to get you started.

Sophisticated Version Analysis

TrueUpdate provides many flexible methods for analyzing existing software versions on the client system. It can access the registry, read values from INI files, compare file CRC values, query file version resource information or even use time/date stamps if necessary. Once a version has been identified, TrueUpdate can use a series of actions to bring that version up to date as required.

Powerful Scripting Engine

TrueUpdate includes the same scripting engine as Setup Factory and AutoPlay Media Studio. Based on the popular "Lua" language, this all-new and incredibly powerful free-form scripting engine gives you unprecedented control over your software updating system. This easy to use language features everything from "for, repeat and while" loops, to "if/else" conditions, functions, variables and associative arrays. Paired with the built-in action library, full mathematical evaluation and Boolean expressions, there is simply nothing you can’t achieve. We’ve also built in an "Action Wizard" and "Quick Scripts" feature so you can get right up to speed creating powerful projects to handle even the most demanding update tasks.

Extensive Action Library

TrueUpdate includes a built-in library of more than 250 powerful yet easy to use actions. Here, you’ll find high-level actions to handle everything from text file editing to system registry changes. You can execute programs, call DLL functions, query drive information, manipulate strings, copy files, enumerate processes, start and stop services, interact with web scripts, display dialog boxes and much more. There is also a full suite of file download actions including FTP, HTTP and secure HTTPS transfers, including new automatic support for firewalls and proxy servers.

Easy to Use Action Wizard

You don’t have to be a wizard to create powerful update systems with TrueUpdate. We’ve built the wizard into the software! Simply choose the action you want from a categorized list (complete with on-screen interactive help), fill in the requested information fields and the wizard does the rest. Making changes is just as easy. Click on the line you want to change and press the "edit" button to go back to the original form. It’s really that easy.

Color Syntax Highlighting Script Editor

The TrueUpdate script editor features all of the professional features you’d expect. There’s color syntax highlighting, code completion, function highlighting, as-you-type action prototypes, Ctrl+Space function listings and even context-sensitive help. If you’re used to programming in MicrosoftÒ Visual Basic, MicrosoftÒ Visual C++ or any other modern development language, you’ll be right at home.

Improved Client Interface

TrueUpdate gives you nearly unlimited flexibility in designing the user interface. You can choose from a fully interactive wizard, a minimal dialog box style, a completely silent approach or a "silent until update available" system. Additionally, thanks to the new screen gallery and manager, you can choose from over 25 ready to use wizard-style dialogs, or customize them to fit your needs.

Screen Gallery & Manager

With a library of more than 25 different screen templates to choose from, TrueUpdate is miles ahead of both previous versions and the competition. There are pre-built layouts to handle just about any task you can dream up, and it’s easy to adjust them to fit your needs exactly. You’ll find check boxes, radio buttons and edit fields to popular screens like license agreements, folder selection and other advanced options. The Screen Manager allows you to add and remove screens at will and adjust the sequence with a simple drag-and-drop motion. Each screen features a real-time preview so you can see the result of your changes as you work.

Themes and Skins

Choose from over twenty included themes (skins) for your project or even make your own. It’s as easy as viewing a live dialog preview and picking your favorite style. You can configure everything from fonts (face, color, size, style) and banner images to body/background graphics, control colors (buttons, check boxes, radio buttons) and more.

Publishing Wizard

Once you’ve got your project ready to go, the Publishing Wizard will help you to package it up and upload it to your server. The wizard will create the client application, server configuration files and everything else you need to put your update system into operation. You’ll also get a full project manifest that tells you what files have been generated and what you need to do with them.

Automatic Server Uploads with Secure FTP Support

TrueUpdate makes it easy to keep both your client and server files up-to-date. The new automatic upload feature turns the build process into a complete publishing solution. It supports file copying to UNC or mapped drives, standard FTP, or secure SFTP. Of course, should you wish to handle it all yourself, there is a manual upload option as well.

Compact Client Application

Smaller and faster means a better experience, and TrueUpdate delivers. Compare our tiny ~500 KB client application to the competition and see for yourself. And since it is written completely in optimized C++ code, there are no external dependencies or runtimes required.

Encrypted Configuration Files

Both client configuration files and server data files are automatically compressed and encrypted using your own private key. Featuring the secure Blowfish algorithm, your scripts and configuration info are safe from any casual tampering or viewing.

Runs Silent or Interactive

Your TrueUpdate projects can be configured to operate without displaying user interface dialogs, prompts, messages or errors. Silent operation lets you maintain control over hundreds or thousands of workstations while enforcing corporate standards. The client application can easily be called from programs, system schedulers or automatic processes.

Expandable with Action Plugins

TrueUpdate can be easily expanded with Action Plugins. These plug-in modules can extend the product in infinitely powerful ways, such as adding support for SQLite databases, XML, MD5 hashing, data encryption and much more. Tight integration with the design environment – including IntelliSense style code completion and syntax highlighting – makes them just as easy to use as built-in actions. Plugins are available through Indigo Rose as well as third-party developers thanks to Indigo Rose’s freely available plug-in development kit.

International Language Support

TrueUpdate offers unsurpassed support for multilingual projects right out of the box. Update systems created with TrueUpdate can automatically determine the language of the client operating system and adjust the display of screens and messages appropriately. Whether you need to support English, French, German, Spanish, Italian or any other language recognized by Windows, you simply provide the text and TrueUpdate takes care of the rest!

Built-in Spelling Checker

Now it’s easier than ever to make sure that typos don’t creep into your projects. Basically anywhere you can type, you can perform a spell check to ensure error-free text. Dictionaries are available for over a dozen languages including English, French, German, Italian, Spanish, Dutch, Swedish, Danish, Croatian, Czech, Polish and Slovenian.

Client Log Files

The client application can easily log each action giving you an accurate record of everything that is happening behind the scenes. It’s perfect for debugging or even archiving. You can control the level of detail being logged, including options for recording script actions.

Unattended Builds

TrueUpdate fits seamlessly into your daily build process. Creating your update project every time you build your source code makes it easy to test early and often. Used in conjunction with design-time constants (e.g. DEFINE’s) and build response files, your TrueUpdate project can be kept up to date simply and automatically.

Works with Windows 95 and Up

Update systems created with TrueUpdate work just fine on every Windows operating system from Windows 95 to Windows 10 and beyond. Compare that to competitive tools and you’re sure to be surprised at their requirements. If you need to support legacy systems, your choice is clear!

Frequently Asked Questions

Who needs TrueUpdate?

Software developers, network administrators and end-users alike share in the benefits of TrueUpdate enabled software. Developers appreciate it for the control it gives them over software that has already been deployed. Network administrators benefit from improved security and better control of network nodes. End-users see TrueUpdate enabled software as an assurance of quality – a symbol that the developer is there to stand behind their product.

Any company who develops software applications or distributes data needs TrueUpdate. Any organization that needs to ensure its network is secure and updated with the latest patches needs TrueUpdate. Anyone who needs timely and secure synchronization of documents and files needs TrueUpdate.

Ensuring that everyone is using the most recent point release of a particular package makes good sense. It eliminates legacy technical support calls, and corresponding user frustration. It ensures that data is current. It also serves to maintain customer satisfaction. And that’s something everyone can appreciate.

What can you do with TrueUpdate?

Software products and network clients that have been TrueUpdate enabled can quickly and efficiently determine if they are out of date. Embedding TrueUpdate into a software product makes it extremely easy to manage, control and update "in the field". Likewise, deploying the TrueUpdate client to computer systems throughout your network gives you a fast and manageable way to ensure that each node is current with the latest patches, documents and data that your company requires.

What's wrong with traditional update methods?

One of the most serious problems with traditional update methods is that they require the users to do most of the work. The problem with relying on an update process that demands too much user involvement is obvious; the users might decide it isn't worth the hassle to keep their systems up to date. This results in a higher incidence of legacy support issues, more security holes and other related problems. Additionally, when users don't update, they don't benefit from bug fixes and product improvements. TrueUpdate helps solve all of these problems.

What is automated updating?

Automated updating is the ability of software to handle some or all of the update process so the user doesn't have to. The update process consists of all the steps required to determine whether a newer version exists for a given piece of software, as well as all the steps required to bring an older version up to date. Automating the update process allows software to keep itself current after it has been deployed to users.

How important is automated updating?

Today's rapid product cycles, security vulnerabilities and short turnaround times make it more important than ever to get new versions into the hands of users quickly and efficiently. The Internet has created a highly competitive market where users expect immediate results; the prize often goes to the company that reacts the most quickly to changes in user needs and perceptions. In order to streamline software deployment, it is becoming increasingly desirable for software authors to incorporate automated updating abilities into their software.

How does TrueUpdate benefit the software developer?

The easier it is for your users to update your software, the more likely it is that your users will be using the latest version. Your technical support team will have fewer legacy issues to deal with. The easier it is for you to release updates, the more often you can release them. You won't have to hold back releases until you have made enough changes to justify the effort required to prepare updates using traditional update methods.

Why add TrueUpdate to your software application?

In a traditional release cycle, once your application or data files are released to customers, clients or other end-users, they are static, expensive and time-consuming to alter. However, once you add TrueUpdate to your application, you'll be able to easily update your product or data as often as you require.

From the developer’s point of view, when a new software release is available – perhaps a bug has been fixed – TrueUpdate makes it trivial to publish the changes and bring all of your users up to date. The next time the user runs the application, TrueUpdate will detect that a new release is available and take steps to handle it.

How easy is it to add TrueUpdate to an application?

As a self-contained executable, the TrueUpdate client can be integrated into your application in less than a day. While the actual time required depends on the amount of integration you desire and your level of programming knowledge, most developers should be able to complete the job in just a few hours. We even include sample source code for adding a "Check for Update" menu command and tips to get you going.

Alternatively, the TrueUpdate client executable can be distributed directly, rather than being embedded within an application. This allows the TrueUpdate client to be called manually from the start menu, from a shortcut on the user's desktop or automatically with system schedulers. This method of adding TrueUpdate to your application is as easy as installing a shortcut onto the user's system.

How does TrueUpdate impact technical support?

TrueUpdate allows your users to benefit quickly from any new features and bug fixes you develop, which in turn reduces the incidence of support calls. Keeping users up to date makes it easier to support them when incidents occur.

How will TrueUpdate impact our customers and clients?

Today's users are savvy; they demand responsiveness from software companies and they want tools that meet their needs and make them more productive. In order to maintain customer loyalty and maximize the user's experience with your software, you need to make updating the software as easy as possible. Making it easy for users to update your software shows that you're committed to supporting it.

How does TrueUpdate benefit the network administrator?

Keeping a corporate, educational or government network up-to-date with the latest security patches, applications updates and operating system fixes is a time consuming ordeal. Without tools like TrueUpdate, the task is virtually impossible. By installing the TrueUpdate client onto your networked computers, you’ll be able to quickly and effectively roll out whatever software you want throughout your organization. The client software can analyze the computer system, decide what is currently installed and then take whatever actions you determine are needed to bring that system up-to-date. It’s fast, easy and automatic.

I'm not a developer...do I still need TrueUpdate?

Absolutely! You don't need to be a software developer to benefit from TrueUpdate. As a stand-alone executable, the TrueUpdate client can be used to update all kinds of files. You could use TrueUpdate to distribute product catalogs to your sales teams, or to remotely configure system files across your corporate network. Price lists, help files, quarterly reports, internal support videos--TrueUpdate can help you keep anything up to date.

Does TrueUpdate actually install files?

With a full suite of file operations, including specialized actions to download, copy, delete, rename and even zip and unzip files, TrueUpdate may be all you need to install files onto a user's system. For situations requiring a more manageable and compartmentalized solution to file installation and patching, we’d recommend using Indigo Rose's Setup Factory and Visual Patch products. Used in conjunction with TrueUpdate, these products make up a complete and robust software deployment and management solution.