09.12.2012 Views

InstallShield 2012 Spring Express Edition User Guide

InstallShield 2012 Spring Express Edition User Guide

InstallShield 2012 Spring Express Edition User Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Before You Begin<br />

Chapter 6: Creating Installations<br />

Before You Begin<br />

The “Before You Begin” section of the <strong>InstallShield</strong> Help Library contains information that is helpful to<br />

installation authors as they create new installation projects with <strong>InstallShield</strong>. The topics provide<br />

background information on Windows Installer, the Windows logo program, and other areas of<br />

installation development.<br />

Introduction to Windows Installer<br />

A Windows Installer installation program is distributed as an .msi package, which consists of a Windows<br />

Installer database (.msi database) and related data files (.cab files, uncompressed data files, etc.). The<br />

.msi databases, implemented as COM structured storage, contain dozens of tables that describe the<br />

changes that are to be performed on the target system. For example, some of the .msi tables are:<br />

• File, which describes the files to be installed<br />

• Registry, which describes the registry data to be written<br />

• Shortcut, which describes shortcut settings<br />

Other .msi database tables describe the appearance and behavior of the installation’s user interface,<br />

install and configure Windows services and ODBC information, determine characteristics of the target<br />

system, and store icons and other binary data for use during installation.<br />

From a developer’s perspective, perhaps the greatest change in Windows Installer installation programs<br />

is that there is no explicit script to write. Instead, Windows Installer–based installations perform<br />

standard and custom actions, where an action displays a dialog, queries the target system, or makes<br />

changes to the target system. These actions are arranged into sequences, which are ordered collections<br />

of actions.<br />

Windows Installer includes a collection of application program interface functions, or APIs, dedicated to<br />

managing product installations. Applications must call the Windows Installer APIs in order to take<br />

advantage of features available with Windows Installer.<br />

An integral part of Windows operating systems, Windows Installer provides a standard format for<br />

component management as well as an interface for managing applications and system tools. Various<br />

versions of Windows Installer are available as redistributables for Windows operating systems.<br />

Although it is possible to create a Windows Installer package by editing .msi database tables directly, the<br />

large number of tables and relationships among them makes doing so a formidable task. <strong>InstallShield</strong><br />

organizes the process of developing an installation for Windows Installer into various views, providing<br />

graphical editors and wizards that shield the developer from much of the implementation detail that is<br />

associated with .msi databases.<br />

For more information on Windows Installer technology, see the Windows Installer Help Library.<br />

Minimizing the Number of <strong>User</strong> Account Control Prompts<br />

During Installation<br />

One of the goals of Windows Vista and later, as well as <strong>User</strong> Account Control (UAC), is to allow users to<br />

run as standard users all of the time. Elevation should rarely be required; if it does occur, it should occur<br />

for as short of a duration as possible.<br />

<strong>InstallShield</strong> <strong>2012</strong> <strong>Spring</strong> <strong>Express</strong> <strong>Edition</strong> <strong>User</strong> <strong>Guide</strong> ISE-1900-UG00 129

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!