Вы находитесь на странице: 1из 666

p

INSTALLSHIELD® EXPRESS EDITION


USER GUIDE

Version 11.5
Copyright Notice
Copyright © 1999–2006 Macrovision Corporation and/or Macrovision Europe Ltd. All Rights Reserved.
This product contains proprietary and confidential technology provided by and/or owned by Macrovision Europe Ltd., UK, and/or Macrovision Corporation
of Santa Clara, California, U.S.A. Any use, copying, publication, distribution, display, modification, or transmission of such technology in whole or in part in
any form or by any means without the prior express written permission of Macrovision Europe Ltd. and/or Macrovision Corporation is strictly prohibited.
Except where expressly provided by Macrovision Europe Ltd. and/or Macrovision Corporation in writing, possession of this technology shall not be
construed to confer any license or rights under any of Macrovision Europe Ltd. and/or Macrovision Corporation’s intellectual property rights, whether by
estoppel, implication, or otherwise.
ALL COPIES OF THE TECHNOLOGY & RELATED INFORMATION, IF ALLOWED BY MACROVISION CORPORATION, MUST DISPLAY THIS NOTICE OF
COPYRIGHT AND OWNERSHIP IN FULL.

Trademarks
Macrovision, DemoShield, FLEXnet, FLEXnet Manager, FLEXnet Publisher, InstallShield, InstallShield Developer, InstallShield DevStudio, InstallShield
Professional, and QuickPatch are registered trademarks or trademarks of Macrovision Corporation in the United States of America and/or other
countries. All other brand and product names mentioned herein are the trademarks and registered trademarks of their respective owners.

Restricted Rights Legend


The software and documentation are “commercial items,” as that term is defined at 48 C.F.R. §2.101, consisting of “commercial computer software” and
“commercial computer software documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.2702, as applicable. Consistent with
48 C.F.R. §12.212 or 48 C.F.R. §227.2702-1 through 227.7202-4, as applicable, the commercial computer software and commercial computer software
documentation are being licensed to U.S. government end users (A) only as commercial items and (B) with only those rights as are granted to all other end
users pursuant to the terms and conditions set forth in the Macrovision Corporation standard commercial agreement for this software. Unpublished rights
reserved under the copyright laws of the United States of America.
February 2005
CONTENTS

1 InstallShield 11.5 Express Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


What’s New in This Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Target System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Using Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Help Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Using Context-Sensitive Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Welcome to Macrovision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Macrovision Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Macrovision Professional Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Technical Support Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Contacting Macrovision Corporation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Installation Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Overview of Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Application Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Starting InstallShield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
InstallShield Start Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Working with Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Project Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Express Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
QuickPatch Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

InstallShield Express Edition User Guide iii


Table of Contents

Smart Device Installation Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26


Using Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Creating New Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Opening Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Opening Projects Created with Earlier Versions of InstallShield . . . . . . . . . . . . . . . . . 30
Saving Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Changing the Default Project Location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Converting Express Projects to Compact Projects and Vice Versa . . . . . . . . . . . . . . . 31
GUIDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Globalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Supported Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Language Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Sample Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Project Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Using the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Navigating in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Opening the Installation Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Hiding the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Application Information Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Add or Remove Programs in the Control Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Company Name and Product Name in Your Installation . . . . . . . . . . . . . . . . . . . . . . . 39
Installation Requirements Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Specifying Operating System Requirements in the Project Assistant . . . . . . . . . . . . . 40
When Does the Installation Check for Requirements? . . . . . . . . . . . . . . . . . . . . . . . . 40
Modifying the Run-Time Message for Software Requirements . . . . . . . . . . . . . . . . . . 40
Creating Custom Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Installation Architecture Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Adding Features in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Determining Whether to Create a Multiple-Feature Installation . . . . . . . . . . . . . . . . . . 42
Creating Installations with Multiple Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Default Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Defining Feature Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Application Files Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Adding Files to Features in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Removing Files from Features in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . 44
Adding Files to a Fixed Folder Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Viewing Additional Predefined Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Application Shortcuts Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Creating Shortcuts to Files Not Included in the Installation. . . . . . . . . . . . . . . . . . . . . 46
Modifying a Default Shortcut in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . 46
Associating a Shortcut’s Target with a File Extension in the Project Assistant . . . . . . . 46

iv InstallShield Express Edition User Guide


Table of Contents

Application Registry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47


Updating the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring Registry Data in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Modifying Registry Data Values in the Project Assistant . . . . . . . . . . . . . . . . . . . . . . 48
Associating Registry Data with Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Using Variable Data Types in Registry Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Application Paths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Installation Interview Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Specifying Dialogs for Your Installation in the Project Assistant . . . . . . . . . . . . . . . . . 49
Allowing End Users to Modify the Installation Location . . . . . . . . . . . . . . . . . . . . . . . 50
License Agreements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Creating Selectively Installable Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Build Installation Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Building Your Installation from the Project Assistant . . . . . . . . . . . . . . . . . . . . . . . . . 51
After Completing the Project Assistant: Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . 51
Working with the InstallShield Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Displaying the View List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Opening Views in the InstallShield User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Showing or Hiding Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Showing or Hiding Tooltips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Adding Buttons and Menus to a Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Removing Buttons and Menus from a Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Creating Custom Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Migrating from Earlier Versions of InstallShield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Migration Specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Upgrading to the Premier or Professional Editions of InstallShield . . . . . . . . . . . . . . . . . . . 58
Supported Application Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Basic Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Create a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Organize Your Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Specify Application Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Configure the Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Customize the Setup Appearance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Define Setup Requirements and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Prepare for Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

InstallShield Express Edition User Guide v


Table of Contents

6 Visual Basic Wizard Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71


Create a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Specify the Visual Basic Project File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Reviewing the Scan Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Setting General Information Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Creating a Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Building and Testing the Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7 Creating Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Introduction to Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Windows Installer and Patching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Top “Designed for Windows” Logo Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Preparing Installations for Non-Administrator Patches. . . . . . . . . . . . . . . . . . . . . . . . . . 83

8 Specifying Installation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85


Defining General Information Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Setting the Product Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Specifying a Product Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Specifying the Product Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Setting the Upgrade Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Configuring Add or Remove Programs Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Entering Summary Information Stream Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Setting the Default Product Destination Folder (INSTALLDIR) . . . . . . . . . . . . . . . . . . . . . 87
INSTALLDIR and the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Setting INSTALLDIR from the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

9 Organizing Files for Your Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89


Designing Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Separating Applications into Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Defining Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Creating Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Creating Subfeatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Setting Feature Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Feature Advertisement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Changing the Feature Order in the Custom Setup Dialog . . . . . . . . . . . . . . . . . . . . . . . 92
Conditionally Installing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

vi InstallShield Express Edition User Guide


Table of Contents

Working with Setup Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94


Specifying Features Included in Setup Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Renaming Setup Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Specifying Setup Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Including Only One Setup Type in an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Accessing the Setup Type at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Including Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Files Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Adding Files and Folders with the Files Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Dragging and Dropping Files Using the Context Menu. . . . . . . . . . . . . . . . . . . . . . . . 99
Specifying Target System Requirements for Individual Files . . . . . . . . . . . . . . . . . . . . 100
Specifying Hard-Coded Destination Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Dynamic File Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Adding Files Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Overwriting Files on the Target Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Displaying Predefined Folders in the Files View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Finding Files and Folders in Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Including Redistributables in Your Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Adding Merge Modules and Objects to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Access 97 and Access 2000/2002/2003 Objects Overview . . . . . . . . . . . . . . . . . 106
Borland Database Engine (BDE) Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Crystal Reports 8, 8.5, and 8.5 Service Pack 3 Objects Overview . . . . . . . . . . . . . . 107
Installing MSDE 2000 Merge Modules for Another Language . . . . . . . . . . . . . . . . . 108
Adding Setup Prerequisites to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Modifying the Object and Merge Module Configurations . . . . . . . . . . . . . . . . . . . . . . . 110
Determining the Files in Merge Modules and Objects . . . . . . . . . . . . . . . . . . . . . . . . . 110
Live Redistributables Gallery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Managing the Redistributables Gallery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Downloading Redistributables to Your Computer . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Browsing for Merge Modules and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
What Happens When You Browse for a Merge Module . . . . . . . . . . . . . . . . . . . . . . 113
Adding Setup Prerequisites to the Redistributables Gallery . . . . . . . . . . . . . . . . . . . 115
Removing Setup Prerequisites from the Redistributables Gallery . . . . . . . . . . . . . . . 116
Merge Module Exclusions and Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Setup Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Configuring a Release that Includes Setup Prerequisites . . . . . . . . . . . . . . . . . . . . . 117
Running an Installation with Setup Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Uninstalling an Application that Included Setup Prerequisites . . . . . . . . . . . . . . . . . . 118
Removing Merge Modules and Objects from Your Project. . . . . . . . . . . . . . . . . . . . . . 118
Removing Setup Prerequisites from Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

InstallShield Express Edition User Guide vii


Table of Contents

Shipping Redistributable Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119


Specifying the Installation Order of Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Specifying the Setup Prerequisites Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Identifying Application Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Dynamic Scanning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Static Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Filtering Files in the Dependency Scanners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Using an .ini File to Filter Files in the Dependency Scanning Wizards . . . . . . . . . . . . 122
Visual Basic Projects and InstallShield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Importing Visual Basic Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Registering COM Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Referencing DIM Files in Your Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Adding a New DIM Reference in the DIM References View. . . . . . . . . . . . . . . . . . . . . . 124
Associating a DIM Reference with a Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Adding a New DIM Reference to a Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Inserting DIM Virtual Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Creating a Shortcut to a File Referenced in a DIM . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Editing Build and Run-Time Variables Referenced in a DIM. . . . . . . . . . . . . . . . . . . . . . 126

10 Configuring the Target System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


Creating Shortcuts and Program Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Creating Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Basing a Shortcut on the Source Media. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Creating an Uninstallation Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Adding Shortcut Hot Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Editing the Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Filtering Registry Entries by Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Creating a Registry Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Dragging and Dropping Registry Entries to Create Registry Keys . . . . . . . . . . . . . . . . 134
Importing Registry Data from a .reg File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Removing Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Creating Registry Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Modifying Registry Value Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Removing Registry Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Entering Multiple Registry String Values into a Single String . . . . . . . . . . . . . . . . . . . . 137
Referencing an Environment Variable in a Registry Entry. . . . . . . . . . . . . . . . . . . . . . . 137
Specifying a Primary Key for the Registry Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Registry Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

viii InstallShield Express Edition User Guide


Table of Contents

Setting Install/Uninstall Behavior for Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . 140


Handling Registry Entries for a Per-User Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Refreshing the Registry View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Associating a File Extension with an Application File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Creating a File Extension Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Changing .ini File Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Adding an .ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Importing an Existing .ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Specifying a Section in an .ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Specifying a Keyword and its Value in an .ini File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Configuring ODBC Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Including an ODBC Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Including Additional ODBC Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Associating an ODBC Resource with a Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Setting the Attributes for an ODBC Resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Adding a New Attribute to an ODBC Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Removing an Attribute from an ODBC Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Using Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Setting Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Per-User vs. Per-Machine Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

11 Customizing Installation Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151


Using Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DLL Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Classic DLL Custom Action Function Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
New DLL Custom Action Function Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Adding a .dll Custom Action to Your Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Setting a .dll Custom Action’s Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Executable File Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Adding an .exe Custom Action to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Setting an .exe Custom Action’s Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
VBScript Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
VBScript Custom Action Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Addinging a VBScript Custom Action to Your Project . . . . . . . . . . . . . . . . . . . . . . . 157
Setting a VBScript Custom Action’s Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Changing When Custom Actions Are Launched . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Using a Custom Action for Serial Number Validation. . . . . . . . . . . . . . . . . . . . . . . . . . 158
Custom Action Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Checking if a Product Is Installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

InstallShield Express Edition User Guide ix


Table of Contents

Using Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160


Adding Setup Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Adding a License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Accessing a Setup File During Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Sorting Support Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Disk1 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Adding Disk1 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Adding Disk1 Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Removing Disk1 Files and Folders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Removing Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

12 Defining the End-User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


Working with Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Adding a Dialog to an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Custom Setup Dialog Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Displaying a License Agreement During the Run Time. . . . . . . . . . . . . . . . . . . . . . . . . 167
Bitmap Images in Dialogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Changing the Splash Bitmap in the Splash Bitmap Dialog . . . . . . . . . . . . . . . . . . . . 169
Changing the Bitmap Image for an End-User Dialog . . . . . . . . . . . . . . . . . . . . . . . . 169
Changing the Banner Bitmap for an End-User Dialog. . . . . . . . . . . . . . . . . . . . . . . . 170
Changing the Global Dialog Image for End-User Dialogs . . . . . . . . . . . . . . . . . . . . . 170
Changing the Global Dialog Banner for End-User Dialogs. . . . . . . . . . . . . . . . . . . . . 171
Removing a Dialog from an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Editing Run-Time Text and Message Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Editing Run-Time Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Adding Comments to Text and Message Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Changing the Font for Text and Message Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Exporting Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Importing String Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Displaying Billboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Adding a Billboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Setting the Billboard Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Removing a Billboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

13 Configuring Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175


Managing COM+ Applications and Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Adding COM+ Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Removing COM+ Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Managing Internet Information Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

x InstallShield Express Edition User Guide


Table of Contents

Creating a Web Site and Adding a Virtual Directory . . . . . . . . . . . . . . . . . . . . . . . . . . 177


Removing Virtual Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Configuring Additional IIS Virtual Directory Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Adding Files to an IIS Virtual Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Configuring Custom Error Messages for a Web Site or Virtual Directory . . . . . . . . . . . 179
Deploying Web Services on a Target Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Stopping IIS Functionality Through a Custom Action . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Adding IISROOTFOLDER Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
IIS Web Site Port Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
IIS_VERSION Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

14 Preparing Installations for Update Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183


Enabling Automatic Update Notification for a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Files that Need to Be Installed for Automatic Update Notification. . . . . . . . . . . . . . . . . . . 184
Adding a Check-for-Updates Check Box to the Setup Complete Dialog. . . . . . . . . . . . . . . 185
Creating a Shortcut to Check for Updates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Registering Your Application with the Update Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Disabling Automatic Update Notification for a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . 186

15 Adding Mobile Device Support to Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


Adding an Installation for a Windows Mobile Device to Your Project . . . . . . . . . . . . . . . . . 190
Adding an Installation for a Palm OS Device to Your Project . . . . . . . . . . . . . . . . . . . . . . 191
Adding Existing .cab Files to Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Special Considerations for Adding Multiple .cab Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Getting the Location of the CE AppManager on the Target System . . . . . . . . . . . . . . . . . 193
Deploying Files to the Microsoft ActiveSync Directory . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Modifying an Installation for a Mobile Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Renaming an Installation for a Mobile Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Removing an Installation for a Mobile Device from Your Project . . . . . . . . . . . . . . . . . . . 195
Building an Installation for a Mobile Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

16 Preparing Installations for Maintenance and Uninstallation . . . . . . . . . . . . . . . . . . 197


Removing Registry Data Created by Your Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

17 Building, Testing, and Distributing Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . 199


Configuring and Building Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Building a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

InstallShield Express Edition User Guide xi


Table of Contents

Canceling Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200


Changing the Product Version During a Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Build Release Location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Build Logs and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Quick Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Performing Quick Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Command-Line Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Building from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Passing Command-Line Parameters in an .ini File . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Microsoft Build Engine (MSBuild). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Using MSBuild to Build a Release from the Command Line . . . . . . . . . . . . . . . . . . . 208
Creating a Single Self-Extracting Installation File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Preparing Your Installation for Internet Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Creating a Web-Deployable Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Digital Signing and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Certification Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Digital Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Netscape Certificate IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Private Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Software Publishing Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Importing Netscape Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Preparing a Trialware Release of Your Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Excluding Trialware Protection from a Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Media Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Floppy Disk Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Building a Release for Floppy Disk Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Setting Volume Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Creating a Windows Installer Package (.msi) as Output . . . . . . . . . . . . . . . . . . . . . . . . 216
Autorun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Enabling Autorun for Your CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Testing and Running Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Testing and Running Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Testing a Trialware Release of Your Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Running an Installation in Silent Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Conditional Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Creating a CD Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Distributing Installations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Distributing Your Release to a Network Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Distributing Your Release to an FTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

xii InstallShield Express Edition User Guide


Table of Contents

18 Creating Trialware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


Types of Trialware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
How InstallShield Protects Trialware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Trialware Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
InstallShield Activation Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Overview of the Activation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Adding a Trialware File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Specifying the Type of Trialware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Acquiring a License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Trial Limits and Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Expiration Dates for Trialware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Setting the Trial Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Setting or Changing a Trialware Expiration Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Removing a Trialware Expiration Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Setting the Hyperlinks for the Trialware Run-Time Dialogs. . . . . . . . . . . . . . . . . . . . . . . . 244
Allowing Offline Email Activations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Allowing Offline Phone Activations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Trialware Run-Time Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Try and Die Dialog (Trial Has Not Expired) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Try and Die Dialog (Trial Has Expired) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Try and Die Dialog (Serial Number Required to Extend Trial) . . . . . . . . . . . . . . . . . . . . 251
Try and Die Dialog (Trial Is Extended) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Try and Buy/Product Activation Dialog (Choose to Activate or Evaluate). . . . . . . . . . . . 252
Try and Buy/Product Activation Dialog (Enter Serial Number to Activate) . . . . . . . . . . . 253
Try and Buy/Product Activation Dialog (Activating via Internet) . . . . . . . . . . . . . . . . . . 254
Try and Buy/Product Activation Dialog (Activation Is Complete) . . . . . . . . . . . . . . . . . . 255
Try and Buy/Product Activation Dialog (Trial Has Expired). . . . . . . . . . . . . . . . . . . . . . 256
Try and Buy/Product Activation Dialog (Trial Is Extended) . . . . . . . . . . . . . . . . . . . . . . 257
Try and Buy/Product Activation Message Box (Sample Error for Internet Activation) . . . 258
Try and Buy/Product Activation Dialog (Retry) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Try and Buy/Product Activation Dialog (Activate by Email). . . . . . . . . . . . . . . . . . . . . . 260
Try and Buy/Product Activation Dialog (Activate by Phone) . . . . . . . . . . . . . . . . . . . . . 261
Trialware Message Box (System Clock Change). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Resetting the License During Development and Testing . . . . . . . . . . . . . . . . . . . . . . . . . 263

InstallShield Express Edition User Guide xiii


Table of Contents

Informing End Users How to Extend a Trial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264


Removing a Trialware File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

19 Updating Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267


Upgrades Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Major Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Minor Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Small Updates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Patching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
QuickPatch Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Determining the Best Upgrade Solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Packaging Options for Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Working with Upgrades and QuickPatch Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Understanding File Overwrite Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Updating the Package Code, the Product Version, and the Product Code . . . . . . . . . . 276
Creating Full-Installation Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Adding an Upgrade Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Configuring Upgrade Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Removing Upgrade Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Patching Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Patch Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Patch Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Non-Administrator Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Creating a QuickPatch Project and Applying QuickPatch Packages . . . . . . . . . . . . . . . 282
Creating a QuickPatch Project for an Existing QuickPatch . . . . . . . . . . . . . . . . . . . . 283
Specifying Target Releases for Patching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Specifying Custom Actions for the QuickPatch to Execute . . . . . . . . . . . . . . . . . . . 284
Adding Files to a QuickPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Enabling the Uninstallation of a QuickPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Sequencing QuickPatch Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Signing a QuickPatch Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Deleting Files from the Files To Patch Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Modifying and Removing Installed Files with a QuickPatch . . . . . . . . . . . . . . . . . . . . 286
Adding, Modifying, and Deleting Registry Data with a QuickPatch . . . . . . . . . . . . . . 286
Patching Assemblies in the Global Assembly Cache . . . . . . . . . . . . . . . . . . . . . . . . 287
Applying a QuickPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Notifying End Users about Upgrades Using the Update Service. . . . . . . . . . . . . . . . . . 288

20 Additional Installation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291


Including the Windows Installer Service with an Installation . . . . . . . . . . . . . . . . . . . . . . . 291
Distributing Version 1.2 Instead of 2.0 of the Windows Installer Engine . . . . . . . . . . . . 292

xiv InstallShield Express Edition User Guide


Table of Contents

Specifying Target System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293


Specifying Operating System Requirements for Your Application . . . . . . . . . . . . . . . . . 294
Specifying Processor Requirements for Your Application . . . . . . . . . . . . . . . . . . . . . . 294
Specifying RAM Requirements for Your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Specifying Screen Resolution Requirements for Your Application. . . . . . . . . . . . . . . . . 295
Specifying Color Depth Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Specifying Software Requirements for Your Application . . . . . . . . . . . . . . . . . . . . . . . 296
Working with Windows Installer Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Windows Installer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Implementing Serial Number Validation During the Run Time. . . . . . . . . . . . . . . . . . . . . . 300
Accessing the Serial Number During and After Installation . . . . . . . . . . . . . . . . . . . . . . . 301

21 Integrating InstallShield with Microsoft Visual Studio . . . . . . . . . . . . . . . . . . . . . . . 303


Creating InstallShield Projects in Microsoft Visual Studio .NET . . . . . . . . . . . . . . . . . . . . 304
Opening InstallShield Projects in Microsoft Visual Studio .NET. . . . . . . . . . . . . . . . . . . . . 304
Adding References to Visual Studio .NET Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Adding InstallShield Toolbars or Commands to the Visual Studio Toolbar . . . . . . . . . . . . . 305
Building Releases in Microsoft Visual Studio .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Adding .NET Assemblies to a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Adding Project Output from Web Services or Application . . . . . . . . . . . . . . . . . . . . . . . . 307
Adding .NET Framework Support to an Installation Project . . . . . . . . . . . . . . . . . . . . . . . 307

22 Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

23 Menu, Toolbar, and Window Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310


Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Go Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Project Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Build Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Tools Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Toolbars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

InstallShield Express Edition User Guide xv


Table of Contents

24 Dialog Box Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318


Application Extension Mapping Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Application Mappings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Browse for a Destination File Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Browse for Directory/Set INSTALLDIR Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Condition Builder Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Dependencies Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Destination Folder Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Dialog Images Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Edit Binary Value Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Edit DWORD Value Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Edit Registry Data Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Edit String Value Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Error Mapping Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
File Association Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
File Details Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
File Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
COM & .NET Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Advanced Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
File Properties Dialog Box (Windows Mobile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Processor/Platform Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Folder Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
File Linking Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Merge Module Configurable Values Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Merge Module Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
MSI Value Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Multi-Line String Value Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
New Project Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Options Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

xvi InstallShield Express Edition User Guide


Table of Contents

File Locations Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344


Preferences Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Configure Trialware Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Merge Module Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Quality Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Updates Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
.NET Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Files View Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
File Extensions Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Outputs Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Permissions Dialog Box for Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Permissions Dialog Box for Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Select Icon Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Set INSTALLDIR Dialog Box/Set DATABASEDIR Dialog Box. . . . . . . . . . . . . . . . . . . . . . . 350
Setup DLL Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Setup Prerequisites Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Shortcut Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Update Merge Module Search Path Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Upgrade Express Project Name Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

25 Wizard Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356


Access 97 Object Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Access 97 Database File Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Additional Information Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Workgroup File Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Access 2000/2002/2003 Object Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Redistributable Path Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Build Location Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Acquire New License Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Configure Trialware Credentials Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Communicating with the License Server Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

InstallShield Express Edition User Guide xvii


Table of Contents

BDE Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364


Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
INI File Location Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Configure INI File Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Add Alias Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
BDE Merge Module Configuration Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Create New QuickPatch Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Project Name Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Release to Patch Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Final Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Crystal Reports 8 Object Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Engine Access Methods Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Export Formats Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Export Destinations Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Database Connections Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Additional Components Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Crystal Reports 8.5 Object Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Engine Access Methods Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Export Formats Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Export Destinations Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Database Connections Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Additional Components Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Crystal Reports 8.5 Service Pack 3 Object Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Specify Engine Access Methods Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Export Formats Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Export Destinations Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Database Connections Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Additional Components Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Other Requirements Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

xviii InstallShield Express Edition User Guide


Table of Contents

Dynamic Scanning Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377


Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Filter Files Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Specify the Executable Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Specify Application File Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Launch the Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Your Application Is Running Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
File Selection Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Scan Results Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Completing the Dynamic Scanning Wizard Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Export String Table Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
File Name Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Wizard Complete Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Import REG File Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Import Registry File Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Import Conflict Options Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Import Progress Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Import String Table Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
File Name Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Wizard Complete Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
InstallShield Merge Module for MSDE 1.0 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
SQL Data Paths Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Launcher Options Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
MSDE 2000 Object for NT Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Functionality Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Directories Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Instance and Collation Settings Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Upgrade and Security Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Service Pack 3 Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Setup Options Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

InstallShield Express Edition User Guide xix


Table of Contents

Palm OS Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391


Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Palm Application Files Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Features Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Static Scanning Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Filter Files Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Scanning Progress Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Scan Results Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
File Selection Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Completing the Static Scanning Wizard Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
System Search Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
What do you want to find? Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
How do you want to look for it? Panel (Defining Your System Search Method). . . . . . . . 397
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
How do you want to look for it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
What do you want to do with the value? Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Visual Basic Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Specify Visual Basic Project File Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Location of Visual Basic Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Scanning Progress Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Scanned Dependencies Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Scan Results Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Completing the Visual Basic Wizard Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Visual Studio .NET Wizard for Visual Basic .NET, Visual C++ .NET, and C# .NET . . . . . . . 404
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Solution Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Web Deployment Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

xx InstallShield Express Edition User Guide


Table of Contents

Web Page Option Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406


Browser(s) to Target Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Link Type Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Windows Installer Engine Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Windows Installer Engine Options Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Windows Installer Location Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Advanced Settings Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Digital Signature and Security for Targeting Internet Explorer Panel. . . . . . . . . . . . . . . 408
Digital Signature and Security for Targeting Netscape Communicator Panel. . . . . . . . . 409
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Windows Mobile Wizard/Smart Device Setup Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Welcome Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Application Information Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Desktop Settings Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Add CABs Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Destination Folder Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Project Outputs Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Device Files Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Shortcuts Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Setup DLLs Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
File Associations Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Registry Information Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Desktop Icon Information Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Sign the cab files Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
.NET Compact Framework Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
XML Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Features Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Summary Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

26 View Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427


Organize Your Setup View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
General Information View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
General Information Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Features View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Feature Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
DIM References View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Variables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Meta Info Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

InstallShield Express Edition User Guide xxi


Table of Contents

Data Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442


Dependencies Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Setup Types View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Upgrade Paths View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Upgrade Path Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Update Service View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Trialware View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Advanced Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Specify Application Data View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Files View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Destination Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Files and Features View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Redistributables View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Dependencies View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Mobile Devices View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Configure the Target System View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Shortcuts/Folders View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Shortcut Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Registry View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
ODBC Resources View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
ODBC Resource Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
INI File Changes View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Settings for .ini Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Settings for .ini File Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
File Extensions View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
File Extension Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Environment Variables View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Environment Variable Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Internet Information Services View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Web Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Virtual Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Component Services View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Customize the Setup Appearance View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Dialogs View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Billboards View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Billboard Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Text and Messages View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Define Setup Requirements and Actions View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

xxii InstallShield Express Edition User Guide


Table of Contents

Requirements View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495


Custom Actions View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
DLL Custom Action Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Executable File Custom Action Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
VBScript Custom Action Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Setup Files View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Prepare for Release View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Build Your Release View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Media Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Build Settings for Custom, CD-ROM, and DVD Releases . . . . . . . . . . . . . . . . . . . . . 503
Build Settings for SingleImage Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Build Settings for WebDeployment Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Test Your Release View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Distribute Your Release View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
QuickPatch Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Define Patch Settings View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
General Information View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Files View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Registry View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

27 Errors and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537


Build Errors and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Migration Errors and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Setup.exe Run-Time Errors and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576

28 Command-Line Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579


IsCmdBld.exe Command-Line Build Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
MsiExec.exe Command-Line Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Setup.exe Command-Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

29 End-User Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587


Global Dialog Settings for All End-User Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Splash Bitmap Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Install Welcome Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
License Agreement Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Readme Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Customer Information Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Destination Folder Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594

InstallShield Express Edition User Guide xxiii


Table of Contents

Database Folder Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595


Setup Type Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Custom Setup Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Ready to Install Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Setup Progress Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Setup Complete Success Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600

30 Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633

xxiv InstallShield Express Edition User Guide


1
INSTALLSHIELD 11.5 EXPRESS EDITION

For quick and easy installations that support today’s technologies, InstallShield is the
industry standard. InstallShield enables you to build reliable installations in record
time, and avoid installation-related application errors by keeping current with support
for the latest technology.
The InstallShield Help Library contains information about the functionality and
features of InstallShield. The Help Library contains the following sections:

Table 1-1: Help Library Sections

Section Description
What’s New in This Version Informs you about the new features and enhancements in the
current version of InstallShield.
Target System Lists the requirements for target systems.
Requirements
Using Help Provides information about the InstallShield documentation.
Welcome to Macrovision Introduces you to Macrovision Corporation, its history, its products,
its professional services, and the InstallShield Help Library.
Getting Started Contains information to help you become familiar with InstallShield,
begin creating an installation project, and customize the
InstallShield user interface.
Creating Installations Explains how to create user-friendly, reliable installations and guides
you through every step of the process—from specifying information
for Add or Remove Programs to building, testing, and deploying an
installation.

InstallShield Express Edition User Guide 1


Chapter 1: InstallShield 11.5 Express Edition
What’s New in This Version

Table 1-1: Help Library Sections (cont.)

Section Description
Updating Applications Leads you through steps for planning and implementing the various
types of upgrades and patches for updating a product. Also
explains how you can use the Update Service to notify end users
about upgrades and patches that are available.
Additional Installation Discusses a broad range of options available in InstallShield:
Options including the Windows Installer service with an installation,
specifying target system requirements for an application, and
more.
Integrating InstallShield with Contains details about integrating InstallShield with third-party tools
Microsoft Visual Studio such as Microsoft Visual Studio .NET.
Reference Contains comprehensive reference information for the InstallShield
user interface; errors and warnings that might occur when you
create, build, or run your installation, and sample end-user dialogs.
Frequently Asked Questions Directs you to help topics that answer many commonly asked
questions about InstallShield and project creation.

NOTE Because the InstallShield Help Library is designed to interact with InstallShield, it is
recommended that you open the help from within InstallShield. Copying the help files to another
folder or system causes many of its features to work incorrectly.

For answers to many commonly asked questions and new information about
InstallShield that do not appear in the documentation, visit the Knowledge Base.

What’s New in This Version


InstallShield includes the following new features:

Visual Studio 2005 Support


InstallShield includes full support for Visual Studio 2005. InstallShield lets you create
your installations within the same Visual Studio interface where you create your
products, making .NET install authoring more efficient. All InstallShield’s views are
presented within the Visual Studio .NET Solution Explorer in a separate window, so
no scrolling is necessary, and side-by-side viewing options are available.

Pocket PC Windows Mobile 5.0 and Windows CE .NET 5.0


Support
InstallShield now enables you to specifically target installations for Pocket PC
Windows Mobile 5.0 and Windows CE .NET 5.0 mobile devices.

2 InstallShield Express Edition User Guide


Chapter 1: InstallShield 11.5 Express Edition
What’s New in This Version

.NET Compact Framework 2.0 and Other Mobile Device


Redistributables Now Available
Several new redistributables are available for mobile device installations: .NET
Compact Framework 2.0, SQL Mobile 2005, SQL Client 2.0, and SQL Mobile 2005
Replication. In addition, installations for Smartphone 2002 and 2003 now support
redistributables.

Expanded Digital Signing for Mobile Devices


All mobile device platforms now support digital signing. Previously, digital signing
was available for Smartphone 2002 and 2003 only.

.NET Framework 2.0 and Visual J# 2.0 Support


InstallShield now supports the option to install .NET Framework 2.0 and Visual J#
2.0. Versions 1.0 and 1.1 of these redistributables are also still supported.

Microsoft Build Engine (MSBuild) Support


InstallShield supports the Microsoft Build engine (MSBuild) included with the .NET
Framework. MSBuild support allows you to build Visual Studio solutions with
InstallShield projects in build lab environments where Visual Studio is not installed.
MSBuild is an extensible build framework designed to remove the build dependence
on Visual Studio.

MSBuild-Compatible XML Format Project File


The InstallShield integration with Visual Studio now uses an MSBuild-compatible
XML format project file (.isproj), which enables MSBuild to seamlessly build Visual
Studio solutions that include InstallShield projects.

Referencing Developer Installation Manifest (DIM) Files


InstallShield can reference Developer Installation Manifest (DIM) files created with
the new InstallShield Collaboration module to automatically incorporate installation
requirements defined by developers into the installation project.
InstallShield Collaboration is available as a separate product from Macrovision. It is
also included with the Premier and Professional editions of InstallShield.

Setup Prerequisites
Check for and install any prerequisite applications or system components before your
installation is executed. Choose from our preconfigured setup prerequisites, like VSIP
Interop Assembly, Microsoft SQL Server 2005 Express, Internet Explorer 6.0, and Jet

InstallShield Express Edition User Guide 3


Chapter 1: InstallShield 11.5 Express Edition
Target System Requirements

4.0. You can even choose to deploy a setup prerequisite with your installation or
download it from the Web as needed.

Trialware Expiration Dates


You can set an expiration date for your trialware to prevent evaluations and activations
of your product after a certain date. Expiration dates are often used for beta versions of
a product. For example, you may want to set the expiration date to the last day of the
beta trial period. When the beta trial period is over, end users can no longer evaluate or
activate the trialware version of your product, even if they have additional days or
uses remaining in their trial.

New Merge Module Available


InstallShield includes the Microsoft Rich Textbox Control 6.0 Merge Module.

Documentation Now Available as Printable .pdf File


The documentation for InstallShield is now available as a .pdf file. To view a .pdf file,
you need to have Adobe Acrobat Reader, which you can download for free from http:/
/www.adobe.com.

Target System Requirements


You can use InstallShield to rapidly build, test, and deploy installations that target
Windows-based systems and mobile devices.

Requirements For Desktop Computers


The minimum target system requirements for the various installer engines are as
follows.

Table 1-2: Target System Requirements for Desktop Computers

Installer
Operating System and Other Requirements
Engine
Windows Windows 95 or later
Installer 1.1
Windows Windows 95 or later
Installer 1.2
Windows Windows 95 or later
Installer 2.0
Windows Windows 2000 SP3 or later, Windows Server 2003
Installer 3.0

4 InstallShield Express Edition User Guide


Chapter 1: InstallShield 11.5 Express Edition
Target System Requirements

Table 1-2: Target System Requirements for Desktop Computers

Installer
Operating System and Other Requirements
Engine
Windows Windows 2000 SP3 or later, Windows Server 2003
Installer 3.1
Compact Windows 95 or later
Windows 95 or
Internet Explorer 3.02 or later
later

Requirements For Mobile Devices

Windows Mobile Device Requirements


InstallShield supports many Windows Mobile platforms and processors. The
Windows Mobile platforms are:
• Pocket PC Windows Mobile 5.0
• Windows CE .NET 5.0
• Pocket PC 2003
• Windows CE .NET 4.x
• Pocket PC 2002
• Pocket PC
• Palm-size PC 2.11
• Palm-size PC 2.01
• Handheld PC 2000
• Handheld PC Pro
• Handheld PC 2.0
• Smartphone 2003
• Smartphone 2002
Note that if a platform is not included in the list, it does not mean InstallShield does
not support it. It simply means that you cannot set conditions for that specific
platform.
InstallShield includes support for the following Windows Mobile processors:
• ARM720
• ARM820
• ARM920
• Common Executable Format
• Hitachi SH3
• Hitachi SH3E

InstallShield Express Edition User Guide 5


Chapter 1: InstallShield 11.5 Express Edition
Using Help

• Hitachi SH4
• i486
• i586
• i686
• MIPS R2000
• MIPS R3000
• MIPS R4000
• SHx SH3
• SHx SH4
• StrongARM-XScale

Palm OS Device Requirements


InstallShield supports Palm OS 3.5 and later.

Desktop Requirements for Windows Mobile Device


Installations
Requirements for the desktop computers that are used to install applications on
Windows Mobile devices are:
• Microsoft ActiveSync 3.x or later (ActiveSync 4.x is required for Windows
Mobile 5.x devices)
• Administrative privileges

Desktop Requirements for Palm OS Device Installations


Palm HotSync is required for the desktop computers that are used to install
applications on Palm OS devices.

Using Help
Macrovision understands the importance of having useful information and help
resources at your fingertips. In addition to the inline help embedded within various
views of the InstallShield interface, InstallShield includes the Help Library (the online
help library that is installed with InstallShield) and HelpNet.

InstallShield Help Library


When you have questions about your Macrovision product, first consult the
InstallShield Help Library. The Help Library is the complete user’s guide for using
InstallShield.

6 InstallShield Express Edition User Guide


Chapter 1: InstallShield 11.5 Express Edition
Using Help

You can access the InstallShield Help Library from the Help menu in InstallShield, by
pressing F1, or by clicking Help buttons in the interface.
No Internet connectivity is required to view the online help. Essentially, the online
help viewer is a tool that you can use to display, search, and filter technical
information based on your personal needs.

Web-Based Online Help


Web-based online help is available to you 24 hours a day, seven days a week, on our
Web site at http://helpnet.macrovision.com. This help resource center provides near
real time updates to documentation.

Help Conventions
The different types of information within the Help Library are flagged or presented as
described below:

Table 1-3: Help Conventions

Flag Description
The best practice image appears when instructing
you on the best way to accomplish a task.
BEST PRACTICE
This information is critical to the success of the
desired functionality of the product.
CAUTION
This information applies to a specific edition of a
product.
EDITION
This image is used with information that is essential
for users to read, but it does not carry the same
weight as cautions.
IMPORTANT
This image accompanies Microsoft logo compliance
requirements and recommendations.
LOGO
The note image is used to draw attention to pieces
of information that should stand out.
NOTE

InstallShield Express Edition User Guide 7


Chapter 1: InstallShield 11.5 Express Edition
Using Help

Table 1-3: Help Conventions (cont.)

Flag Description
The project-specific image is used to highlight
information that may vary depending on the project
type used.
PROJECT
The procedure graphic indicates procedural or
navigational instructions.
TASK
The information is a tip or hint that could assist you
in better utilizing the desired function or feature.
TIP
On the File menu, click Open. User interface elements are presented in bold
typeface when referenced in tasks.
fileName Information that is variable is presented in italics.
import Code snippets are presented in a monospace
com.installshield.product.*; typeface.
Type $D(install). Text that is to be entered as a literal value is
displayed in a monospace typeface.
My files are located in the File names and directory paths are presented in a
C:\MyDocuments\SampleCode monospace typeface.
directory.
Insert the line LimitedUI=Y into the .ini Text in .ini files is presented in a monospace
file to display only the InstallWelcome typeface.
dialog box when the Windows Installer
package is run.
To apply a transform, enter the following: Command-line statements and parameters are
presented in a monospace typeface.
Setup.exe /
v"TRANSFORMS=\"C:\Transforms\M
y Transform.mst\""
Set the value of the windir environment Environment variables are presented in an italicized,
variable to C:\Windows. monospace typeface.
Create two groups, one called Admins and Examples are presented in a bold typeface.
the other called General.
FeatureAddItem adds a new feature to a Functions are presented in presented in a bold
script-created feature set. typeface.
In the Name property, enter a name for Properties are presented in a bold, monospace
this custom control that is unique among all typeface.
of the controls in your project.

8 InstallShield Express Edition User Guide


Chapter 1: InstallShield 11.5 Express Edition
Using Help

Table 1-3: Help Conventions (cont.)

Flag Description
If you type an incorrect parameter, the Screen output (from a log file or from the console) is
message The system cannot find displayed in a monospace typeface.
the path specified. is displayed.

Using Context-Sensitive Help


While working on a project, clicking a software object displays its help information in
the Help window. This is also called “context-sensitive” help.
Help information is also available for each of the properties of a selected software
object displayed in the Explorer window, which provides instructions for setting that
property.

InstallShield Express Edition User Guide 9


Chapter 1: InstallShield 11.5 Express Edition
Using Help

10 InstallShield Express Edition User Guide


2
WELCOME TO MACROVISION

Company Information
Macrovision Corporation is the market leader in electronic licensing, installation, and
digital rights management (DRM) technologies. Over 50,000 software vendors and
virtually all of the Fortune 1,000 companies use Macrovision’s technologies to
maximize the value of their software. Software Value Management solutions bridge
the gap between pricing and packaging software on the developer side, and purchasing
and managing that software on the enterprise side. Macrovision’s Software
Technologies Group markets the FLEXnet Software Value Management platform,
which includes the InstallShield suite of software installation, repackaging, and
update solutions; these solutions are deployed on more than 500 million desktops
worldwide. Macrovision holds more than 910 software licensing, DRM, and content
protection patents worldwide. Macrovision is headquartered in Santa Clara,
California, and has offices worldwide.

Macrovision Solutions
Maximize the Value of Your Software
Software Value Management is a set of best practices that allows software vendors
and their enterprise customers to maximize the value of the software applications they
create, use, and maintain.
Once an application is developed by the engineering department, publishers use
Software Value Management tools to maximize its revenue potential. These tools
include installers and licensing tools that help publishers flexibly package, price, and
protect their products. Their enterprise customers use Software Value Management
tools to maximize the productivity that they get from the software they purchase.

InstallShield Express Edition User Guide 11


Chapter 2: Welcome to Macrovision
Macrovision Professional Services

These tools enable corporate IT staff to repackage applications, resolve potential


conflicts, optimize license purchases, and manage updates.

Table 2-1: Macrovision Software Technologies Group Solutions

Industries & Activities Software Value Management Solutions


Software Vendors: • InstallShield—Tools for authoring installations and
software management for any operating system.
• Market Software
• Sell Software • FLEXnet Publisher—Price, package, protect their
• Distribute Software product, and manage software licenses throughout
their lifecycle to better meet market needs and
• Service Software
maximize revenue.
• Renew Software
Enterprise IS and IT: • InstallShield—Tools for authoring installations and
software management for any operating system.
• Buy Software
• FLEXnet Publisher—Price, package, protect my
• Prepare & Deploy Software
product, and manage software licenses throughout
• Maintain Software their lifecycle to better meet market needs and
• Renew Software maximize revenue.
• FLEXnet AdminStudio—Application packaging,
customization, testing, and workflow management for
the enterprise.
• FLEXnet Manager—Maximize the value of your
software assets through accurate usage reporting and
centralized license management.

Try a Macrovision Solution Today!


Evaluation copies of Macrovision solutions are available from the Macrovision Web
site or from our sales staff. Visit us online at http://www.macrovision.com, or call
today at (1) (800) 809-5659 (North America) or (44) (117) 903- 0650 (Europe, Middle
East, and Africa).

Macrovision Professional Services


Macrovision offers more than industry-leading software. We also provide training,
technical support, and consulting services that solve all your software installation,
updating, and enterprise application management needs.

Expert Training Services


Whether you’re a novice or an experienced user wishing to refine your skill set,
Macrovision’s training courses are the answer.

12 InstallShield Express Edition User Guide


Chapter 2: Welcome to Macrovision
Macrovision Professional Services

Macrovision’s professional trainers are authorities on installation engineering,


updating, enterprise software packaging, software licensing, and license management.
They will teach you the skills you need to become an expert.
• Only Macrovision offers classes run by Macrovision-certified trainers.
• Every class features hands-on training for solving real-world issues.
• Private, on-site courses customized to your company’s needs are also available.
Visit http://www.macrovision.com/education today to find out more or fill out our
online form.

Product Support Services


Whenever you need assistance, Macrovision’s technical support staff can answer any
question that you have and help you overcome any issue that you face.
• Besides the many award-winning support resources on the Macrovision Web site,
Macrovision offers a number of annually renewable maintenance plans to meet
your specific needs.
• Choose the maintenance plan that best fits your needs and budget.
• Get personalized assistance from Macrovision’s senior engineers and support
technicians.
Visit http://www.macrovision.com/support/index.shtml today to find out more.

Expert Consulting Services


Macrovision is the premier source for installation engineering, updating, enterprise
software packaging, software licensing, and license management services worldwide.
• Get the additional expertise you need to complete your projects on time and on
budget.
• Get professional results without tying up your company’s internal resources.
• Work alongside our experts to learn invaluable techniques and best practices.
• Visit http://www.macrovision.com/consulting today to find out more or fill out
our online form.

InstallShield Express Edition User Guide 13


Chapter 2: Welcome to Macrovision
Technical Support Resources

Additional Contact Information


Table 2-2: Additional Contact Information for Macrovision Professional Services

Location Telephone Number


The Americas, Australia, New Zealand (1) (847) 466-6000
Europe, Middle East, Africa (44) (0) (117) 903-0650
Asia-Pacific (81) (3) 5774-6253

Technical Support Resources


Macrovision’s Product Support Services team offers a set of comprehensive resources
to help you find the answers you need. Comprehensive user documentation for your
Macrovision product can be found in the product help library. Also, online resources
such as our Knowledge Base provide quick access to years of experience at no cost,
while maintenance plans give you more robust support with our expert engineers.
Take a look at your options below and see which solution is right for you.

Knowledge Base
The Knowledge Base is located in the Support section of the Macrovision Web site at
http://www.macrovision.com/support/index.shtml. It contains answers to many
commonly asked questions and includes new information about InstallShield that may
not appear in the documentation. You can use the Knowledge Base search engine to
search articles by phrases, numbers, platforms, and version.

Support Site
In addition to enabling you to search the Knowledge Base, the Macrovision Support
site at http://www.macrovision.com/support/index.shtml enables you to:
• Obtain InstallShield updates.
• Submit InstallShield feedback.
• View webinars.
• Perform InstallShield registration.
• Obtain InstallShield white papers, case studies, marketing materials, and training
materials.
• Obtain object libraries and sample projects.

Online Communities
The online communities are another excellent resource when you have questions
about using InstallShield. In these communities, users like you share tips and ideas

14 InstallShield Express Edition User Guide


Chapter 2: Welcome to Macrovision
Contacting Macrovision Corporation

and help each other get the most out of InstallShield. Visit the communities in the
Support section of our Web site, available at http://community.macrovision.com.

Contacting Macrovision Technical Support


Macrovision offers a variety of maintenance plans to fit the individual needs of all of
our customers. Please visit http://www.macrovision.com/support/options/index.shtml
to find the plan that suits you best.

Contacting Macrovision Corporation


You may contact us from anywhere in the world by visiting the Macrovision Web site
at http://www.macrovision.com.

InstallShield Express Edition User Guide 15


Chapter 2: Welcome to Macrovision
Contacting Macrovision Corporation

United States
Table 2-3: United States Contact Information

Office Address Telephone Directions


Corporate Macrovision Tel: (408) 743-8600 Map to Santa Clara
Headquarters: Santa Corporation office
Fax: (408) 743-8610
Clara Office 2830 De La Cruz Blvd.
Santa Clara, CA Email:
95050 corpinfo@macrovi
sion.com
Entertainment Macrovision Tel: (408) 743-8600 Map to Santa Clara
Technologies Group Corporation office
Fax: (408) 743-8610
and Software 2830 De La Cruz Blvd.
Technologies Group Santa Clara, CA Email:
(Licensing 95050 corpinfo@macrovi
Products): Santa sion.com
Clara Office
Software Macrovision Tel: (847) 466-4000 Map to Chicago office
Technologies Group Corporation
Fax: (847) 619-0788
(Installation and 900 National Parkway,
Enterprise Suite 125 Email:
Products): Chicago Schaumburg, IL 60173 info@installshield.com
Office
Software Macrovision Tel: (415) 512-7771 Map to San Francisco
Technologies Group Corporation Fax: (415) 723-7244 Office
(Installation and 514 Bryant St. Email:
Enterprise San Francisco, CA info@ZeroG.com
Products): San 94107-1217
Francisco Office

Europe, Middle East, and Africa Region


Table 2-4: Europe, Middle East, & Africa Contact Information

Office Address Telephone Directions


Macrovision UK Ltd. Macrovision UK Ltd. Tel: (44) (870) 871- Distance Map
Entertainment Malvern House 1111
Close-up Map
Technologies Group 14-18 Bell Street
Fax: (44) (870) 871-
and Software Maidenhead
1161
Technologies Group Berkshire, SL6 1BR
(Licensing United Kingdom
Products):
Maidenhead Office

16 InstallShield Express Edition User Guide


Chapter 2: Welcome to Macrovision
Contacting Macrovision Corporation

Table 2-4: Europe, Middle East, & Africa Contact Information (cont.)

Office Address Telephone Directions


Software Macrovision Tel: (44) (117) 903- Close-up Map
Technologies Group Corporation 0650
(Installation and Kings House
Fax: (44) (117) 903-
Enterprise 14 Orchard Street
0641
Products): Bristol Bristol, BS1 5EH
Office United Kingdom Email:
info@installshield.co
.uk
Software Macrovision Tel: (44) (870) 873- Distance Map
Technologies Group Corporation 6300
Close-up Map
(Licensing Products) Vision House, Priory
Fax: (44) (192) 870-
Cheshire Office Court
6329
Preston Brook,
Cheshire, WA7 3FR
United Kingdom
Software Macrovision Tel: (49) 6021-
Technologies Group Corporation 620139
(Licensing Products) Auf der Höhe 8
Fax: (49) 6021-
Germany Office 63808 Haibach
620141
Germany

Asia Region
Table 2-5: Macrovision Asia Region Contact Information

Office Address Telephone Directions


Macrovision Macrovision Tel: (852) 2868-5131
Corporation Greater Corporation
Fax: (852) 2850-6690
China Office Unit 301B, 3/F
Malaysia Building Email: Eric.So@
50 Gloucester Road, macrovision.com
Hong Kong
Macrovision Japan Macrovision Tel: (81) (3) 5774-
and Asia K.K. Japan Corporation 6253
Office Takaha Building 2F
Fax: (81) (3) 5774-
6-18-5, Jingumae,
6269
Shibuya-ku
Tokyo 150-0001 Japan

InstallShield Express Edition User Guide 17


Chapter 2: Welcome to Macrovision
Contacting Macrovision Corporation

Table 2-5: Macrovision Asia Region Contact Information (cont.)

Office Address Telephone Directions


Macrovision Korea Macrovision Tel: (82) (2) 6241-
Korea Office Corporation 5700
Suite 417,
Fax: (82) (2) 6241-
Korea City Air Terminal
5701
B/D
159-6 Samsung-dong, Mobile: (82) (11) 779-
Kangnam-ku, 0445
Seoul 135-728 Korea
Macrovision Macrovision Tel: (886) (2) 2999-
Corporation Taiwan Corporation 7979
Office 6F-13, No. 12, Lane
Fax: (886) (2) 2999-
609, Sec. 5
7575
Chung-Hsin Rd., San-
Chung Email: Keith.Lien@
Taipei, Taiwan 241 macrovision.com

18 InstallShield Express Edition User Guide


3
GETTING STARTED

InstallShield provides powerful features and time-saving tools that make authoring
reliable Windows Installer and InstallScript installations easy. The InstallShield Help
Library is a resource that will help you harness the full potential of InstallShield. The
help topics you might want to read first depend upon your previous experience with
InstallShield installation-authoring software. The table below directs you to various
topics based on your level of experience.

Table 3-1: Getting Started Road Map

Level of Familiarity Top Help Topics


You have not created installations To learn general information about installations,
previously. refer to the following topics:
• Installation Fundamentals
• Application Lifecycle
You are new to InstallShield. If you have created installations previously but
you do not have experience using InstallShield,
see the following topics:
• Working with the InstallShield Interface
• Working with Projects
• Tutorials
• Supported Application Programming
Languages

InstallShield Express Edition User Guide 19


Chapter 3: Getting Started
Installation Fundamentals

Table 3-1: Getting Started Road Map (cont.)

Level of Familiarity Top Help Topics


You have used other Macrovision products. If you have used other products from
Macrovision Corporation, refer to any of the
following topics:
• Migrating from Earlier Versions of
InstallShield
• Upgrading to the Premier or Professional
Editions of InstallShield
• Project Assistant
• Overview of Installations
You are an intermediate-level or advanced- If you are familiar with InstallShield, you may
level user of InstallShield. want to review the following topics:
• Errors and Warnings

Installation Fundamentals
An installation, in its simplest terms, is the “package” used to install your files and
programs onto your user’s machine. It is a complete collection of the application files,
as well as logic that interacts with the installer engine. The primary task of any
installation is to transfer the application files from the source medium to the end user’s
computer. The complexities of the Windows operating system make it anything but
simple to create an effective, coherent installation without the aid of a utility such as
InstallShield.
An installation is divided into three levels: products, features, and components. The
following diagram illustrates this hierarchy:

Figure 3-1: Installation Hierarchy

Figure 3-2: Installation Hierarchy

InstallShield Express Edition User Guide 20


Chapter 3: Getting Started
Overview of Installations

A product is the highest level of organization in an installation project. A product is


usually one main application (for example, a word processor) and all of the files and
data that the application requires; a suite of applications may also be a product.
A feature is the smallest installable part of a product, from the end user’s perspective.
As the designer of an installation program, you usually allow the user to choose which
features to install and which features to leave on the source media. In a word processor
product, the main executable may be one feature, and optional dictionaries may be a
separate feature. A feature should be self-contained, in the sense that a feature should
not require sibling features. For example, a thesaurus feature should not require a
dictionary feature that the user can choose not to install. However, you can design
features to contain subfeatures, which allow the end user finer control over which files
and data to install.
Each feature in a project is made up of one or more components. A component is the
smallest installable part of a product. The Express edition of InstallShield creates
components for you automatically. The actual breakdown of features into various
components is not visible anywhere within the InstallShield user interface. In
addition, components are invisible to the end user. Each component contains files (and
other resources) with similar properties. For example, all of the files in a component
will be installed in the same directory on an end user’s machine, and all of the files in
a component should apply to the same operating system or language. A dictionary
feature might contain several language-specific dictionary components. In addition to
containing files, components generally contain registry data, shortcuts, file extension
information, and other system data to write to a user’s machine.

Overview of Installations
Even if you are unaware of what a setup is, chances are you have used one before. If
you have ever installed a product onto your computer, you have seen a setup in action,
from the end user’s perspective. The setup transfers files from the source medium to
your local drive. It also makes the required registry entries, creates shortcuts, and
registers COM servers. Setups commonly gather information about the target machine
and the user.

Typical Elements of an Installation

Perform File Transfer


File transfer involves copying files from the source medium, such as a CD or a floppy
disk, to a local drive on the end user’s machine. Depending on the configuration the
end user chooses, all or only some of the files may be transferred to the local disk.
During file transfer, a setup can display billboards that provide product information
such as new features or usability tips. A status bar may also be displayed to show the
progress of the file transfer process.

InstallShield Express Edition User Guide 21


Chapter 3: Getting Started
Overview of Installations

Display User Interface


The user interface of a setup provides information and setup configuration choices to
the end user. Through the user interface an end user can choose to install only part of a
product, choose to leave some files on the source medium, view a license agreement,
or provide information to the installer that may be necessary to ensure the proper
configuration of the installation. The user interface can be customized to meet
whatever needs you may have. For example, you can prompt a user for a serial
number before starting the installation if you want to protect your software against
illegal use.

Create Shortcuts
Shortcuts are links to files and applications that can be created on the end user’s
machine during a setup. Shortcuts are often placed on the desktop or the Start menu of
the target machine to provide quick and easy access to a program or its files.

Register File Associations


If your product uses a distinct file type you need to register those file types on the end
user’s system. For example, Notepad creates a file with a .txt extension. In order for a
file type to be recognized by your end user’s system, it must be registered in the
system registry. The process of registering a file type is handled during a setup.

Register COM, COM+, and DCOM Files


COM servers (such as ActiveX, COM, and COM+ files) require special registration so
that applications can access the files’ interfaces. Traditionally, these EXEs, DLLs, and
OCXs contained self-registration functions that could be invoked to register the files
during installation. However, relying on self-registration can cause some problems:
the end user cannot always be certain of what information is being registered or that
the registry entries will be fully cleaned up when the file is uninstalled.
The solution provided by the Windows Installer service is to write the necessary
registry entries during setup and then remove them when the COM component is
uninstalled. This method helps to ensure that all the COM servers are registered in the
appropriate way.

Register Product for Uninstallation


In order to uninstall a product, the operating system must know that the product is
present. Therefore, a setup registers a product with the operating system so that it can
be easily uninstalled. This registration is required for Windows 2000 logo compliance.
Much of the information registered in this process is available to the end user through
the Add/Remove Programs applet. For example, technical support contact

InstallShield Express Edition User Guide 22


Chapter 3: Getting Started
Application Lifecycle

information, product update information, product version, and product publisher


information are all registered in this process.

Application Lifecycle
Your application lifecycle should not end when your customer installs your
application. As a software vendor, the success of your application goes well beyond
the initial installation on the customer’s desktop. Customers expect to have easy
access to product updates, enhancements, and critical information. Your ability to
communicate with your customers and monitor the health of your application is vital
to your ongoing growth and profitability.
Too often, software vendors require their customers to initiate communication.
Vendors who are not proactively creating an ongoing dialog are missing a tremendous
opportunity. Unless the customer is an active visitor to your Web site or public user
communities, they miss important information about updates, upgrades, hot fixes, and
general technical bulletins. You miss revenue and service opportunities.

Figure 3-3: How Update Service Manages the Application Lifecycle

The above diagram illustrates how the Update Service is used to manage the
application lifecycle:
1. Create Install—InstallShield makes it easy for software developers to create
installations that run on any platform.
2. Run Install—Installations created with InstallShield technology have
successfully installed on over 400 million machines worldwide.
3. Create Update—InstallShield enables software developers to rapidly build
patches and updates.
4. Notify User—The Update Service notifies every user that a new update is ready
to be installed.

InstallShield Express Edition User Guide 23


Chapter 3: Getting Started
Starting InstallShield

5. Download & Install—The Update Service downloads the update and installs it in
one seamless, integrated process.
6. View Reporting—The Update Service provides immediate feedback on the
update’s adoption rate.

Starting InstallShield
Each time you open InstallShield, you are taken directly to the InstallShield Start
Page. The Start Page provides quick access to product information, to recently opened
projects, and to InstallShield resources.

InstallShield Start Page


The InstallShield Start Page provides quick access to product information, to recently
opened projects, and to InstallShield resources.

Project Tasks
Click a project task to quickly create a new project, open an existing project, or
browse to one of the sample projects included with the InstallShield installation.

Help Topics
Frequently accessed help topics are listed in this section. To access the entire
InstallShield Help Library from the Start Page, press F1 or click the Help Library link
in the Resources section.

(Recently Opened Projects)


The section in the middle of the Start Page lists your most recently accessed projects
and the dates on which they were last modified.
Beneath the project list are links to the top Knowledge Base articles and information
on upcoming InstallShield training courses and seminars.

Resources
The Resources section contains a number of links to connect you to helpful
InstallShield information and Macrovision’s responsive customer support.

Contact Us
To provide feedback about InstallShield or join our Customer Experience
Improvement Program, click one of the links listed here.

InstallShield Express Edition User Guide 24


Chapter 3: Getting Started
Working with Projects

Working with Projects


When you create your installation, you also create an InstallShield project file (.ise).
This file stores all the logic and information necessary to build your installation file
(.msi). An InstallShield project specifies the files, folders, and operations that make up
the project’s output. A project’s output is the installation.
A project can be as simple or as complex as you need to meet your requirements. A
simple project might consist of files, components, features, and registry entries. More
complex projects might consist of these items plus redistributables, initialization file
changes, and calls to external .dll file functions.

Project Types
InstallShield offers a number of different project types to assist you in creating the
optimal project for your end users.
• Express Project—An Express project uses Windows Installer to provide the user
interface for the installation. When you choose this project type, you need to
create features and specify all application files and other distributable data.
• Visual Basic 6.0 Wizard—Select this option to launch the Visual Basic Wizard.
• QuickPatch Project—This project type is recommended for installation authors
who want to ship small, single updates to their end users. Creation of a
QuickPatch begins with the Create New QuickPatch Wizard.
• Visual Basic .NET Wizard—Select this option to launch the Visual Studio .NET
Wizard for Visual Basic .NET, Visual C++ .NET, and C# .NET.
• Visual C++ .NET Wizard—Select this option to launch the Visual Studio .NET
Wizard for Visual Basic .NET, Visual C++ .NET, and C# .NET.
• C# .NET Wizard—Select this option to launch the Visual Studio .NET Wizard
for Visual Basic .NET, Visual C++ .NET, and C# .NET.
• Compact Project—A Compact project uses a special small installer engine to
provide the user interface for an installation. When you choose this project type,
you need to create features and specify all application files and other distributable
data. Although Compact installation projects have some limitations—for
example, English is the only language available for the end user interface—they
enable you to create a very small executable file (Setup.exe) that you can
distribute to end users. This Setup.exe file is a compressed, self-extracting file
that contains all of the application files, as well as the Compact installer engine
developed by Macrovision Corporation.
• Smart Device Setup Wizard—The Smart Device Setup Wizard guides you
through the process of creating installations for smart devices.

InstallShield Express Edition User Guide 25


Chapter 3: Getting Started
Working with Projects

Express Projects
Express is the standard project type for creating installations in InstallShield. Express
projects use the Windows Installer service to drive the entire installation. The flow of
your installation’s user interface (UI) is authored directly in the .msi package, and the
Windows Installer service uses its native user interface rendering capabilities to
display the UI to your end users.

QuickPatch Projects
A QuickPatch project is a specific type of project recommended for installation
authors who want to ship small, single updates to their users. Changes that are more
extensive such as adding custom actions and changing .ini data typically require a
standard patch.
QuickPatch authoring provides a simple alternative to creating a patch configuration
in the Patch Design view, even though it provides less customization. Fundamentally,
both patch creation methods produce the same deliverable types: .msp and .exe files.
With a QuickPatch, you can do any of the following:
• Add new files to the original installation or an earlier QuickPatch.
• Delete files in the original installation.
• Delete files that were added with a previous QuickPatch.
• Perform the same set of above operations on registry entries.
• Remove custom actions that were included with the original installation but that
do not apply to the current QuickPatch project.
The creation of a QuickPatch project always begins with the Create New QuickPatch
Wizard. Completing the wizard ensures that all basic requirements for the QuickPatch
project are met. Then you can configure project settings once it opens in InstallShield.

Smart Device Installation Projects


InstallShield provides the functionality to develop installations for the latest smart
devices from within Microsoft Visual Studio .NET 2003 and from within
InstallShield. InstallShield Smart Device installations can be added to your smart
device solution in Visual Studio .NET 2003, enabling your installation to be built
automatically along with your smart device solution.

What Is a Smart Device?


Smart devices are the new breed of devices that are based on Windows Mobile
technology. These devices include Pocket PCs, handheld PCs, Smartphones, Pocket
PC phones, and Windows CE .NET devices. While all of these devices have Windows

InstallShield Express Edition User Guide 26


Chapter 3: Getting Started
Working with Projects

Mobile technology at their core, they all have different requirements for software
development and installation.

What Is the .NET Compact Framework?


The .NET Compact Framework is a scaled-down version of the .NET Framework
designed to run on resource-constrained devices, such as the smart device examples
listed above. The .NET Compact Framework is currently available only for Pocket PC
and Windows CE .NET devices, with support for more devices forthcoming.

What Development Tools Do I Use to Create Software for


Smart Devices?
If you are developing managed code for the .NET Compact Framework, use Visual
Studio.NET 2003. If you are developing native code, use eMbedded Visual Tools 3.0
or eMbedded Visual C++ 4. InstallShield supports creating installations for managed
code, native code, or a combination of the two.

How Is Software Installed on Smart Devices?


Depending on the device, there are a number of ways to install software. For example,
a Smartphone might have software installed over a general packet radio service
(GPRS) Internet connection. Pocket PCs can have software installed by tethering the
device to a desktop computer and synching. Other devices install software
automatically when a storage card is inserted. InstallShield supports all of these
scenarios.

Creating Smart Device Installations


InstallShield’s Smart Device Setup Wizard generates the .cab files that are used to
install the application to the Smart Device. These .cab files can be deployed to the
Smart Device by using a storage card, or by downloading over a network or through
Microsoft ActiveSync. The Smart Device Setup Wizard also includes the necessary
.cab files for the Microsoft .NET Compact Framework redistributables, as well as the
Autorun.exe file required for memory card installations.

PROJECT The Smart Device project type should be used only for straight-to-device installations that do not
use ActiveSync or any other desktop component.

Using the Smart Device Setup Wizard


Use the Smart Device Setup Wizard to:

InstallShield Express Edition User Guide 27


Chapter 3: Getting Started
Working with Projects

• Create an installation that will be installed directly to the device without being
installed to a desktop computer first—for example, software installed from a
storage card, such as a Compact Flash or Secure Digital card.
• Create an installation where you want only the .cab files that can then be installed
to the smart device.

Running the Smart Device Setup Wizard


You can run the Smart Device Setup Wizard from inside InstallShield or Microsoft®
Visual Studio .NET. If you are creating an installation for a smart device solution in
Visual Studio .NET 2003, it is best to run the Smart Device Setup Wizard from within
Visual Studio .NET 2003. If you are creating an installation for an application
authored using some other tool, such as eMbedded Tools 3.0 or eMbedded Visual C++
4, you can run the Smart Device Setup Wizard from within InstallShield.

InstallShield

TASK To run the Smart Device Setup Wizard from within InstallShield:

1. On the File menu, click New. The New Project dialog box opens.
2. On the Mobile tab, select the Smart Device Setup Wizard project type.
3. Enter a project name and location, and click OK. The Smart Device Setup Wizard
opens.

Visual Studio .NET 2003

TASK To run the Smart Device Setup Wizard from within Visual Studio .NET 2003:

1. After creating a smart device solution in Visual Studio .NET, right-click the root
of the Solution Explorer, point to Add, and select New Project. The Add New
Project dialog box opens.
2. In the project types list, select the Smart Device Setup Project from the
InstallShield Projects group. The Smart Device Setup Wizard opens.

Building a Smart Device Installation


If you launched the Smart Device Setup Wizard from within InstallShield, the smart
device installation is built when you build your installation in InstallShield. If you
added your smart device installation to a Visual Studio .NET smart device solution,
the installation is built when you choose to build the solution from inside Visual
Studio .NET.

InstallShield Express Edition User Guide 28


Chapter 3: Getting Started
Working with Projects

In either case, the .cab file required to install your application is placed in the root of
the build image. If you chose to redistribute the .NET Compact Framework, create an
Autorun.exe file, or include native code, folders for each processor-platform
combination are created. These folders contain the appropriate .cab files and/or
executable files for that particular processor/operating system ID. This exact folder
structure should be copied to your storage card in order for the auto-run mechanism to
work.

Using Projects
InstallShield allows you to create, edit, upgrade, and save numerous project types—
from installation projects to InstallShield object projects that allow you to reuse
functionality within InstallShield.
The pages in this section cover a variety of topics, including how to create a particular
project type, how to save projects, and related information.

Creating New Projects


There are a number of ways to create a new InstallShield project.

TASK To create a new project, do one of the following:

• Click the New Project button on the toolbar or on the Start Page.
• Press Ctrl+N.
• On the File menu, click New.
Any of these steps launches the New Project dialog box, where you can select the
project that you want to create. If you select an installation project in the New Project
dialog box, the Project Assistant launches to help you create your project.

Creating a Project From Within Microsoft Visual Studio


.NET
You can create an InstallShield project from within the Microsoft Visual Studio .NET
workspace.

Opening Projects

TASK To open an existing InstallShield project, do one of the following:

• Click the Open Project button on the toolbar.

InstallShield Express Edition User Guide 29


Chapter 3: Getting Started
Working with Projects

• On the File menu, click Open.


• Press CTRL+O.
• On the Start Page page, click the Open an existing project link or click a
recently opened project link.
• Double-click a project file on the desktop or in Windows Explorer.
With the exception of clicking on a specific file or file link, all of the above options
launch the Open dialog box, which allows you to browse to your project file.
If the installation project that you want to open was created with a version of
InstallShield Express prior to version 3, see Migrating from Earlier Versions of
InstallShield.

Opening Projects Created with Earlier Versions of


InstallShield

TASK To open a project created with an earlier version of InstallShield:

1. On the File menu, click Open. The Open InstallShield Express Project dialog
box opens.
2. In the Files of type list, select the type of project that you would like to open.
3. Select the project file that you would like to open.
4. Click Open to begin migrating this project.

Saving Projects
When you create a new project, it is saved automatically with the name and location
that you provide in the New Project dialog box.
InstallShield enables you to save a copy of the open project as a new project with a
different name and location.

Saving a Project with a New Name and Location


When you save your project with a new name and location, a copy of the renamed
project file and all of its associated files and folders are saved in the new location. The
next time that you save your project, all changes are saved to this new location.

InstallShield Express Edition User Guide 30


Chapter 3: Getting Started
Working with Projects

TASK To save your project with a new name and location:

1. On the File menu, click Save As. The Save As dialog box opens.
2. In the Save in box, select the appropriate location.

NOTE When you save a project with external dependencies, your new project points to the original
copies of these files. Duplicate copies are not made. Therefore, before you delete your original
project, ensure that you do not delete any files that may be used by the new project.

Changing the Default Project Location


All new projects are saved by default in the following location:
C:\My InstallShield Express Projects

TASK To specify a new default location for your setup projects:

1. On the Tools menu, click Options. The Options dialog box opens.
2. In the Project Location box, enter a new path or click Browse to find the
appropriate location.
3. Click OK.

The default location for all new projects that you create with InstallShield is the one
that you specified. Although this folder is used for all new projects, any existing
projects remain in the previous location.

Converting Express Projects to Compact Projects and


Vice Versa
If you create an Express project and later decide that you want your installation to take
advantage of the Compact installer engine, you can convert your Express project to a
Compact project type. Similarly, if you create a Compact project and later decide that
you want your installation to include any of the functionality offered in an Express
project, you can convert your Compact project to an Express project type.

InstallShield Express Edition User Guide 31


Chapter 3: Getting Started
Working with Projects

Special Considerations for Express-to-Compact


Conversions
If you convert an Express project to a Compact project, your Compact project may not
have some of the functionality that is available in Express projects. For example, you
can add merge modules and objects to your Express project in the Redistributables
view; however, redistributables cannot be added to a Compact project. Therefore, if
you add redistributables to your Express project and then convert the project to a
Compact project, the redistributables will not be included in your Compact
installation.
When you convert a project from Express to Compact, the Express-only functionality
is not removed from your project file (.ise). Therefore, if you convert your project
back to an Express project, the Express-only functionality is once again available in
your project.

Converting Projects

TASK To convert an Express project to a Compact project or vice versa:

• Converting an Express project: On the Project menu, click Convert to Compact


Project.
• Converting a Compact project: On the Project menu, click Convert to Express
Project.

GUIDs
GUID stands for Globally Unique Identifier. A GUID is 128 bits long, and the
algorithm used to generate a GUID guarantees each GUID to be unique. Because
GUIDs are guaranteed to be unique, they can be used to identify COM classes,
Product Codes, and various other codes.
For example, after a product is installed, a key is created under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unin
stall and is named after the installation’s Product Code. At one time, this key was
named after the Product Name. However, this caused a potential conflict. If two
installations were installed on the same machine, and both shared the same Product
Name, they would also share the same registry key. Because a GUID is now used, it
guarantees that this conflict does not occur.
An example GUID is {5D607F6A-AF48-4003-AFA8-69E019A4496F}. Any letters
in a GUID must be in uppercase.

InstallShield Express Edition User Guide 32


Chapter 3: Getting Started
Working with Projects

GUIDs in Your Project


When you create an installation project, there are a number of different GUIDs that
are relevant to your project.

Table 3-2: GUIDs

GUID Name Description


Product Code or Product GUID The product GUID uniquely identifies your
application.
Package Code or Package GUID The package code uniquely identifies your
installation package.
QuickPatch GUID The patch GUID uniquely identifies a QuickPatch
package.
Upgrade Code or Upgrade GUID The upgrade GUID uniquely identifies a family of
products for upgrade purposes. It is important for
upgrades.

For information on when you need to change GUIDs in your project, see Updating the
Package Code, the Product Version, and the Product Code.

Globalization
You can create an installation that runs in a particular language; that is, the run-time
dialogs that appear during installation contain text in the specified language.
Creating an installation for one language is the first step in completing your
installation project when you plan on distributing your installation in a number of
different languages. When you create your project, you can select one of the supported
languages from the Project Language list on the New Project dialog box. Your
selection determines the language in which all of your installation’s run-time dialogs
appear.
You can create different installation projects for each language in which you want to
distribute your application. If you plan to distribute your installation in both English
and German, for example, you can create two different installation projects—one in
which you select English as the project language and one in which you select German
as the project language.
If you want your installation to appear in a different language, you can export the
string table entries, translate the strings, and then import them back into your project.

NOTE You cannot change the language after you have created your project, except by exporting and
importing the string table entries for translation.

InstallShield Express Edition User Guide 33


Chapter 3: Getting Started
Working with Projects

After you have created your project, you can edit the text that appears in the run-time
dialogs in the Text and Messages view.

Supported Languages
InstallShield currently provides support for the following languages:
• Basque
• Bulgarian
• Catalan
• Chinese (Simplified)
• Chinese (Traditional)
• Croatian
• Czech
• Danish
• Dutch
• English
• Finnish
• French (Canada)
• French (France)
• German
• Greek
• Hungarian
• Indonesian
• Italian
• Japanese
• Korean
• Norwegian
• Polish
• Portuguese (Brazil)
• Portuguese (Portugal)
• Romanian
• Russian
• Serbian (Cyrillic)
• Slovak
• Slovenian
• Spanish

InstallShield Express Edition User Guide 34


Chapter 3: Getting Started
Working with Projects

• Swedish
• Thai
• Turkish

EDITION The Express project type available in InstallShield supports only one language per installation
project. If you want to create an installation that runs in more than one language, it is
recommended that you upgrade to the Premier edition of InstallShield; this edition has built-in
support for creating projects that run in more than one language. It also offers granular control
at both build time and run time over which files are installed based on the language.

Language Identifiers
Throughout InstallShield, you must refer to specific languages by their language
identifiers, or LCIDs. The identifier is an integer value that identifies a specific
language. The language ID is more commonly given as a hexadecimal value, but you
must specify the decimal version for Windows Installer.

Table 3-3: Language Identifiers

Language Identifier
Basque 1069
Bulgarian 1026
Catalan 1027
Chinese (Simplified) 2052
Chinese (Traditional) 1028
Croatian 1050
Czech 1029
Danish 1030
Dutch 1043
English 1033
Finnish 1035
French (Canada) 3084
French (France) 1036
German 1031
Greek 1032
Hungarian 1038
Indonesian 1057

InstallShield Express Edition User Guide 35


Chapter 3: Getting Started
Sample Files

Table 3-3: Language Identifiers (cont.)

Language Identifier
Italian 1040
Japanese 1041
Korean 1042
Norwegian 1044
Polish 1045
Portuguese (Brazil) 1046
Portuguese (Portugal) 2070
Romanian 1048
Russian 1049
Serbian (Cyrillic) 3098
Slovak 1051
Slovenian 1060
Spanish 1034
Swedish 1053
Thai 1054
Turkish 1055

Sample Files
Some sample files are included with the InstallShield installation. These files are
stored in the Samples folders in the following location by default:
C:\Program Files\IS11.5 Express\Samples

These files are used in conjunction with the tutorials that are available in the
InstallShield Help Library.

Project Assistant
InstallShield includes a Project Assistant to help you quickly and easily build a basic
installation project. The Project Assistant provides a framework of installation project
tasks to guide you through the project creation process and provides pertinent
information along the way.

InstallShield Express Edition User Guide 36


Chapter 3: Getting Started
Project Assistant

How the Project Assistant Works


When you create a new installation project, the Project Assistant view automatically
opens. The Project Assistant is available for the Express and Compact project types.
Information that you enter in the Project Assistant is saved directly to the underlying
project file. Therefore, you can switch to the Installation Designer (described below)
and view or modify your information using the full power of the InstallShield
interface. In this way, you can use the Project Assistant to create the foundation for a
more advanced installation where you use the Installation Designer, as needed, to
customize your installation.

Integration with the Installation Designer


The Installation Designer tab, which is available for Express project types, displays all
of the available views in the InstallShield interface. Here you can add more complex
and powerful elements to your installation project. You can create your installation
project using the Project Assistant and then use the Installation Designer to fine-tune
project elements.
The Installation Designer and the Project Assistant run simultaneously. Any changes
you make in one are reflected instantly in the other. For example, if you remove a
feature while in the Installation Designer tab, that feature is no longer present in your
installation project and does not appear in the Project Assistant.

Using the Project Assistant


When you create a new installation project, the Project Assistant is automatically
activated. The Welcome page contains an installation design diagram to help you
visualize the steps involved in creating an installation. You can work within the
Project Assistant to create your project or click the Installation Designer tab to further
define a basic installation project.

Using the List Controls


Each page contains up to three list controls, when applicable, to assist you in creating
your installation and finding information:
• More Options—Provides additional configuration options relating to the specific
area on the Project Assistant page. These are less common options that complete
the functionality of the Project Assistant.
• Other Places—The view in the Installation Designer that corresponds to the
current Project Assistant page. Clicking the link launches the full Installation
Designer and activates that view.
• Help Links—This list provides links to help topics pertinent to the current Project
Assistant page.

InstallShield Express Edition User Guide 37


Chapter 3: Getting Started
Project Assistant

Navigating in the Project Assistant

TASK To navigate from one page of the Project Assistant to another, do one of the following:

• To navigate directly to a specific page, click the appropriate icon in the navigation
bar at the bottom of the page.
• To follow the Project Assistant steps sequentially, do one of the following:
» Click the Next or Back arrow buttons to move forward or backward.
» Press CTRL+TAB to move to the next page and CTRL+SHIFT+TAB to move
to the previous page.
• To move back to the Home page and view the Installation Design Diagram, click
the Home button on the navigation bar.

Opening the Installation Designer


The Installation Designer tab displays the views in the InstallShield Installation
Development Environment (IDE). Here you can add more complex and powerful
elements to your installation project. To open a view in the Installation Designer, click
the Installation Designer tab.

NOTE The Installation Designer and the Project Assistant run simultaneously. Any changes you make in
one are reflected instantly in the other.

Hiding the Project Assistant

TASK To hide the Project Assistant:

On the View menu, click Project Assistant.

The check mark next to the Project Assistant command is removed, and the Project
Assistant is hidden.
The Project Assistant remains hidden until it is selected in the View menu. When you
create a new project and the Project Assistant command does not have a check mark,
the Installation Designer becomes the default tab.

InstallShield Express Edition User Guide 38


Chapter 3: Getting Started
Project Assistant

Application Information Page


The Application Information page is where you specify general information about the
application your project will install, including the application’s name and version,
your company’s name and Web address, and the application icon.

Add or Remove Programs in the Control Panel


The Add or Remove Programs in the Control Panel provides a list of the applications
that are installed on a computer system. You can view information about particular
programs and add, modify, or remove programs. Systems running Microsoft Windows
2000 or later display more information in Add or Remove Programs.
The information you provide in the Application Information page of the Project
Assistant is used to populate information for your application’s Add or Remove
Programs information when your application is installed.

Company Name and Product Name in Your Installation


Your company name and product name are used in several places in your installation
project.

How Your Company Name Is Used Throughout Your


Installation Project
Your company name is used to set the default installation directory for your
application. It is also used in Add or Remove Programs in the Control Panel for your
application on the end user’s system.

How Your Product Name Is Used Throughout the


Installation Project
Your product name is used in your application’s entry in Add or Remove Programs (in
the support information link) on the target system. It is also used in setting the default
installation directory.

Installation Requirements Page


The Installation Requirements page allows you to easily set installation requirements
for the target system. For example, if your application requires a specific operating
system in order to run properly, you can indicate that in the first section of this page.

InstallShield Express Edition User Guide 39


Chapter 3: Getting Started
Project Assistant

Specifying Operating System Requirements in the Project


Assistant
When you specify operating system requirements on the Installation Requirements
page of the Project Assistant, InstallShield creates launch conditions. These
conditions are added to the LaunchCondition table of your .msi file.

How InstallShield Creates the Operating System Launch


Conditions
When you specify operating system requirements on the Installation Requirements
page, you are essentially excluding operating systems that do not support your
application.
For example, if you select only the check box for the latest Windows operating
system, InstallShield creates a launch condition to exclude the operating systems that
you did not select on the Installation Requirements page. With this type of launch
condition, future versions of Windows operating systems are supported automatically
because they are not excluded in the launch condition.
If you select each of Windows 9x check boxes, the launch condition that InstallShield
creates excludes all Windows NT operating systems. In this scenario, any future
Windows NT operating systems are not supported, but all future Windows 9x
operating systems are supported.

When Does the Installation Check for Requirements?


To ensure that the required software or operating system is present on the target
system, InstallShield checks for these requirements in the beginning of the installation
before any files are transferred.

Modifying the Run-Time Message for Software


Requirements
If your installation has software requirements and the target system does not have the
selected software, a run-time message is displayed during the installation. You can
modify the message that is displayed.

InstallShield Express Edition User Guide 40


Chapter 3: Getting Started
Project Assistant

TASK To modify the run-time message:

1. In the Project Assistant, open the Installation Requirements page.


2. Select Yes in answer to the software requirements question.
3. Select the software that your application requires. The default run-time message is
displayed to the right.
4. Click the run-time message to edit it.

Creating Custom Installation Requirements


You can specify target system requirements in your installation project by using the
Project Assistant or the Requirements view of the Installation Designer (IDE). When
you specify system software requirements, you must run through the System Search
Wizard. The System Search Wizard provides the Windows Installer capability to
search for a particular file, folder, registry key or .ini value on a target system prior to
installation.

TASK To access the System Search Wizard in the Project Assistant:

1. In the Project Assistant, open the Installation Requirements page.


2. In the More Options area, click Create a custom software condition.

Installation Architecture Page


The Installation Architecture page lets you specify the features that you want your
installation program to display to the end user. A feature is the smallest separately
installable piece of your product from the end user’s standpoint. Individual features
are visible to end users when they select a Custom setup type during installation.

NOTE Features can contain subfeatures, subsubfeatures, and so forth, to as many levels as your
installation program requires.

InstallShield Express Edition User Guide 41


Chapter 3: Getting Started
Project Assistant

Adding Features in the Project Assistant

TASK To add a feature:

1. In the Project Assistant, open the Installation Architecture page.


2. Select Yes in answer to Do you want to customize your Installation
Architecture?
3. To add a main feature, click the Installation Architecture explorer. To add a
subfeature, click the feature that you want to be the parent feature, and then click
New. The Project Assistant creates the new feature.
4. Name the feature or click Rename to name it later.

Determining Whether to Create a Multiple-Feature


Installation
Features are the building blocks of an installation, from the end user’s perspective.
Because of this, features should represent distinct and discrete pieces of functionality
within your installation.
If your application has different blocks of functionality, you should create a multiple-
feature installation. For example, if your installation contains your application (.exe
file) and a help library (.hlp file), your installation project should contain at least two
features—one for each piece of functionality.
To learn more about creating a multiple-feature installation within the Project
Assistant, see Creating Installations with Multiple Features.

Creating Installations with Multiple Features


You can create an installation with multiple features using the Project Assistant or in
the Installation Designer (IDE).

TASK To create a multiple-feature installation in the Project Assistant:

1. In the Project Assistant, open the Installation Architecture page.


2. Select Yes to indicate you want to customize your installation architecture.
3. Click the Installation Architecture explorer and then click New. The Project
Assistant creates a new feature.
4. Press F2 or right-click the feature and select Rename to provide a name for the
new feature.

InstallShield Express Edition User Guide 42


Chapter 3: Getting Started
Project Assistant

5. To add another feature at the same level, click the Installation Architecture
explorer and then click New. To create a subfeature, click the feature that you
want to be the parent feature, and then click New. The Project Assistant creates
the new feature.
6. Continue adding features and subfeatures as needed.

Default Features
The default feature concept exists only in the Project Assistant. All resources (for
example, files or registry data) that are added to an installation project need to be
associated with a feature. If a resource is not associated with a feature, it is not
installed to the target system at run time.
Using a default feature simplifies the authoring experience in the Project Assistant.
You do not need to worry about associating project resources with a feature to ensure
that they are installed. When you add registry data, create new shortcuts, or add files
when All Application Data is selected, all of these resources are added to the default
feature. This ensures that all of the project resources you add in the Project Assistant
will be installed to the target system when an end user runs your installation.

Setting the Default Feature


You can set the default feature in the Installation Architecture page of the Project
Assistant.

What Happens If There Are No Features or No Default


Feature Is Selected?
When you navigate to the Installation Architecture page or add data to the Application
Files, Application Shortcuts, or Application Registry page, InstallShield selects the
first root feature as the default feature. If there are no features, InstallShield creates
one silently.

Defining Feature Hierarchy


Top-level features are the highest level in the feature hierarchy. Top-level features
might include the application you want to install, a help library feature, and a sample
projects feature.
Beneath the top-level features are subfeatures or child features. This is a feature that is
dependent upon another feature for installation purposes. If the parent (or top-level)
feature is not installed to the target system, the child feature is not installed.

InstallShield Express Edition User Guide 43


Chapter 3: Getting Started
Project Assistant

Application Files Page


The Application Files page lets you specify the files you want to associate with each
of your features.

Adding Files to Features in the Project Assistant

TASK To add a file to a feature:

1. In the Project Assistant, open the Application Files page.


2. In the feature list at the top of the page, select the feature that should contain the
file.
3. In Destination Computer explorer, select the folder to which you want to add the
file.
4. Click Add Files. The Open dialog box opens.
5. Browse to the file that you want to add.
6. Click Open to add the file to the selected feature. The “The file you have added ...
may have dependencies” message appears.
7. Click Yes if you want to have those dependencies automatically added to your
installation project.

Removing Files from Features in the Project Assistant

TASK To remove a file from a feature:

1. In the Project Assistant, open the Application Files page.


2. Click the file you want to remove and press Delete.

Adding Files to a Fixed Folder Location


If you know exactly where you want the installation to install your project files on the
target system, you can hard-code a fixed folder destination.

TASK To add files to a fixed folder location in the Project Assistant:

1. In the Project Assistant, open the Application Files page.


2. Right-click Destination Computer and click New Folder.

InstallShield Express Edition User Guide 44


Chapter 3: Getting Started
Project Assistant

3. For the new folder’s name, type the drive in which the destination is located—for
example, C:.
4. Beneath the drive letter folder, further define the destination path by adding
subfolders.

Viewing Additional Predefined Folders


The Project Assistant’s Application Files page displays the more commonly used
predefined folders. You can view and hide predefined folders in this page.

TASK To display additional predefined folders:

1. In the Project Assistant, open the Application Files page.


2. Right-click Destination Computer and click Show Predefined Folder.
3. In the list of predefined folders, select the folder you want to display.

TIP To hide predefined folders, deselect them in the list of predefined folders.

Application Shortcuts Page


The Application Shortcuts page lets you specify shortcuts for your application’s files
on the target system’s desktop or Start menu. By default, this page displays a shortcut
for each executable that you have included in your installation project. You can delete
these and add shortcuts to other files that you have included in your installation
project.

File Extensions
File name–extension associations, or file associations, are registry settings that tell
Windows what application to use to open files of a certain type. For example,
Windows typically opens text files (files with the .txt extension) with Windows
Notepad and opens bitmap files (files with the .bmp extension) with Microsoft Paint.
A file extension allows someone to identify the type of file without accessing the file.
A suffix (.abc) is appended to the file name. The file extension is also useful because
another application can recognize whether the application can work with the file (for
example, open the file or modify it), based on the extension.
In InstallShield, you can register your own file extensions in the File Extensions view.
Registering your file extension instructs the target machine’s operating system to use
your application to open files with your file extension when an end user opens a file.

InstallShield Express Edition User Guide 45


Chapter 3: Getting Started
Project Assistant

TASK To access the File Extensions view in the Project Assistant:

On the Application Shortcuts page, in the Other Options area, click File
Extensions. The File Extensions view opens.

Creating Shortcuts to Files Not Included in the Installation


You can configure your installation to create a shortcut that points to a file that already
exists on the target system. This file does not have to be included in your installation
project.

TASK To create a shortcut to a file not included in the installation:

1. Open the Shortcuts view in the Installation Designer.


2. Right-click on the node where you want to create the shortcut on the target system
and select New Shortcut to Preexisting File. The Browse for Shortcut Target
dialog appears.
3. Browse to the target file’s location and the file’s name in the File Name field.
4. Click OK.
5. Define the shortcut’s properties.

Modifying a Default Shortcut in the Project Assistant

TASK To modify a default shortcut:

1. In the Project Assistant, open the Application Shortcuts page.


2. Click the shortcut to activate the shortcut options.
3. Select the shortcut location (Start Menu and/or Desktop) and browse to an
alternate icon, if necessary.

Associating a Shortcut’s Target with a File Extension in


the Project Assistant
You can associate a shortcut’s target with a file extension. When you do this,
Windows will use the target file to launch files with the specified file extension. For
example, if you enter .txt, when the end user opens a .txt file, the target file of this
shortcut is launched to open the .txt file.

InstallShield Express Edition User Guide 46


Chapter 3: Getting Started
Project Assistant

TASK To associate a shortcut’s target with a file extension:

1. In the Project Assistant, open the Application Shortcuts page.


2. Click the shortcut to activate the shortcut options.
3. Select the Associate shortcut with file extension option.
4. Type the file extension that you want to associate with this shortcut’s target—for
example, txt. You can add multiple extensions by separating them with a comma.

Application Registry Page


The Application Registry page lets you specify any registry data that your application
requires.

Updating the Registry


The registry is a database for your computer’s configuration information. Information
included in a computer’s registry includes user profiles, hardware and software
installed on the computer, and property settings.

How Do I Know What Registry Data My Application


Requires?
The application developer should be able to provide registry information for you.
Specifically, you will need to know if the application you are installing requires any
user-specific (HKEY_CURRENT_USER) or machine-specific
(HKEY_LOCAL_MACHINE) settings.
The developer can provide a .reg file that you add to your installation. InstallShield
allows you to import .reg files into your installation project.

Configuring Registry Data in the Project Assistant

TASK To configure registry data:

1. In the Project Assistant, open the Application Registry page.


2. Select Yes in answer to the question about configuring registry data.
3. Right-click the registry item to which you want to add the data, select New, and
point to Key.
4. Name the key.

InstallShield Express Edition User Guide 47


Chapter 3: Getting Started
Project Assistant

5. Right-click the key, select New, and point to the appropriate command. You can
pick Default Value, String Value, Binary Value, DWORD Value, Multi-String
Value, or Expandable String Value, depending on the type of data you want to
register.

Modifying Registry Data Values in the Project Assistant

TASK To modify registry data:

1. In the Project Assistant, open the Application Registry page.


2. Double-click the data. The Edit dialog box opens.
3. Edit the data and click OK.

Associating Registry Data with Features


For Express projects, all of the registry data that you add on the Project Assistant’s
Application Registry page is added to your project’s default feature. You can associate
your registry data with another feature in the Installation Designer.

TASK To associate registry data with a feature other than the default feature:

1. Open the Shortcuts/Folders view in the Installation Designer.


2. Select the feature with which you want to associate the registry data.
3. Create or drag and drop the registry data in the appropriate registry location.

Using Variable Data Types in Registry Data


InstallShield allows you to use variable data types or properties when creating registry
data for your installation project.

TASK To use INSTALLDIR as a variable in the registry

1. In the Project Assistant, open the Application Registry page.


2. Select Yes to indicate that you want to configure the registry data that your
application will install.
3. Right-click HKEY_CLASSES_ROOT, point to New, and select Key.
4. Name the key Installation Location.
5. Right-click the Installation Location key, point to New, and select String Value.

InstallShield Express Edition User Guide 48


Chapter 3: Getting Started
Project Assistant

6. Name the string value My Installation Location.


7. Double-click the My Installation Location key. The Edit Data dialog box opens.
8. In the Value Data field, type [INSTALLDIR].

At run time, the value of [INSTALLDIR] is replaced with the installation directory.

Application Paths
The application path registry key contains data that Windows uses as a private search
path for the specified application’s .dll files. If you install an application’s .dll files
into a directory not found in the PATH environment variable (and not into the
application’s directory), you should set the appropriate application path to include the
.dll file directory during installation. Application path information is stored in the
registry under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths\AppName.exe.

Installation Interview Page


The Installation Interview page lets you specify the dialogs that you want end users to
see when your installation program runs. Based on your answers to the questions on
this page, the Project Assistant adds the corresponding dialog box to your installation
project.

Specifying Dialogs for Your Installation in the Project


Assistant
The questions that are displayed on the Installation Interview page of the Project
Assistant help you specify which dialogs you want the end user to see when your
installation program runs.

TASK To specify dialogs for your installation:

1. Do you want to display a License Agreement Dialog?—Select Yes to browse to


your license agreement file.
2. Do you want to prompt users to enter their company name and user name?—
Select Yes to display a dialog requesting this information.
3. Do you want your users to be prompted to modify the installation location of
your application?—Select Yes to present a dialog that allows end users to change
the installation location. See Allowing End Users to Modify the Installation
Location for more information.

InstallShield Express Edition User Guide 49


Chapter 3: Getting Started
Project Assistant

4. Do you want users to be able to selectively install only certain parts of your
application?—Select Yes to allow end users to select which parts of the
application they want to install. See Creating Selectively Installable Installations
for more information.
5. Do you want to give users the option to launch your application when the
installation completes?—Select Yes and browse to your application file. When
this option is set to Yes, the final dialog in the installation presents a check box
that allows end users to immediately launch your application upon clicking the
Finish button.

TIP To add a custom graphic to your installation dialogs, click the link in the More Options section of
this page to launch the Dialog Images dialog box.

Allowing End Users to Modify the Installation Location


If you want to provide end users with control over where your software is installed on
their system, you can allow them to modify the installation location.
The Windows Installer property INSTALLDIR serves as the default installation
directory. When you allow users to modify the installation location, the Destination
Folder dialog is presented during the installation.

License Agreements
To install your application, end users must agree to abide by certain legal
requirements. For example, most software vendors do not allow users to copy or
distribute their software to others.
To ensure that the end user understands the legal requirements associated with
installing your software, your installation can present an End-User License Agreement
(EULA) in the License Agreement dialog during run time. The EULA is a legal
contract between you and the end user, with regard to the use of your software.
The License Agreement dialog displays your license agreement text and contains Yes
and No options. If the end user does not agree to accept the EULA, your software is
not installed and the installation terminates.

TASK To add a License Agreement dialog to your project in the Project Assistant:

1. In the Project Assistant, open the Installation Interview page.


2. Select Yes to indicate that you want to add a License Agreement dialog.

InstallShield Express Edition User Guide 50


Chapter 3: Getting Started
Project Assistant

3. Type the path to your license agreement file or browse to the file. The file must be
a rich text format (.rtf) file.

Creating Selectively Installable Installations


You can allow your end users to select which portions of your installation they want to
install to their systems. This is a custom installation, which provides a list of the
available features within your installation. The end user can select the features to
install in a dialog presented at run time.
For example, your installation might contain your application’s executable (.exe) file,
a documentation (.chm) file, and a samples file. All of these files are contained in
different features, which are provided in an option list to the end user. If the end user
needs only the application, they can select to install the executable file, but not the
documentation or samples file.

Build Installation Page


The Build Installation page lets you specify what type of distribution you want to
build and, optionally, the location to which you want to copy the distribution files.

Building Your Installation from the Project Assistant

TASK To build your installation:

1. In the Project Assistant, open the Build Installation page.


2. Select the installation image types you want to build.
3. If you want InstallShield to automatically copy your installation to another
location after the build finishes, click the Optional distribution settings link for
each build option and specify the location.
4. Click Build Installations.

The Output window opens; it displays information about the progress of the build. The
build is finished when the Output tab displays the log file information.

After Completing the Project Assistant: Next Steps


After going through the Project Assistant pages and completing the fields, you have an
installation project framework that you can use as a functional installation, or you can
further customize to fit your needs.

InstallShield Express Edition User Guide 51


Chapter 3: Getting Started
Working with the InstallShield Interface

Further Customizing Your Project


The Installation Designer provides an easy way to access all of the installation
creation views available in InstallShield. Click the Installation Designer tab at the top
of the Project Assistant workspace to display the views.
Within the Installation Designer, you can see the View List, which is a list of all
available views for the project type that you are creating. To display the View List on
the left side of the workspace, press F4.

Learning About InstallShield Views


For detailed information about each of the InstallShield views, refer to View
Reference.

Working with the InstallShield Interface


The InstallShield interface is a graphical user interface with conventional Windows-
based elements such as a menu bar, a toolbar, and dialog boxes. This section includes
topics that explain how to perform basic tasks using these elements and how to
customize the interface.

Displaying the View List

TASK To see the View List in the InstallShield interface:

1. Click the Installation Designer tab at the top of the InstallShield interface.
2. Do one of the following to display the View List:

» On the View menu, click View List. The View List appears on the left side of
the InstallShield interface.
» Click the toolbar’s View List button.
» Press F4 to hide or show the View List.

Opening Views in the InstallShield User Interface


The first step in many InstallShield procedures is to open a particular view in the
Installation Development Environment (IDE).

InstallShield Express Edition User Guide 52


Chapter 3: Getting Started
Working with the InstallShield Interface

TASK To open a view:

1. Click the Installation Designer tab. The View List is displayed along the left side
of the IDE. If the View List is not displayed, see Displaying the View List.
2. In the View List, select the view you want to open. To see all available views,
expand the View List folders.

Showing or Hiding Toolbars

TASK To show or hide a toolbar, do one of the following:

1. Right-click a toolbar and select the toolbar that you want to be displayed or
hidden.
2. On the Tools menu, click Customize. The Customize dialog box opens. Select
the check box for each toolbar that you want to be displayed. Clear the check box
for each toolbar that you want to be hidden.

Showing or Hiding Tooltips

TASK To add a button or menu to a toolbar:

• On the Tools menu, click Customize. The Customize dialog box opens.
• Select or clear the Show tooltips check box depending on whether or not you
want to display tooltips.

Adding Buttons and Menus to a Toolbar

TASK To add a button or menu to a toolbar:

1. Ensure that the toolbar that you want to change is visible.


2. On the Tools menu, click Customize. The Customize dialog box opens.
3. Click the Command tab.
4. In the Categories box, click the category for the button or menu that you want to
add.
5. Drag the button or menu from the Buttons box to the displayed toolbar.

InstallShield Express Edition User Guide 53


Chapter 3: Getting Started
Migrating from Earlier Versions of InstallShield

TIP To create your own custom toolbar, drag the button or menu to the empty gray area near the
toolbars.

Removing Buttons and Menus from a Toolbar

TASK To remove a button or menu from a toolbar:

1. Ensure that the toolbar that you want to change is visible.


2. On the Tools menu, click Customize. The Customize dialog box opens.
3. Click the Command tab.
4. Click the button or menu on the toolbar you want to remove.
5. Drag the button or menu from toolbar to the Buttons box.

TIP To create a custom toolbar, drag the button or menu from the Buttons box to an empty gray
area near the existing toolbars.

Creating Custom Toolbars

TASK To create a custom toolbar:

1. On the Tools menu, click Customize. The Customize dialog box opens.
2. Click New. The New Toolbar dialog box opens.
3. Type a descriptive name for the toolbar in the Toolbar name text box, and click
OK.
4. Customize the new toolbar by adding menus or buttons.

TIP Another way to create a custom toolbar is to drag a button or menu from the Buttons box to the
empty gray area near the existing toolbars. The new toolbar is listed in the Toolbars tab and
given a default name. To change the name, modify the text in the Toolbar name text box.

Migrating from Earlier Versions of InstallShield


If you have setup projects created with earlier versions of InstallShield or InstallShield
Express, you can open those projects with your new version of InstallShield. Due to

InstallShield Express Edition User Guide 54


Chapter 3: Getting Started
Migrating from Earlier Versions of InstallShield

the vast underlying technical differences between older versions and the current
version, the migration process does not always produce a one-to-one correlation
between what was in your old project and what makes it into the new project. For
example, InstallShield objects, which existed in earlier versions of InstallShield
Express, have since been replaced by merge modules. In some cases, what may have
been two objects in your old project could be replaced by a single merge module in
your new project.
Installation projects created with InstallShield Express 2.0 and later can be migrated to
this version. Those projects still in InstallShield Express 1.x format can be migrated as
well; however much less information may be transferred to your new installation
project.

IMPORTANT In order to successfully migrate your InstallShield Express 2.x projects to the latest version, use
a system or machine that successfully builds your old project file. For example, if you install the
latest version of InstallShield on a Windows 98 machine and try to migrate an InstallShield
Express 2.x project built on a Windows NT machine, the migration fails. The best way to avoid
this problem is to simply install the latest version of InstallShield onto the same machine as your
earlier version. These two applications can coexist.

Migration Specifics
There are many technical differences between the current version of InstallShield and
those prior to InstallShield Express 3.0. InstallShield Express 2.x is based upon
traditional setup architecture, where an executable file called Setup.exe is created.
This executable contains all the logic necessary to perform your installation. In the
current version of InstallShield, the output file is or contains a relational database
(.msi) containing all the needed information to interact with the Windows Installer
service. Due to these vast differences, there may be aspects of your earlier
InstallShield project that do not fit into the current architecture. Additionally, there
will be gaps in the new project created as a result of the migration. These missing
pieces must be filled in before you can build and distribute your setup.

Project Types
In previous versions of InstallShield, when creating a new setup project you were
prompted to select a project type, such as Access 97. The current version of
InstallShield has no equivalent for project types. The type of project you create
depends upon the files you add to your setup and the system changes you make. All
the information gathered from selecting a certain project type is migrated to your new
InstallShield project. For example, if you selected the Access 97 project type in an
earlier version of InstallShield, the Access 97 merge module is added to your new
InstallShield project during migration.

InstallShield Express Edition User Guide 55


Chapter 3: Getting Started
Migrating from Earlier Versions of InstallShield

Files, File Groups, and Components


All files you have added to your setup are transferred into your new InstallShield
project. In older versions of InstallShield, files were added to file groups and file
groups were added to components. In the current version of InstallShield, files are
added to features. No further levels exist. Therefore, when you migrate your setup
project you no longer have files associated with file groups. Instead, all files belong to
a feature. For every component you have in your old project, a feature is created in
your new project. Your file groups map to destination folders. For more details, see
Destination Folders.

Setup Types
Setup types provide similar functionality in the current version of InstallShield as they
did in earlier versions. The major difference between the two is the fact that setup
types used to be based upon components. In the new version of InstallShield,
components do not exist. Instead they have been replaced by features. The setup types
you specified in your old InstallShield Express project are re-created in the new
InstallShield. To learn more, see Working with Setup Types

InstallShield Objects
InstallShield objects have been replaced with merge modules. If a merge module that
can supply the functionality provided by the object you used in your project exists,
that module is added to your setup. If your setup includes a file that is also included in
a merge module, the module is added to your setup rather than your single file. One
exception to this rule is if the module needed by your setup requires customization,
such as the Access 97 merge module. This module is not added to your setup during
migration due to the customization it requires. The same holds true for the Access
2000/2002/2003 and BDE merge modules. If no module exists that provides the same
functionality as the object you used in earlier versions, add the necessary files by
hand.
To learn more, see Including Redistributables in Your Installation.

InstallShield Extensions
InstallShield extensions have been replaced by custom actions. With custom actions
you can call a function from a DLL or launch an executable. If you had an extension
that performed one of these two tasks, that extension is converted into a custom action
in your new project. For more information, see Using Custom Actions.

Registry Entries
All of the registry data in your old project is added to your new project.

InstallShield Express Edition User Guide 56


Chapter 3: Getting Started
Migrating from Earlier Versions of InstallShield

Shortcuts
Shortcuts in the new InstallShield are much more robust than those found in previous
versions. Any shortcuts you had in your old setup are migrated into your new setup
project. However, since there are many more settings for shortcuts in the latest version
of InstallShield, you may want to go to the Shortcuts/Folders view and configure the
settings for each of the shortcuts your project contains, such as the hot key
combination, the icon index, and the working directory. These settings are not
required, however.
For specific details about each of the settings, see Shortcut Settings.

Dialogs
Although the run-time dialogs in the latest version of InstallShield differ in look from
those in earlier versions, they serve similar functions. The Setup Type dialog, for
example, still serves the same purpose it always has: it allows your customers to select
which setup type they want to use. The same dialogs you chose to include in your old
InstallShield Express project are included in your new project.
One major difference between the dialogs in earlier versions of InstallShield Express
and those in the latest version is the use of .rtf files. When linking to a license
agreement or readme file in earlier versions of InstallShield Express, you would use a
text (.txt) file. The latest version of InstallShield requires you to use rich text (.rtf)
files. Your previously created .txt files are converted to .rtf files as part of the
migration process.

Distribution Media
The type of media you selected in previous versions of InstallShield Express is not
migrated into your new InstallShield setup. Select a medium from the list of available
media types in the Build Your Release view. For information about each of the
available types, see Media Types.
If you had previously released your setup on floppy disk, see Building a Release for
Floppy Disk Distribution.

16-bit Setups
Because the Windows Installer service runs only on 32-bit operating systems, your
16-bit setups do not migrate as well as 32-bit setups. All of the files, shortcuts, and
other settings you created for your 16-bit setup are migrated, but any self-registering
16-bit files you include in your setup do not self-register. In reality, since your setup
cannot run on a 16-bit system, there is little reason for you to have 16-bit files
included in the setup.

InstallShield Express Edition User Guide 57


Chapter 3: Getting Started
Upgrading to the Premier or Professional Editions of InstallShield

Languages
InstallShield has built-in support for many languages. If the language of your old
InstallShield Express project matches one of the supported languages, your new
InstallShield setup is created with the run-time strings for that language. For example,
if you have a setup that is localized to French and migrate that setup to the latest
version of InstallShield, all the strings in the new InstallShield project are in French. If
your old InstallShield Express project runs in an unsupported language, the run-time
strings for your new project appear in English. This does not mean, however, that your
setup cannot run in your desired language. You can translate all the run-time strings in
the Text and Messages view.

Upgrading to the Premier or Professional Editions


of InstallShield
If you find that your installation needs outgrow the functionality available in the
Express edition of InstallShield, you can easily take your existing project and use it to
create an installation with the Premier and Professional editions of InstallShield. The
Premier and Professional editions have greater customization features that more
complex installations require.
To learn more, contact Macrovision Sales or visit the Macrovision Web site (http://
www.macrovision.com) for more information on upgrading.

InstallShield Express Edition User Guide 58


Chapter 3: Getting Started
Upgrading to the Premier or Professional Editions of InstallShield

Customization
Table 3-4: Customization Features and Functionality offered in the Premier and Professional
Editions of InstallShield

Feature Description
Dialog Editor The Dialog Editor allows you to modify the layout of existing end-user
dialogs or create new custom dialogs. Import and export dialogs to
share them across projects. Construct different dialogs for each
language supported in the project. Use the undo/redo capability in the
editor to fine-tune each dialog.
Release Customization Define which project segments to compress, which features to place
on which disk, and which languages to include. Choose to filter
application data based on language to support localization efforts.
Manage Multiple Build versions such as Evaluation, Debug, Standard, and Advanced—
Product Versions from a single project. Allow specific features to be chosen for
inclusion in a release via user-defined flags.

Extensibility
Table 3-5: Extensibility Features and Functionality offered in the Premier and Professional Editions
of InstallShield

Feature Description
InstallScript Custom InstallScript allows you to write and debug custom actions without
Actions leaving InstallShield. Reuse existing InstallScript code to leverage your
investment in previous installations. Calling all other custom action
types is also supported.
Multilingual Use resource strings in the Premier edition of InstallShield for 33
Installations languages. Create one installation that targets all 33 languages. For
additional language support, export all resource strings into a text file,
translate into any language, and reimport.
Merge Module Package pieces of a project for reuse across application installations.
Authoring and Editing Reuse those you create or over 40 included in the product. Edit and
open modules for greater customization.
Export Setup Data Tool Increase efficiency by moving pieces of an existing project (dialogs,
custom actions, or features) to a merge module or another project.
Project Templates Create and manage project outlines that can be used over and over
again, reducing rework and maintaining consistency. InstallShield is
the most powerful and innovative installation authoring product
available.

InstallShield Express Edition User Guide 59


Chapter 3: Getting Started
Supported Application Programming Languages

Control—Project Types and Lifecycle Management


Table 3-6: Additional Features and Functionality offered in the Premier and Professional Editions of
InstallShield

Feature Description
Automation Interface Use script to add new files, add or delete features, change product
name and upgrade code, change release settings, change summary
information stream items, change release flags, change any property,
initiate the build process, and more.
Patch Creation Patches created with the Premier and Professional editions contain
updates to a previous installation or set of installations on a file-level or
byte-level basis. Distribute on the Internet and save end-user time and
server bandwidth.
Source Code Control Simplify the process of checking projects in and out of your source
Integration code control system and save space when differencing projects. The
SCC integration in the Premier and Professional editions of
InstallShield supports Microsoft Visual SourceSafe, Rational
ClearCase, Merant PVCS, and others, through the Microsoft SCC
Interface.
User Interface Step through the user interface sequence and dialogs of a project,
Debugger while watching variables, to confirm conditional behavior or identify
trouble spots.
Project Validation Use standard Microsoft .cub files to validate both full projects and
merge modules. With the Best Practices Wizard, receive notification of
deviations from setup guidelines and recommendations for changes.

Supported Application Programming Languages


InstallShield allows you to create installations for applications created in any
programming language—including applications created with Java, Pascal, C++,
Visual Basic, Delphi, C# .NET, Visual Basic .NET, ASP .NET, and Cobol.
Even if you created your application using a language other than those listed above,
you can use InstallShield to create an installation for your application. In addition—if
you are not deploying an application, but want to package files or a database—you can
use InstallShield to assist with those tasks.

InstallShield Express Edition User Guide 60


4
TUTORIALS

This section contains a tutorial that walks you through the process of creating an
installation using InstallShield. It also contains a tutorial that you can use to learn how
to import a Visual Basic project into your installation.

Table 4-1: Available Tutorials

Tutorial Description
Basic Tutorial Leads you step-by-step through the process of creating a basic installation,
using the InstallShield View List to guide you.
Visual Basic Teaches you how to use the Visual Basic Wizard to import Visual Basic projects
Wizard Tutorial into your InstallShield installation. The wizard scans your project to determine
any file dependencies and displays the results of the scan, showing the files
that can be added to your installation.

InstallShield Express Edition User Guide 61


Chapter 4: Tutorials

62 InstallShield Express Edition User Guide


5
BASIC TUTORIAL

This tutorial is designed to walk you through the process of creating a basic
installation, using the InstallShield View List. All of the necessary files are located in
the \Samples\Othello\Data Files subfolder of your main InstallShield Program
File folder.
The basic tutorial consists of the following tasks:
• Create a New Project
• Organize Your Setup
• Specify Application Data
• Configure the Target System
• Customize the Setup Appearance
• Define Setup Requirements and Actions
• Prepare for Release
• Summary

Create a New Project

TASK To begin the tutorial:

1. Launch InstallShield.
2. On the File menu, click New. The New Project dialog box opens.
3. In the Project Name box, type Othello.ise.
4. In the Project Language box, select English (United States).

InstallShield Express Edition User Guide 63


Chapter 5: Basic Tutorial
Organize Your Setup

5. Click OK.
The InstallShield Installation Development Environment (IDE) opens.

Organize Your Setup


The first step in building your project is to configure organizational information. This
is accomplished through the views associated with the Organize Your Setup step in
the View List.

General Information
The General Information view is where you enter information about your application,
from your company’s name to the Web site your customers can access to learn more
about your application.

TASK To configure general information:

1. Open the General Information view.


2. In the Author field, type your name.
3. In the Authoring Comments field, type A package to install Othello.
4. In the Subject field, type Othello.
5. In the Product Name field, type Othello.
6. Provide an icon for the package. To do this:
a. Click the Display Icon field, and then click the Browse button (...). The Open
dialog box opens.
b. Navigate to the following directory, which is a subfolder in the InstallShield
Program Files folder:
\Samples\Othello\Data Files

c. Select Othello.exe.
d. Click Open.
e. Click OK.
7. In the INSTALLDIR field, type [ProgramFilesFolder]Othello.
8. In the Publisher/Product URL, Product Update URL, and Support URL
fields, type the appropriate URLs for your company.
9. In the Publisher field, type your company name
10. Provide the location of the Readme file by doing the following:
a. Click the Readme field, and then click the Browse button (...). The Open
dialog box opens.

64 InstallShield Express Edition User Guide


Chapter 5: Basic Tutorial
Organize Your Setup

b. Navigate to the following directory, which is a subfolder in the InstallShield


Program Files folder:
\Samples\Othello\Data Files\Readme

c. Select English.txt.
d. Click Open.

Features
The next step in organizing your installation is to create features. These features are
used to install files and data at run time. InstallShield automatically creates one feature
for you: Always Install. This is the only required feature for this project. However,
you need to configure it.

TASK To configure the Always Install feature:

1. Open the Features view.


2. In the Description field, type The executable for the Othello game.
3. Set the Required value to Yes.
4. Set the Visible value to Not Visible.
5. Set the Advertised value to Disallow Advertise.
6. In the Comments field, type This is the only feature.

Setup Types
In the Setup Types view, you can configure the setup types that the end user can
choose from during installation. For this installation, you need only one installation
type.

TASK To configure the setup types:

1. Open the Setup Types view.


2. Select the &Typical check box.
3. Clear the Minimal and Custom check boxes.

NOTE For this tutorial, you can ignore the remaining views in this step because they are irrelevant to
this project. For your own projects, you may want to explore these views to see if you need to
use them.

InstallShield Express Edition User Guide 65


Chapter 5: Basic Tutorial
Specify Application Data

Specify Application Data


The next step in configuring this basic setup is to specify application data. For
purposes of this tutorial, this involves adding files to the already-defined feature.

Files

TASK To specify add files to the existing feature:

1. Open the Files view.


2. In the top portion of this view, navigate to the \Samples\Othello\Data Files
subfolder of your main InstallShield Program Files folder and click that folder to
open it. The files appear in the Source computer’s files pane.
3. In the Destination computer’s folders pane, right-click Destination Computer,
click Show Predefined Folder, and click [INSTALLDIR].
4. Drag Othello.exe and the three .gif files from the Source computer’s files pane
to the [INSTALLDIR] folder in the Destination computer’s folders pane.

Configure the Target System


Target system configuration includes creating shortcuts, modifying the registry,
configuring ODBC resource, making changes to .ini files, configuring file extensions,
and setting environment variables. However, for purposes of this tutorial, you simply
to create a shortcut.

Shortcuts/Folders
The Shortcuts/Folders view lets you create application shortcuts on the target system.

TASK To create a shortcut for your installation:

1. Open the Shortcuts/Folders view.


2. In the Shortcuts explorer, right-click Desktop, and click New Shortcut.
3. Set the Target field to [INSTALLDIR]Othello.exe.
4. Name your shortcut Othello.
5. Set the Description field to Shortcut to the Othello game.
6. Set the Feature field to Always Install.
7. Set the Run field to Normal Window.
8. Set the Working Directory field to [INSTALLDIR].

66 InstallShield Express Edition User Guide


Chapter 5: Basic Tutorial
Customize the Setup Appearance

NOTE For this tutorial, you can ignore the remaining views in this step because they are irrelevant to
this project. For your own projects, you may want to explore these views to see if you need to
use them.

Customize the Setup Appearance


Customizing the setup appearance involves configuring which dialogs should appear
to the end user during installation, how these dialogs appear, whether billboards are
displayed during installation, and what text is displayed. For purposes of this tutorial,
you need only to configure the dialogs.

Dialogs
The Dialogs view lets you select and configure the end-user dialogs that compose the
user interface for your installation. For this tutorial, you can leave the default values
for the Global Dialog Settings properties.

TASK To customize the dialogs for your end users:

1. Open the Dialogs view.


2. In the Dialogs explorer, clear the License Agreement check box and select the
Destination Folder check box.
3. For the Destination Folder dialog, set the Show Change Destination property to
Yes.

NOTE For this tutorial, you can ignore the remaining views in this step because they are irrelevant to
this project. For your own projects, you may want to explore these views to see if you need to
use them.

Define Setup Requirements and Actions


The views associated with the Define Setup Requirements and Actions View List step
enable you to specify criteria required for your application’s installation, to add
functionality not inherently supported by Windows Installer, and to add files
necessary for use during installation. For purposes of this tutorial, you need only to
define minimum requirements for installation.

InstallShield Express Edition User Guide 67


Chapter 5: Basic Tutorial
Prepare for Release

Requirements
In the Requirements view, you can define the target system requirements. If these
requirements are not met, your application cannot be installed on the end user’s
system. The Othello application is fairly simple, but it does require a Pentium
processor.

TASK To define requirements for your setup:

1. Open the Requirements view.


2. For the Processor property, select Pentium or higher.

NOTE For this tutorial, you can ignore the remaining views in this step because they are irrelevant to
this project. For your own projects, you may want to explore these views to see if you need to
use them.

Prepare for Release


The Prepare for Release View List step allows you to build your release, test it, and
distribute it to a target destination. These three functions are performed through the
following three views:
• Build Your Release
• Test Your Release
• Distribute Your Release

Build Your Release


The Build Your Release view is where you compile your installation information into
an .msi file.

TASK To build this tutorial project for release:

1. Open the Build Your Release view.


2. In the Builds explorer, right-click CD_ROM and click Build.

As the build begins, the Output window opens at the bottom of the InstallShield
interface to display the progress of the build and any error messages.
When the build process is finished, you can find your installation files in a subfolder
of the folder where your Othello project is located.

68 InstallShield Express Edition User Guide


Chapter 5: Basic Tutorial
Prepare for Release

TIP Although this tutorial covers building a CD_ROM release, there are several other options for
media types. For example, the WebDeployment type enables you to create an installation that is
specifically designed for deployment over the Web.

Test Your Release


The Test Your Release view enables you to preview your installation program to
ensure it functions as expected.

TASK To test your release:

1. Open the Test Your Release view.


2. In the Builds explorer, the CD_ROM item has a colored icon to indicate that this
is a functional build. Click the CD_ROM item to select it.
3. In the right pane, click Run Your Setup. Your installation launches to install the
Othello program.
4. Follow the instructions that the installation program provides. This is the same
run-time experience that end users would have if you distributed this installation
program to your customers.
5. When the installation is complete, verify that your files and data were installed
correctly.
6. Navigate to C:\Program Files\Othello (or the folder to which you chose to
install the program) and verify that Othello.exe is there.
7. Ensure that there is a shortcut called Othello on your desktop. Double-click this
shortcut to verify that it was configured correctly.

Distribute Your Release


The final step in creating this installation is to distribute it to your target media.
Because this is a tutorial and not an installation for an application that you want to
distribute to your customers, this step in the tutorial is optional.

TASK To distribute your release:

1. Open the Distribute Your Release view.


2. Ensure that you have a CD-ROM drive with a blank CD-ROM in the drive.
3. In the Builds explorer, select CD_ROM.
4. Click Browse. The Browse for Folder dialog box opens.
5. Browse to your CD-ROM drive and click OK.

InstallShield Express Edition User Guide 69


Chapter 5: Basic Tutorial
Summary

6. Click Distribute. InstallShield copies all of the necessary installation files to this
location—if your CD-ROM drive supports direct copying to CD-ROMs.

Summary
Now that you have finished the tutorial, you can apply what you have learned here to
your own installation projects. Most installation projects require the steps and
concepts described in this tutorial.

70 InstallShield Express Edition User Guide


6
VISUAL BASIC WIZARD TUTORIAL

Visual Basic is a development tool designed for quickly creating high-performance


components and applications. These applications need to be packaged into
installations with similar speed. InstallShield offers you the ability to scan your Visual
Basic project and have a nearly complete installation project created with minimal
work on your part.
The Visual Basic Wizard allows you to import Visual Basic projects into your
InstallShield installation. The wizard scans your project to determine any file
dependencies and displays the results of the scan, showing the files that can be added
to your installation. You then have the option of adding that Visual Basic project and
its dependencies to your installation.
This tutorial uses a sample Visual Basic project that was installed to the
\Samples\AlarmClock subfolder of your main InstallShield Program File folder.

NOTE This tutorial assists you in understanding how the Visual Basic Wizard works. The application
installed may not work depending on the versions of required files on your system. However, the
process described is the same when using the Visual Basic Wizard for your own projects.

The tutorial consists of the following steps:


• Create a New Project
• Specify the Visual Basic Project File
• Reviewing the Scan Results
• Setting General Information Properties
• Creating a Shortcut
• Building and Testing the Setup

InstallShield Express Edition User Guide 71


Chapter 6: Visual Basic Wizard Tutorial
Create a New Project

• Summary

Create a New Project

TASK To create a new project for this tutorial:

1. Launch InstallShield.
2. On the File menu, click New. The New Project dialog box opens.
3. Select the Visual Basic 6.0 Wizard project type.
4. In the Project Name field, type VBWTutorial.ise.
5. In the Project Language box, select English (United States).
6. Click OK. The Visual Basic Wizard opens.
7. Read the information displayed on the first panel of the wizard and click Next.

NOTE In this tutorial, the Visual Basic wizard is launched by creating a new Visual Basic 6.0 project.
You can, however, also launch the Visual Basic Wizard in an existing installation project. To do
so, click the Import Visual Basic Project button in the Dependencies view. When you use this
import method, the wizard scans for all of the files and dependencies and enables you to add
them to your project.

Specify the Visual Basic Project File


The next panel of the Visual Basic wizard requires you to specify the Visual Basic
project file on which you want to base your installation.

TASK To specify the file:

1. Click Browse to navigate to the sample Visual Basic project file called
Alarmclock.vbp located in \Samples\AlarmClock subfolder of your main
InstallShield Program Files folder.
2. If available, select the Rebuild project before scanning check box.
3. Click Next to begin scanning the project.

Reviewing the Scan Results


When the wizard finishes scanning the Visual Basic project, it displays the scan
results. Included in these results are any features that will be created, the files that will
be added to the installation, and any required merge modules. Review the results,

72 InstallShield Express Edition User Guide


Chapter 6: Visual Basic Wizard Tutorial
Setting General Information Properties

paying close attention to the features and the destination location of any files that will
be added. If there are duplicate dependency files, InstallShield includes only one copy
of the duplicate files to conserve space.
The table below shows the files added to the installation and their destination
locations:

Table 6-1: Files in the Installation and Their Destination Locations

File Destination Location


AlarmClock.exe [INSTALLDIR]
DAO350.DLL [CommonFilesFolder]Microsoft Shared\DAO

In addition to the above files, the following merge modules are added to the
installation:
• Microsoft OLE 2.40 for Windows NT and Windows 95 Operating Systems
• Microsoft Standard Data Formatting Object DLL
• Visual Basic Virtual Machine
Select the check boxes for each of the files. Then click Next to implement these
changes. When the wizard makes the changes to the installation project, click Finish
to go to the Static Scanning Wizard.

Setting General Information Properties


When you create an installation project, you should first set the General Information
properties. Because this installation project was created by the Visual Basic Wizard,
there was no opportunity to set these properties earlier. The General Information
properties include the name of your company, the name of the product, and the default
installation directory.

TASK To set the general information properties:

1. Open the General Information view.


2. Set the properties in this view as shown in the table below.

Table 6-2: Property Values in the General Information View

Property Value
Author John Smith
Subject Alarm Clock
Product Name Alarm Clock

InstallShield Express Edition User Guide 73


Chapter 6: Visual Basic Wizard Tutorial
Creating a Shortcut

Table 6-2: Property Values in the General Information View (cont.)

Property Value
INSTALLDIR [ProgramFilesFolder]GamesOnAvon\Alarm Clock
Publisher GamesOnAvon

Leave the default values for the remaining properties.

Creating a Shortcut
Shortcuts give your users easier access to your program. You can create shortcuts on
the Start menu or on the desktop.

TASK To create a shortcut:

1. Open the Shortcuts/Folders view.


2. In the Shortcuts explorer, right-click Desktop, and click New Shortcut.
3. Set the Target field to [INSTALLDIR]Othello.exe.
4. Name your shortcut Alarm Clock.
5. Set the Feature field to ScannedProject. This field lets you choose the feature
with which you want your shortcut associated. Because the file that your shortcut
launches is in the ScannedProject feature, your shortcut is a part of that feature as
well.
6. Set the Target field to [INSTALLDIR]Alarmclock.exe. This field lets you specify
the file to which your shortcut points. The variable [INSTALLDIR] points to the
installation directory for this installation. Alarmclock.exe is installed to this
directory.

Building and Testing the Setup

TASK To to compile your installation into a functional .msi file:

1. Open the Build Your Release view.


2. In the Builds explorer, right-click SingleImage and click Build.
3. When the build is finished, click Run to launch the installation.
4. When the installation finishes, test the shortcut and launch the application to
ensure all the necessary files are installed.

74 InstallShield Express Edition User Guide


Chapter 6: Visual Basic Wizard Tutorial
Summary

Summary
Now that you have finished the tutorial, you can apply what you have learned here to
your own installation projects. Most installation projects that include Visual Basic
projects require the steps and concepts described in this section.

InstallShield Express Edition User Guide 75


Chapter 6: Visual Basic Wizard Tutorial
Summary

76 InstallShield Express Edition User Guide


7
CREATING INSTALLATIONS

If you have ever installed an application onto your computer, you have seen an
installation in action—from the end user’s perspective. An installation’s primary task
is to transfer files from the source medium to the local drive. An installation often also
displays a user interface to obtain end user selections, configures the target system (for
example, makes any required registry entries and creates shortcuts), and enables
modification or uninstallation of the installed application. Creating an installation
involves performing some or all of the following tasks.

Specify Installation Information


Basic information that you enter in the General Information view is used in various
parts of the installation.

Organize and Transfer Files


File transfer involves copying files from the source medium, such as a CD or DVD, to
a local drive on the end user’s machine. Depending on the configuration the end user
chooses—by selecting a setup type or features—all or only some of the files may be
transferred to the local disk.
Organize the files to be installed into setup types and features to help your end users
select the most appropriate files.

Configure the Target System


In addition to installing files, many installations need to configure the target system by
creating shortcuts and program folders, modifying the registry, modifying
initialization file (.ini file) data, configuring Open Database Connectivity (ODBC)
resources, or modifying environment variables.

InstallShield Express Edition User Guide 77


Chapter 7: Creating Installations

Customize Installation Behavior


InstallShield offers wide-ranging customization options. The installations can use
custom actions to run VBScript code, call .dll functions, or run executable files.

Define the End-User Interface


An installation’s end-user interface provides information and installation
configuration options to the end user. Through the user interface, an end user can
choose to install only part of a product, choose to leave some files on the source
medium, view a license agreement, or provide to the installer information that may be
necessary to ensure the proper configuration of the installation.
The user interface can be customized to meet the needs of your installation. For
example, you can prompt a user for a serial number before starting the installation to
protect your software against illegal use. During file transfer, an installation can
display billboards that provide product information such as new features or usability
tips. A status bar may also be displayed to show the progress of the file transfer
process.

Configure Servers
A server-side installation may need to create and manage new Internet Information
Services (IIS) Web sites or manage COM+ applications and components.

Prepare Installations for Update Notification via the


Update Service
The Update Service lets you automatically notify your Web-connected end users when
patches, updates, and product information for your application are ready for release.
To take advantage of the Update Service, you must enable the Update Service in your
original installation.

Add Mobile Device Support


You can add to your project an installation for Windows Mobile devices such as the
Microsoft Smartphone and Palm OS devices. When you build a release for the
installation, InstallShield creates an installation that installs your Windows Mobile
application to the end user’s desktop machine and to the mobile device.

Prepare the Installation for Maintenance and


Uninstallation
To uninstall, modify, or repair an application, the operating system must have some
indication that the application is present. To accommodate this, an installation

78 InstallShield Express Edition User Guide


Chapter 7: Creating Installations
Before You Begin

registers an application with the operating system so that it can be easily maintained or
uninstalled.
Much of the information registered in this process is available to the end user through
Add or Remove Programs in the Control Panel (on Windows 2000 and later systems).
For example, technical support contact information, product update information,
product version, and product publisher information are registered in this process.

Build, Test, and Deploy the Installation


Once you have created your installation project, you will want to build, test, and
deploy the installation: create the files that you will release to your users, test the
installation for errors, and optionally copy the files to a local or network location or an
FTP site.

Create a Trial Version of Your Product


Offering prospective customers a free trial version of your product can be a highly
effective sales tool, but it carries the risk that some will abuse the privilege and
continue to use the product without paying for it. InstallShield enables you to create a
protected trial version of your product without requiring you to modify the source
code.

Before You Begin


The “Before You Begin” section of the InstallShield Help Library contains
information that is helpful to installation authors as they create new installation
projects with InstallShield. The topics provide background information on Windows
Installer, “Designed for Windows” logo guidelines, and other areas of installation
development.

Introduction to Windows Installer


Windows Installer is a technology that Microsoft developed to standardize and
enhance installations on Windows platforms. It provides a fast, reliable method of
application installation.

Windows Installer Features


Windows Installer–based installations consist of a package that contains all
information required by the Windows Installer service to perform the installation. The
Windows Installer service incorporates application installation and management into
the basic Windows infrastructure. The operating system is able to track installed
applications and manage components that are shared by various applications. Thus,

InstallShield Express Edition User Guide 79


Chapter 7: Creating Installations
Before You Begin

Windows Installer adds a layer of intelligence to the installation process, providing


users with a comprehensive view of application management.
Other features of Windows Installer include feature-level installation and
uninstallation, application advertising, auto-repair of corrupt application components,
and automatic rollback after a failed installation.

Operating System Requirements


The Windows Installer service (also called the Windows Installer engine) is included
with the Windows Server 2003, Windows XP, Windows 2000, and Windows Me
operating systems. It is also available as an add-on service for the Windows NT 4.0,
Windows 98, and Windows 95 operating systems.

Format Requirement
The Windows Installer service requires installation packages to be in the Windows
Installer format—a specific, structured storage format. To complement Windows
Installer technology, InstallShield has an intuitive graphical user interface (GUI) to
simplify and automate the process of creating application installations.

Windows Installer and Patching


When you run your installation on a target system, Windows Installer caches that
installation’s .msi file on the target system. By default, this .msi file is cached in
[WindowsFolder]Installer. The .msi file is renamed with a random name (for example,
sc253nh.msi). Whenever the target system needs to check the status of this
installation, it refers to this cached .msi file. When you perform a Repair operation
from Add and Remove Programs, Windows Installer looks in this cached .msi file and
makes sure that everything specified in this .msi is properly installed on the machine.
If something is missing, Windows Installer corrects it.
Applying a patch with Windows Installer 2.x or earlier literally updates the cached
.msi package and then performs a repair of the installation. This updates the system
with the data specified in the updated cached .msi file; that is, your installation takes
the “form” or “state” of what is defined in the cached .msi file. Applying another
patch on top of this once again alters the cached .msi file and reforms the system to
match it. This means that a patch cannot be rolled back. When the installation is
uninstalled, it uninstalls everything mentioned in this cached .msi file, including data
added through patches.

Top “Designed for Windows” Logo Guidelines


InstallShield supports all of the latest Microsoft Windows logo requirements. When
your customers see this logo, they know that your product takes advantage of the new

80 InstallShield Express Edition User Guide


Chapter 7: Creating Installations
Before You Begin

Windows features. If you are applying for the logo, your application must use
Windows Installer for its installation and uninstallation programs.
The following requirements list, distilled from the “Designed for Microsoft Windows
XP Application Specification,” discusses the primary installation-related logo
guidelines and explains how you can easily comply with them using InstallShield. For
more information, refer to the Windows Installer help topic Windows Installer and
Logo Requirements.

Table 7-1: Top “Designed for Windows” Logo Guidelines

Requirement InstallShield Solution


You must install your application by The default Destination Folder property for each new feature
default to the Program Files folder. is INSTALLDIR. You can specify an initial value for
This name will vary under different INSTALLDIR by setting the INSTALLDIR property of your
languages, and the drive may vary product.
based on user settings.
You must distribute your installation To validate your package, you can run an internal
in a Windows Installer package, consistency evaluation tool such as MsiVal.exe with the
then validate that this package is suite of internal consistency evaluators (ICEs) contained in
properly constructed. the file named Logo.cub. These are available from the
Windows Installer SDK at http://www.microsoft.com/
msdownload/platformsdk/sdkupdate/.

InstallShield Premier Edition and InstallShield


Professional Edition include validation suites that run
your project through the same ICEs.
A component can contain only one Components are the behind-the-scenes elements that
COM server, which must be the InstallShield creates automatically for you. Each feature in
component’s key file. your project consists of one or more components. The
actual breakdown of features into various components is not
visible anywhere within the InstallShield user interface. A key
file is a file that the Windows Installer uses to detect the
component’s presence on the target machine. If the key file
is in its proper location, the installer assumes that the entire
component is installed correctly.
When you add to your project a file that is considered to be a
portable executable (PE) file, InstallShield automatically
creates a new component for that file and sets it as the key
file of the component. Each component can have only one
PE file, and only one file of a component can be set as the
component’s key file.
When you create features, InstallShield automatically detects
COM files and puts each one in its own component and sets
it as the key file.

InstallShield Express Edition User Guide 81


Chapter 7: Creating Installations
Before You Begin

Table 7-1: Top “Designed for Windows” Logo Guidelines (cont.)

Requirement InstallShield Solution


Your installation must run correctly When you launch your .msi package with the command-line
with a fully interactive graphical option /qn, no user interface items are displayed, and the
interface, with a basic user default settings are used to install the application. Use /qb
interface, and with a silent to specify a basic user interface.
(unattended) installation.
If you are distributing your AutoPlay is enabled by creating a text file called Autorun.inf
installation on a CD-ROM, you must in the root of your CD-ROM containing at least the following
support the AutoPlay feature the lines:
first time the CD-ROM is inserted.
[autorun]
open=setup.exe
For more information, refer to Enabling Autorun for Your CD.
(Or, better yet, change the open= line to launch a
multimedia CD browser created with DemoShield.)
The uninstaller must be registered Many of the properties that are established in the General
so that it appears in Add or Remove Information view and/or the Application Information page of
Programs in the Control Panel. the Project Assistant will appear in Add or Remove Programs
for your application.
Enable your installation for When you create shortcuts, register COM classes, associate
advertisement. file extensions, and so on, your files will be set up on the
system when they are advertised, even if they are only later
installed on demand.
Avoid setting your features’ Advertised property to Disallow
Advertise.
You must register file types used by To register a file extension, you can use the File Extensions
your application. view.
Your installation must create valid To create shortcuts for your application, use the Shortcuts/
shortcuts for your application. Folders view.
Your installation must check for the To set operating system requirements that the target
correct version of the operating system must meet, use the Requirements view or the
system. Installation Requirements page of the Project Assistant.
Your installation must not overwrite By default, when you add file to your installation, Windows
core component files with older Installer versioning rules are used. You can manually change
versions. In fact, Microsoft the overwrite property for a file to Never Overwrite or Always
recommends that you do not Overwrite.
directly install anything into the
If you set it to Always Overwrite for core system files, your
Windows system folder except fonts
installation might not pass the Windows logo requirements
and Control Panel applets.
test. Macrovision Corporation recommends that Windows
Installer versioning rules be used for all Windows system
files. For information on Windows Installer versioning rules,
see Overwriting Files on the Target Machine.

82 InstallShield Express Edition User Guide


Chapter 7: Creating Installations
Before You Begin

LOGO This symbol appears throughout the InstallShield Help Library whenever the information relates
to complying with Windows logo guidelines.

Preparing Installations for Non-Administrator


Patches
Windows Installer 3.0 and later enables you to create patches that can be installed by
non-administrators. Non-administrator patches can be used if strict criteria are met.
For example, the base installation that the patch will update must include the
certificate that will be used to sign the patch package. To learn about the other criteria
that must be met, see Non-Administrator Patches.

EDITION Non-administrator patches cannot be created with InstallShield Express Edition. In order to
create non-administrator patches, you must have InstallShield Premier Edition or InstallShield
Professional Edition.

InstallShield Express Edition User Guide 83


Chapter 7: Creating Installations
Before You Begin

84 InstallShield Express Edition User Guide


8
SPECIFYING INSTALLATION INFORMATION

As you begin creating your installation project, you will need to specify important
installation information at the outset. Installation information can be defined by the
high-level properties and considerations you need to set and determine about the
organization of your installation. This includes specifying product and project
properties and configuring Add or Remove Programs properties.

Defining General Information Properties

TASK To specify general information for your setup project:

1. Open the General Information view.


2. Select the property that you want to edit by clicking its value field in the property
sheet.
3. Enter a new value for the property.
4. Click elsewhere in the property sheet for your changes to take effect.

Setting the Product Code


The product code is a string that uniquely identifies your product. Enter a GUID that
uniquely identifies this product, or click the Generate GUID button that appears below
the property sheet to generate a GUID. The installation registers this GUID as
required by Windows logo guidelines.

InstallShield Express Edition User Guide 85


Chapter 8: Specifying Installation Information
Defining General Information Properties

CAUTION Because the product code uniquely identifies your product, changing the code after distributing
a release of your product is not recommended.

You can set this property in the General Information view.

Specifying a Product Name


Specify the name for your product in the General Information view. The name you
enter here should be the name of the product for which you are creating an installation.

TIP If you want to include an ampersand (&) in your product name, you must use two ampersands
(&&) to display the name properly in end-user dialogs. For example, to display New & Improved
Product, you should enter the product name as New && Improved Product.

Specifying the Product Version


Enter the complete version number for this product. The version number must contain
only numbers and must be in the format aaa.bbb.ccccc, where aaa represents the
major version number, bbb the minor version number, and ccccc the build number.
The value in aaa or bbb must be less than 255, and ccccc must be less than 65,535.
You can include a fourth field, making the product version format
aaa.bbb.ccccc.dddd, but Windows Installer does not use it.
The installation registers the major and minor version numbers as required by
Windows logo guidelines, and the entire version string is displayed in Add or Remove
Programs in the Control Panel. The version number is important because Windows
Installer uses it in part to determine whether to apply an upgrade.
You can set this property in the General Information view.

Setting the Upgrade Code


The upgrade code is a string that is used to upgrade your application. Enter the string
GUID in the Upgrade Code field in the General Information view or click the
Generate GUID button that appears below the property sheet to generate a GUID. The
installation registers this GUID as required by Windows logo guidelines.
When you create a later version of your application to upgrade this version, enter this
version’s upgrade code GUID in the later version’s Upgrade table via the Upgrade
Paths view when you author a new upgrade item.

86 InstallShield Express Edition User Guide


Chapter 8: Specifying Installation Information
Defining General Information Properties

Configuring Add or Remove Programs Information


The version of Add or Remove Programs available in the Control Panel on Windows
XP, 2000, and Me platforms differs from the versions on earlier platforms in many
ways. Depending on how the Windows Installer installation is configured, the user has
the option of removing, repairing, or changing the installation with the click of a
button.
Users who are running Windows XP, 2000, or Me are also able to access additional
information in Add or Remove Programs that is not available on earlier platforms.
With this information, it is easier for your end users to find technical support links and
phone numbers, product update information, and information about your company. To
achieve logo compliance, you need to provide this information to your users.
You can set these properties in the General Information view.

Entering Summary Information Stream Data


The Summary Information Stream contains information about your company and the
software being installed. This information can be accessed by right-clicking an .msi
file and selecting Properties. Then, click the Summary tab to view the summary
information.

LOGO To comply with the Windows XP logo requirements, you must provide Summary Information
Stream data. You can set many of the summary information properties in the General
Information view.

Setting the Default Product Destination Folder


(INSTALLDIR)
You can specify the default destination folder for your application through the
INSTALLDIR property in the General Information view. This property defaults to
the following location:
[ProgramFilesFolder]Your Company Name\Default

INSTALLDIR and the Registry


You can set the default installation directory for your installation to be a key value
found in the target system’s registry. This directory is stored in the INSTALLDIR
property in the General Information view.

InstallShield Express Edition User Guide 87


Chapter 8: Specifying Installation Information
Defining General Information Properties

One limitation of using a registry entry to set the value of INSTALLDIR is the fact
that the registry entry must exist on the target system before your installation starts. If
the registry entry cannot be found, INSTALLDIR is set to the last valid value you had
entered for it.
For example, when you first create an installation project, the value of INSTALLDIR
is [ProgramFilesFolder]Your Company Name\Default. If you were to change this
to read from the registry, and the registry entry is not found, INSTALLDIR reverts to
the previous value of [ProgramFilesFolder]Your Company Name\Default.

Setting INSTALLDIR from the Registry

TASK To set the INSTALLDIR value from the registry:

1. Open the General Information view.


2. Click in the INSTALLDIR field in the property grid.
3. Enter the full path to the registry key containing the value you want to use. For
example:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current
Version\AppPaths\App.exe\

Setting this value to


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current\Version\AppPaths
\App.exe will instruct InstallShield to get this value from a string named App.exe in
the AppPaths key. Setting this value to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current\Version\AppPaths
\App.exe\ (with trailing backslash) will instruct InstallShield to get this value from
the default value of the key named App.exe.

NOTE The trailing backslash specifies that the final portion of the specifier is the name of a key and not
a value name.

88 InstallShield Express Edition User Guide


9
ORGANIZING FILES FOR YOUR
INSTALLATION

The primary task of an installation is to transfer files from your distribution media to
your end user’s hard drive. In an InstallShield installation, files are organized in a
hierarchy: files are included in features (and optionally subfeatures), and features are
associated with setup types.
At run time, your end user simply selects the setup type—or, if you allow it, the
features and subfeatures—that he or she wishes to install.
A file often relies on functions in other files to perform a task. However, you may not
be aware of all these other files—known as dependencies—when you include your
application’s files in your project. To help you identify dependencies, InstallShield
offers three dependency scanners that automatically add these files to your project.
In addition to including individual files in your project, you can also include
redistributables (merge modules and InstallShield objects), which contain logic and
files needed to install distinct pieces of functionality. For example, to include
Microsoft Visual Basic run-time files in your installation, you can simply associate the
Microsoft Visual Basic Virtual Machine merge module with one of your project’s
features.

Designing Installations
A feature is the smallest separately installable piece of your product from the end
user’s standpoint. Individual features are visible to end users when they select a
Custom setup type during installation.

InstallShield Express Edition User Guide 89


Chapter 9: Organizing Files for Your Installation
Designing Installations

Features
Features are the building blocks of an application from the end user’s perspective.
Each feature represents a specific piece of functionality for your product—such as the
help files. End users should be able to install and uninstall discrete features of your
product.
For example, an end user with limited hard drive space could elect not to install a
product tutorial. If the user subsequently purchases another computer or frees
resources on an existing one, the previously uninstalled product tutorial could then be
installed.
You should separate your application into features that correspond to functionality of
your application and that can be available in or removed from different setup types.

Setup Types
Setup types enable you to allow your end users to selectively install portions of your
product or all parts of your product. The default setup types are Typical, Minimal, and
Custom.
Setup types are based on features. You select which features you want to associate
with each setup type. Then, when an end user selects a certain setup type, only those
features you associated with that setup type are installed.

Separating Applications into Features


Separate your application into independent parts, such as help, clip art, and program
files. This gives the end user combination options when installing your application.
For instance, if your application contains a large, graphic-intensive clip art file, you
could make the clip art file a feature. This gives the end user the option of installing or
not installing the file—a vital ability for users with limited available resources.
In separating your application into features, make sure that end users can recombine
the parts in several ways to fulfill specific needs. When doing this, consider the needs
of all users, from system administrator to customer service representative to developer
and everyone in between. By addressing all groups of users, you are promoting
increased distribution and usage of your application.
Each feature should have one function—such as help files—and should be clearly
defined according to this functionality to ensure recognition and comprehension.
Features should possess an independent functionality so that users can install and use
the feature by itself, if they so choose.
If one feature requires another, make the dependent feature a child of the other.
To eliminate confusion, keep any information pertaining to the management of the
system or application transparent to the user.

InstallShield Express Edition User Guide 90


Chapter 9: Organizing Files for Your Installation
Defining Features

Defining Features
A feature is a building block of an application from the end user’s perspective. It
represents a specific capability of your product—such as its help files or a part of a
product suite that can be installed or uninstalled based on the end user’s selections.
Your entire application should be divided into features that perform a specific
purpose. You can define features in the Features view.
A feature should be self-contained, in the sense that a feature should not require
sibling features. For example, a thesaurus feature should not require a dictionary
feature that the end user can choose not to install. However, you can design your
installation to contain subfeatures of a “parent” feature, which allow the end user finer
control over which files and data to install.
Subfeatures are further divisions of a feature. If all features and subfeatures are
visible, your end user can then select which portions of a feature to install in the
Custom Setup dialog.
Although you can create many levels of subfeatures, you should keep the design as
simple as possible for organizational purposes.

Creating Features

TASK To create a feature:

1. Open the Features view.


2. Right-click the Features explorer and click New Feature. InstallShield creates a
new feature with the default name New Feature_n (where n is a successive
number).
3. Type a name for the feature. To rename the feature, right-click it and click
Rename.
4. Configure the feature’s properties in the property grid.

Creating Subfeatures

TASK To create a subfeature:

1. Open the Features view.


2. In the Features explorer, right-click the parent feature of the subfeature you want
to add and click New. InstallShield creates a new subfeature with the default name
New Feature_n (where n is a successive number).

InstallShield Express Edition User Guide 91


Chapter 9: Organizing Files for Your Installation
Defining Features

3. Type a name for the subfeature. To rename the subfeature, right-click it and click
Rename.
4. Specify the subfeature’s properties in the property grid.

Setting Feature Properties

TASK To set a property of a feature:

1. Open the Features view.


2. Click the feature you want to modify.
3. In the property sheet to the right, select the property you want to edit by clicking
its value field.
4. Enter a new value for the property.
5. Click elsewhere in the property sheet for your changes take effect.

Feature Advertisement
Windows Installer supports many features of the Windows 2000 and later platforms,
including feature advertisement. This convenience enables any product feature to be
in one of four installation states: locally installed, installed to run from the source,
absent, or advertised.
Feature advertisement is fully supported only on Windows 2000, Windows Me,
Windows XP, and later operating systems, though an updated shell is available for
Windows 95, Windows 98, and Windows NT 4.0. To activate the shell for any of
these platforms, Microsoft’s Internet Explorer 4.01 Service Pack 1 must be installed
with Active Desktop enabled. Advertisement for COM servers is supported only on
Windows 2000 platforms or later.

Changing the Feature Order in the Custom Setup


Dialog
The order in which the features are listed in the Features view is the order that the
features will be displayed in the Custom Setup dialog.

InstallShield Express Edition User Guide 92


Chapter 9: Organizing Files for Your Installation
Defining Features

TASK To change the feature order in the Custom Setup dialog:

1. Open the Features view.


2. Right-click the feature that you want to move and click Move Up or Move Down.
You can also move a feature left or right, thereby making it a subfeature of
another feature.

TIP You can also reorder your features through simple dragging and dropping. Any feature or
subfeature can be moved in this way.

Conditionally Installing Features


Conditional installation of one of your features can be useful if you need to specify
that a feature in your installation requires a specific operating system or application. If
the target system does not meet the condition, the feature is not installed.

NOTE You cannot create conditions for the Always Install feature.

TASK To create an installation condition for a feature:

1. Open the Features view.


2. In the Features explorer, select the feature for which you would like to create a
condition.
3. Click the Condition field, and then click the ellipsis button (...).
4. To create an operating system condition:

a. Click the Operating System tab.


b. Clear the All Operating Systems check box and select the operating systems
that you want to target in the condition.
To create a software condition:
a. Click the Software tab.
b. Do one of the following:

– Select the check box of the application that must be present on the target
system.
– If the application is not listed, click Create New Requirement. The
System Search Wizard opens, enabling you to create a new condition

InstallShield Express Edition User Guide 93


Chapter 9: Organizing Files for Your Installation
Working with Setup Types

based on whether a specified file exists on the target system. The new
condition is created and added to the System Software Requirements
explorer.
5. Click OK.

InstallShield adds the condition to the lower-left pane. If the or operating system
software specified in the condition is not found on the target system, the associated
feature is not installed.

Working with Setup Types


Setup types enable you to allow your end users to selectively install portions of your
product or all parts of your product. The default setup types are Typical, Minimal, and
Custom.
The Typical setup type usually includes most, if not all, of an application’s features.
The Custom setup type lets the end user determine which features should be installed
on the target system. The Minimal setup type usually includes the features that are
absolutely necessary to run your application; this type is designed for end users who
have limited disk space, such as those using notebook computers.
Setup types are based on features. You select which features you want to associate
with each setup type. Then, when an end user selects a certain setup type, only those
features you associated with that setup type are installed.

Specifying Features Included in Setup Types

TASK To specify the features included in each setup type:

1. Open the Setup Types view.


2. In the Setup Types explorer, click the setup type that you want to edit. All of the
features in your installation are listed in the pane below.
3. Clear the check boxes next to the features that you do not want included in the
selected setup type.

Renaming Setup Types


Changing the name in the Setup Types view is equivalent to modifying the resources
for the Setup Types dialog in the Text and Messages view.

InstallShield Express Edition User Guide 94


Chapter 9: Organizing Files for Your Installation
Working with Setup Types

TASK To rename a setup type:

1. Open the Setup Types view.


2. In the Setup Types explorer, right-click the setup type that you want to rename,
and then click Rename,
As an alternative, you can click the setup type and then press F2.
3. Type the new name for the setup type. This name is displayed during installation
in the Setup Types dialog.

NOTE To provide an accelerator key for your setup type, include an ampersand (&) before a letter in
the name. For example, the name Cu&stom becomes the label Custom, and the end user can
select its option button during setup by pressing the S key. To set the ampersand symbol as an
accelerator key, type &&.

Specifying Setup Types

TASK To specify the setup types to include in your installation:

1. Open the Setup Types view.


2. In the Setup Types explorer, clear the check boxes for the setup types that you do
not want included in your installation.
3. Optionally, type a description in the Description property field. To enter a multi-
line description, use the \n escape sequence. For example, if you type
InstallShield\nExpress Edition, the description in the Setup Types dialog
appears as:
InstallShield
Express Edition

Including Only One Setup Type in an Installation


If you want all of your end users to have the same files installed, you should include
only the Typical setup type in your project. Then when the installation runs, the Setup
Type dialog is not displayed, and the end user cannot choose which features should be
installed. All features are installed.

InstallShield Express Edition User Guide 95


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

TASK To include only one setup type in an installation:

1. Open the Setup Types view.


2. In the Setup Types explorer, clear the Minimal and Custom check boxes.

The Setup Type dialog is not included in the run time of the installation; therefore, end
users cannot selectively install only parts of your product.

Accessing the Setup Type at Run Time


The _IsSetupTypeMin property stores the setup type that the end user selects in the
Setup Type dialog.

TASK To access the selected setup type during the run time of an installation, do one of the
following:

• Use the Windows Installer MsiGetProperty function in a new DLL custom action.
• Use the following VBScript code:
' Get the value of the setup type selected
Dim sSetupType
sSetupType= Session.Property("_IsSetupTypeMin")

' Show it.


MsgBox sSetupType

The _IsSetupTypeMin property contains only the default setup type names—Typical,
Minimal, and Custom. If you rename Minimal in the Setup Types view to
MySetupType and the end user selects the renamed setup type, _IsSetupTypeMin will
contain Minimal and not MySetupType.

Including Files and Folders


Your files, the core of your product, are also the core of your installation. When you
add a file to your project, you must select which feature with which it is associated.
Features are what end users see when they run your installation and select the Custom
setup type. If the feature is selected for installation, the feature’s files are installed to
the target system.
You can add files to your project in the Files view.

InstallShield Express Edition User Guide 96


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Files Explorer
The Files view contains a file explorer that allows you to drag and drop files from
folders on your source machine to folders on the destination machine. The two left
panes in the files explorer contain folders and the two right panes display the files
located within those folders.

Source Computer’s Folders (Top Left)


The Source computer’s folders pane is similar to the left pane in Windows Explorer.
This pane contains folders located either locally or on a network. From here you can
navigate to the folder that contains the files you want to add to your installation.

Source Computer’s Files (Top Right)


The Source computer’s folders pane displays the files contained in the currently
selected folder of the Source computer’s folders pane. You can drag files from this
pane to a destination folder in the Destination computer’s pane. The files you drop
into the bottom panes are added to your installation project.

Destination Computer’s Folders (Bottom Left)


In the Destination computer’s folders pane, you can add files to destination folders or
components, create new destination folders, or modify existing components.

Destination Computer’s Files (Bottom Right)


The Destination computer’s files pane displays all the files you have added to the
currently selected destination folder. By right-clicking a file in this pane, you can
copy, paste, or delete the file, or edit the file’s properties.

Adding Files and Folders with the Files Explorer

TASK To add files and folders using the files explorer:

1. Open the Files view.


2. In the Feature list, select the feature with which you want the file associated.
3. In the Destination computer’s folders pane, right-click Destination Computer
and then click the predefined folder that you want to use.
4. If you need to create a further folder hierarchy, right-click the predefined folder,
click Add, and provide a name for the folder. Repeat as necessary.
5. In the Destination computer’s folders pane, click the folder into which you want
to place the file.

InstallShield Express Edition User Guide 97


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

6. In the Source computer’s folders pane, navigate to the folder containing the file
you want to add.
7. Select and drag the file you want to add from the Source computer’s files pane to
the Destination computer’s files pane.

TIP If you want to add an entire folder into a destination folder, drag the folder from the Source
computer’s folders window to the destination folder.

Source Path Variables


When you add a file from a Windows folder, the Link To column in the Destination
computer’s files pane displays a path variable, rather than an absolute path for most
files. This provides more portability for your installation projects. If you move the
project to another development machine, the path variables assure that you do not
have to update the paths for your files.

NOTE Files that have already been added to projects created with earlier versions of InstallShield
display the absolute path in the Link To column. To display the path variable, you need to delete
the file and re-add it to the project.

The supported default path variables are in the following table:

Table 9-1: Supported Default Path Variables

Variable Default Path


<CommonFilesFolder> C:\Program Files\Common Files
<ProgramFilesFolder> C:\Program Files
<SystemFolder> C:\WINDOWS\system32
<WindowsFolder> C:\WINDOWS
<ISProductFolder> C:\Program Files\InstallShield n Express
Edition

where n is the version number


<ISProjectDataFolder> C:\My InstallShield Express Projects\Your
Project Name

where Your Project Name is the name of your


project—minus the file extension
<ISProjectFolder> C:\My InstallShield Express Projects

InstallShield Express Edition User Guide 98


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Dragging and Dropping Files Using the Context Menu


The Files explorer in the Files view enables you to drag and drop folders from your
source computer to destinations on the target system. You have a number of options
when you drag files from the Source computer’s folders pane to the Destination
computer’s folders pane.

TASK To display the context menu commands:

1. Open the Files view.


2. In the Source computer’s folders pane, right-click a folder or file and drag it to
the Destination computer’s folders pane or the Destination computer’s files
pane. Then release the mouse button to display the menu.
The context menu contains several commands.

Table 9-2: Commands Available from the Context Menu

Option Description
Add Adds the folder, subfolders, and/or files selected. This is the
same as the default drag-and-drop behavior.
Add Preserving Source Adds the selected folder, subfolders, and/or files while
Structure preserving the file/folder structure found on the source
computer.
This command is available only if the source folder matches
a predefined Windows destination folder. In addition, the
destination on which you drop the file/folder must be the
Destination Computer in the Destination computer’s folders
pane.
Add Folder(s) Only Adds only the folders selected and any subfolders contained
in the selected folder. Does not add any files contained
within the selected folders or subfolders.
Add Folder(s) Only Preserving Adds only the folders selected and any subfolders contained
Source Structure in the selected folder. Does not add any files contained
within the selected folders or subfolders. This option also
preserves the folder structure found on the source
computer.
This command is available only if the source folder matches
a predefined Windows destination folder. In addition, the
destination on which you drop the file/folder must be the
Destination Computer in the Destination computer’s folders
pane.
Cancel Ends the drag-and-drop operation without making any
changes.

InstallShield Express Edition User Guide 99


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Specifying Target System Requirements for


Individual Files
In the Files view, you can specify target operating system requirements for each file.

TASK To specify target operating system requirements:

1. Open the Files view.


2. In the Destination computer’s files pane, right-click a file and click Properties.
The Properties dialog box opens.
3. Click the Advanced tab.
4. In the Target operating system area, indicate the operating systems for which
this file is intended. To select a specific operating system, you need to clear the
All operating systems check box.

Specifying Hard-Coded Destination Directories

TASK To specify a particular drive as a hard-coded destination:

1. Open the Files view.


2. In the Destination computer’s folders pane, right-click Destination Computer
and click Add. InstallShield add a new folder to the Destination Computer
explorer, and the folder name is selected for editing.
3. Type the drive letter followed by a colon (for example, C:).
4. Press ENTER.

TASK To specify folders and subfolders beneath a drive letter folder to create a hard-coded
destination path:

1. Right-click the drive folder (for example, C:) under which you want to add a
folder or the folder under which you want to add a subfolder and then click Add.
InstallShield add a new folder, and the folder name is selected for editing.
2. Type the folder name.
3. Press ENTER.

InstallShield Express Edition User Guide 100


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Dynamic File Linking


If you want to add the contents of an entire directory to your installation project, you
can do so through the use of dynamic file linking. When you select a folder for
dynamic linking, the files found within that folder are added to your project. This
folder is scanned before every build and any new or changed files are automatically
incorporated into your project.
You can include subfolders and you can use wild cards to specify only certain files or
file types to be added. Any files that have been dynamically added to your installation
have a Dynamic Link icon ( ) associated with them in the Destination computer’s
files pane of the Files view.

Dynamic File Linking Limitations


Note the following things if you are considering dynamic file linking:
• You cannot create custom actions to a dynamically linked file.
• You cannot create associate a file extension with a dynamically linked file.
• You cannot extract COM information from a dynamically linked file or self-
register a dynamically linked file.
• You cannot set any properties such as Shared, Permanent or Never Overwrite for
a dynamically linked file.
• You cannot change default file settings (such as Read-Only or Hidden).
• You cannot set file permissions for a dynamically linked file.
• You cannot create shortcuts to a dynamically linked file.
• You cannot launch a dynamically linked file from the Setup Complete Success
end-user dialog.
• You cannot perform a static or dynamic scan of a dynamically linked file.
Any file that you add directly (not through dynamic linking) to your project has an
internal name (FileKey). When you create a custom action, a file extension, shortcut,
or other type of item, it actually points to this internal name.
When you a file to your project through dynamic links, the files are not physically
added to the project. This means that these files do not have any FileKeys that can be
associated with custom actions, file extensions, etc.

InstallShield Express Edition User Guide 101


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Adding Files Dynamically

TASK To dynamically add files to your installation:

1. Open the Files view.


2. In the Feature list, select the feature with which you want the file associated.
3. In the Destination computer’s folders pane, right-click the destination directory
and click Dynamic File Linking. The Properties dialog box opens.
4. Click the File Linking tab.
5. Configure the file linking properties.

Overwriting Files on the Target Machine


In the Files view, you can specify the overwrite property of files in your installation.
The Windows Installer service uses the overwrite property of each file to determine
whether it should be replaced if a file in the installation already exists on the target
system.

Table 9-3: File Overwrite Rules

File Overwrite Property


Behavior on the Target Machine
Value
Windows Installer Versioning If you select this option, Windows Installer versioning rules
Rules (Recommended) are used to determine whether a file that already exists on
the target system should be replaced. Windows Installer
enforces the following rules:
• Versioned files—In all cases, the file with the highest
version is maintained, even if the file already on the
target machine has a higher version than the one being
installed. Additionally, a file of any version is maintained
over unversioned files.
• File language—All other things being equal, the file
that is the same language as the installation is
maintained over different language versions of the file.
The only exception to this rule applies to multiple
language files. Files with multiple languages are
maintained over single language versions of a file.
• Date—If the modified date of a file already present on
the target machine is later than the creation date of that
file, the file is not overwritten. This rule protects user
preference files from being wiped out during an
upgrade or reinstallation.
Never Overwrite If you select this option, the file—if it exists on the target
system—is never overwritten, regardless of the file version.

InstallShield Express Edition User Guide 102


Chapter 9: Organizing Files for Your Installation
Including Files and Folders

Table 9-3: File Overwrite Rules (cont.)

File Overwrite Property


Behavior on the Target Machine
Value
Always Overwrite If you select this option, the file—if it exists on the target
system—is always overwritten, regardless of the file
version.

Displaying Predefined Folders in the Files View

TASK To display a predefined destination folder:

1. Open the Files view.


2. In the Destination computer’s folders pane, right-click Destination Computer,
point to Show Predefined Folders, and then click the type of predefined folder that
you want to use.

Finding Files and Folders in Your Project


If you have added numerous folders and files to your project, you may have trouble
finding a particular folder or file. You can perform a search for folders and files in the
Files view; InstallShield locates any matches and highlights the first one. You can
keep searching until you find all matches for your search criteria.

TASK To find files and folders in your project:

1. Open the Files view.


2. In the Destination computer’s folders pane, select Destination Computer.
3. On the Edit menu, click Find. The Find dialog box opens.
As an alternative, you can press CTRL+F.
4. In the Find What box, type the text to be found. You can use wildcard
expressions, such as *.exe.
5. In the Look at area, specify whether you want to search for files, folders, or both.
6. Specify any other desired criteria.
7. Click Find Next. The first item (if any) that matches your search criteria is
selected in either the Destination computer’s folders pane or the Destination
computer’s files pane.
8. To find the next item (if any) that matches your criteria, press the F3 key. Repeat
this step as necessary.

InstallShield Express Edition User Guide 103


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Including Redistributables in Your Installation


InstallShield includes many commonly used third-party redistributables, making it
easy to add support for popular technologies such as Crystal Reports, Microsoft
Access, and MDAC to your installation. When you add redistributables to your
project, the redistributables, plus all of the associated dependencies, are added to your
installation. This simplifies the process of packaging redistributables and ensures
consistency for internal or external use.
The Redistributables view contains all of the InstallShield objects and third-party
merge modules that are included with InstallShield. This view also contains setup
prerequisites that you can add to your project.

Merge Modules
A merge module (or .msm file) contains all of the logic and files needed to install
distinct pieces of functionality. For example, many applications require Microsoft
Visual Basic run-time .dll files. Instead of having to include the file in a feature and
figure out its installation requirements, you can simply attach the Visual Basic Virtual
Machine merge module to one of your project’s features.

NOTE Many of the merge modules included in the Redistributables view are authored by Microsoft or
another third party. InstallShield distributes these modules as a courtesy to assist you in
creating your installation project. However, InstallShield cannot modify or fix any problems that
may exist within third party–authored modules. You are encouraged to contact the vendor
regarding issues with specific third party–authored modules.

Objects
Like merge modules, objects contain logic and files needed to install distinct pieces of
functionality. Some objects, such as the Microsoft Access object included with
InstallShield, require customization through a wizard. As soon as you add such an
object to your installation, its customization wizard opens. You can either customize
your object at the time you add it, or cancel the wizard and customize your object later
by right-clicking the object and selecting Change Objects Settings.

Setup Prerequisites
A setup prerequisite is a base application or component that must be installed on the
target machine before your application can be installed. Including setup prerequisites
in your project enables you to chain multiple .msi files together into a single
Setup.exe file, bypassing the Windows Installer limitation that enables only one .msi
file to be executed at a time. If your installation is Web based, you can configure the

InstallShield Express Edition User Guide 104


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

setup prerequisite so that it is downloaded to the target machine only if it is actually


needed. InstallShield includes a base set of setup prerequisites.

EDITION InstallShield Premier Edition and InstallShield Express Edition include the Setup Prerequisite
Editor, which enables you to modify and create setup prerequisites.

Live Redistributables Gallery


Because the file size of many of the redistributables is so large, some that are available
for use in your projects are not added to your computer when you install InstallShield.
However, these redistributables are still available for download from the Internet to
your computer. In addition, a newer version of a redistributable that you have on your
computer may be available for download.

Configurable Merge Modules


A configurable redistributable is a merge module or an object that has at least one row
in the ModuleConfiguration table that is referenced by at least one row in the
ModuleSubstitution table. This enables you to change a value in the redistributable.
When you select a configurable module in the Redistributables view, the Merge
Module Configurable Values dialog box is displayed to enable you to configure the
module at the time you add it. To customize the merge module later, right-click it and
then click Configure merge module.

Adding Merge Modules and Objects to Your Project


Two types of redistributables—merge modules and objects—must be associated with
a feature in order to be installed. You can associate a single redistributable with as
many features or subfeatures as require it.

TASK To add a merge module or object to your project:

1. Open the Redistributables view.


2. To specify which types of redistributables should be displayed, select the
appropriate option in the Object types to display list.
3. Select the check box in front of the redistributable you want to add. If you select
an object, the associated wizard opens to guide you through the customization
process.
4. In the Conditional Installation pane, select the feature or features to which you
want to add this redistributable.

InstallShield Express Edition User Guide 105


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

NOTE To see information about an object or merge module, such as files it installs and other actions it
performs, select the object or merge module name. The information is displayed in the pane on
the right.

Access 97 and Access 2000/2002/2003 Objects


Overview
Unlike most of the redistributables included with InstallShield, the Access 97 and
Access 2000/2002/2003 objects require a small amount of customization in order to
configure your Access application on the target machine. This is accomplished
through the Access 97 Object Wizard and Access 2000/2002/2003 Object Wizard.
When you select the check box for one of these objects in the Redistributables view,
the appropriate wizard automatically launches. By following the directions in the
wizard panels, you can successfully add the appropriate support for your Access
application.

Including Access 97 Support

TASK To launch the Access 97 Object Wizard and configure an Access application:

1. Open the Redistributables view.


2. In the Object types to display list, select All Types or InstallShield Object.
3. Select the Access 97 check box to include the Access 97 object in your
installation.
The Access 97 Object Wizard opens, enabling you to configure your Access
application.

Including Access 2000/2002/2003 Support


Your installation must be uncompressed on the source medium if you plan on
including the Access 2000/2002/2003 object in your project. If the installation is
compressed, the installation cannot locate the Access 2000/2002/2003 redistributable
files.

InstallShield Express Edition User Guide 106


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

TASK To launch the Access 2000/2002/2003 Object Wizard and configure an Access
application:

1. Open the Redistributables view.


2. In the Object types to display list, select All Types or InstallShield Object.
3. Select the Access 2000/2002/2003 check box to include the Access 2000/2002/
2003 object in your installation.
The Access 2000/2002/2003 Object Wizard opens, enabling you to configure your
Access application.

Borland Database Engine (BDE) Support


The Borland Database Engine is a data access engine that is used by Delphi, dBase,
and Paradox for Windows. This data access engine consists of the core technology
that allows any ODBC driver to be used as an IDAPI driver for any application using
the Borland Database Engine. Additionally, the Borland Database Engine can be
augmented with optional native SQL drivers that provide transparent and efficient
connectivity to widely used SQL servers.
BDE support is provided through the use of a merge module. Unlike most of the
merge modules in your gallery, the BDE module requires customization in order to
function properly. This customization is accomplished with the BDE Designer.

Including Borland Database Engine (BDE) Support

TASK To include Borland Database Engine (BDE) support in your project:

1. Open the Redistributables view.


2. In the Object types to display list, select All Types or Merge Module.
3. Select the BDE Merge Module check box to include the BDE merge module in
your installation.
The BDE Designer Wizard opens, enabling you to configure the merge module.

Crystal Reports 8, 8.5, and 8.5 Service Pack 3 Objects


Overview
The Crystal Reports 8 Object, the Crystal Reports 8.5 Object, and the Crystal Reports
8.5 Service Pack 3 Object provide an efficient way to add required redistributable
Crystal Reports files with your application. Instead of adding individual files,

InstallShield Express Edition User Guide 107


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

InstallShield uses Crystal Reports 8 Object Wizard, the Crystal Reports 8.5 Object
Wizard, and the Crystal Reports 8.5 Service Pack 3 Object Wizard to assist you in
determining the files needed for your application, depending on your database type,
export formats, and other functionality. Based on your selections, InstallShield
includes only the merge modules you need, rather than every possible redistributable
Crystal Reports file, decreasing the size of your installation.

Including Crystal Reports Support


InstallShield includes support for different versions of the Crystal Reports through
several different objects: the Crystal Reports 8 Object, the Crystal Reports 8.5 Object,
and the Crystal Reports 8.5 Service Pack 3 Object.

TASK To include support for Crystal Reports in your project:

1. Open the Redistributables view.


2. In the Object types to display list, select All Types or InstallShield Object.
3. Select the check box for the appropriate version of Crystal Reports to include the
corresponding object in your installation.

Installing MSDE 2000 Merge Modules for Another


Language

TASK To install the MSDE 2000 merge module for another language:

1. Copy all of the required merge modules—including the *_RES.MSM modules—


into Modules\i386.
2. When prompted to replace the .msm files already in that folder, click “Yes to All”.

Required Merge Modules


These are the merge modules required for a given language:
• CONNECT.MSM
• DEV_SCM.MSM
• DMO.MSM
• DTC.MSM
• DTS.MSM
• REPL.MSM
• SEM.MSM

InstallShield Express Edition User Guide 108


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

• SHARED.MSM
• SQLAGENT.MSM
• SQLBASE.MSM
• SQLSVR.MSM
• TOOLS.MSM
• UPGRADE.MSM
• DMO_RES.MSM
• DTS_RES.MSM
• REPL_RES.MSM
• SEM_RES.MSM
• SQLAGENT_RES.MSM
• SQLBASE.MSM
• SQLSVR_RES.MSM
• TOOLS_RES.MSM

CAUTION Follow these guidelines when installing MSDE 2000 for another language:
• Do not delete the English-specific merge modules that the MSDE 2000 Object Wizard
places in Modules\i386\0409. All of Microsoft’s non-.res merge modules depend on the
English version of the corresponding .res merge module. For example, the Italian
REPL.MSM has a dependency on the English REPL_RES.MSM. A setup that does not
contain the English REPL_RES.MSM might install correctly, but it will trigger build errors.
• Do not use more than one set of MSDE 2000 modules at a time. They are not designed to
support more than one language at a time.

Adding Setup Prerequisites to Your Project


When you add a merge module or object redistributable to your project, you must
associate it with one or more features. However, when you add a setup prerequisite to
your project, you do not associate it with features.

TASK To add a setup prerequisite to your project:

1. Open the Redistributables view.


2. In the Object types to display list, select All types or Setup Prerequisite.
3. Select the check box in front of the setup prerequisite that you want to add.

To see information about a setup prerequisite, such as the files it installs, select the
prerequisite name. The information is displayed in the pane on the right.

InstallShield Express Edition User Guide 109


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

NOTE If Needs to be downloaded is specified in the Location column for the setup prerequisite
that you added to your project, that prerequisite is not installed on your computer. You can
download the prerequisite from the Internet to your computer if you would like to include it in
your project. If you build a release without first downloading one or more required prerequisites,
and if you specify that the prerequisites should be extracted from Setup.exe or copied from
the source media (instead of being downloaded from the Web to the end user’s computer), one
or more build errors may be generated. To eliminate the build errors, remove the prerequisite
from your project, download it to your computer, or change the setup prerequisites location for
the release to the download option; then rebuild the release.

Modifying the Object and Merge Module


Configurations
Once you have added an InstallShield object to your project, you may need to change
its configuration.

TASK To modify the configuration of any object or merge module after you have included it in
your project:

1. Open the Redistributables view.


2. In the Object types to display list, select All Types.
3. Right-click the object or merge module that you want to modify and select either
Change Object Settings or Configure merge module. The appropriate wizard
opens, enabling you to modify the configuration.

Determining the Files in Merge Modules and


Objects
When you select a merge module or object in the Redistributables view, the files
contained in that redistributable are displayed in the description pane.
For another way to see the files contained in a merge module or object, see
Knowledge Base article Q106474. This article contains a link to a downloadable
Merge Module Dependency Viewer.

Live Redistributables Gallery


When you installed InstallShield on your computer, you may have installed only some
of the available redistributables. For example, if you selected the Minimal installation
type, some of the objects and merge modules are not installed on your computer to
help conserve disk space. However, these redistributables are still listed in the

InstallShield Express Edition User Guide 110


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Redistributables view, and they are available for download to your computer. The
check box list in the Redistributables view shows the name, version, and type of each
redistributable. It also contains a column that specifies whether the redistributable
needs to be downloaded from the Internet to your machine.
In addition, a newer version of a redistributable that you have on your computer may
be available for download.
You can identify the status of a redistributable by its icon. Following is a list of the
possible icons and a description of each:

Table 9-4: Redistributable Icons

Icon Description
This object is installed on your computer.

This object is not installed on your computer but it is available for


download.
An old version of this object is installed on your computer. A new version
is available for download.
This merge module is installed on your computer.

This merge module is not installed on your computer but it is available


for download.
An old version of this merge module is installed on your computer. A
new version is available for download.
This setup prerequisite is installed on your computer.

This setup prerequisite is not installed on your computer but it is available for
download.

TIP If you add to your installation project an object or merge module that is not installed on your
computer, a build error is generated when you build your project. To eliminate the build error,
either remove the redistributable from your project or download it before rebuilding your
release. If a redistributable is not installed on your computer, Needs to be downloaded is
specified in the Location column for that redistributable.

Managing the Redistributables Gallery


The Redistributables view displays the redistributables gallery, which consists of
merge modules, objects, and setup prerequisites that you can include with your
installations.

InstallShield Express Edition User Guide 111


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Merge Modules
Merge modules are available from a variety of sources. Although InstallShield
includes many redistributable modules, new versions may be available or other
software developers may have released a module that you need.
The source of the merge module files listed in the Redistributables view is the folder
or folders specified on the Merge Modules tab of the Options dialog box. To access
the Options dialog box, on the Tools menu, click Options.
The following directory is the default location for the modules that come with
InstallShield:
InstallShield Program Files Folder\Modules\i386

Objects
InstallShield provides many redistributable objects. Furthermore, you may want to
add to your projects the objects that other developers created.
The default location for the objects that come with InstallShield is:
InstallShield Program Files Folder\Objects

The objects that are included in the above location are listed in the Redistributables
view.

Setup Prerequisites
Several setup prerequisites are available in InstallShield. All setup prerequisite (.prq)
files are stored in the following location:
InstallShield Program Files Folder\SetupPrerequisites

Downloading Redistributables to Your Computer


The Redistributables view enables you to download the latest merge modules and
objects from the Macrovision Web site to your computer. If a redistributable is not
installed on your computer, Needs to be downloaded is specified in the Location
column for that redistributable.

TASK To download a specific merge module, object, or setup prerequisite:

1. Open the Redistributables view.


2. To specify which types of redistributables—all types, merge modules, objects, or
setup prerequisites—should be displayed, select the appropriate option in the
Object types to display list.

InstallShield Express Edition User Guide 112


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

3. Right-click the merge module or object that you would like to download and then
click Download Selected Item.

TASK To download all of the merge modules, objects, and setup prerequisites that are needed
for your installation project:

1. Open the Redistributables view.


2. Right-click any merge module, object, or setup prerequisite and then click
Download All Required Items.

Browsing for Merge Modules and Objects


If a merge module or object that you would like to add to your project is not listed in
the Redistributables view, you can browse to find it and also add it to your project and
this view.

TASK To browse to a merge module:

1. Open the Redistributables view.


2. Right-click a redistributable and then click Browse for Merge Module.

When you browse to a new module, the module’s folder is added to the list of paths in
the Merge Module Locations box on the Merge Module Options tab of the Options
dialog box. Therefore, all of the modules in that folder are added to the gallery the
next time you enter the wizard or restart the user interface.

What Happens When You Browse for a Merge Module


InstallShield does not maintain references to merge modules as explicit paths. Instead,
it generates a key for a merge module based on the merge module GUID and the
merge module locale. When InstallShield needs to access the merge module, it looks
in the folders specified in the Merge Module Locations box for a file that matches that
key. The Merge Module Locations box is on the Merge Modules tab of the Options
dialog box.
When you browse for a merge module, the path to the folder containing the merge
module is added to the list of paths in the Merge Module Locations box. In addition, a
GUID:Locale key is added to your installation project based on the selected file.

Impact on Your Installation


If two merge modules in the Merge Module Locations box have the GUID:Locale
key, only one is included into your installation, even if they have different file names.

InstallShield Express Edition User Guide 113


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Because of the way InstallShield uses the Merge Module Locations box to search, it is
not possible to predict which merge module will be included.

Limiting the Number of Directories in the Merge Module


Locations Box
If you use a shared merge module gallery, there might be earlier or later versions of a
merge module in the gallery than what exists on the target machine. For this reason, it
is sometimes prudent to try and limit the number of directories in your Merge Module
Locations box.

TASK To limit the number of directories, do one of the following:

• Using Windows Explorer, copy the merge module you want into one of the
folders that is already listed in the Merge Module Locations box.
• Remove the default folders from the search path so that you are referencing only
the shared location.

Adding Merge Modules to the Redistributables Gallery

TASK To add a merge module to the redistributables gallery:

1. Acquire the new or updated merge module.


2. Using Windows Explorer, copy the new module to one of the folders specified on
the Merge Module Options tab of the Options dialog box.
The default location for the modules that come with InstallShield is:
Program Files Folder\InstallShield Folder\Modules\i386

3. Close InstallShield if it is currently open.


4. Launch InstallShield.

The modifications made are reflected in the Redistributables view.

InstallShield Express Edition User Guide 114


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Removing Merge Modules from the Redistributables


Gallery

TASK To remove a merge module from the redistributables gallery:

1. Close InstallShield if it is currently open.


2. Using Windows Explorer, locate and delete the merge module that you want to
remove from the gallery. Ensure that you search each directory specified on the
Merge Module Options tab of the Options dialog box.
3. Launch InstallShield.

The modifications made are reflected in the Redistributables view.

NOTE If you delete a merge module that is currently associated with your installation, the message
[Merge Module Not Found] is displayed to inform you that the module cannot be included
in your installation.

Adding Setup Prerequisites to the Redistributables


Gallery

TASK To add a setup prerequisite to the redistributables gallery:

1. Acquire the new or updated setup prerequisite (.prq) file.


2. Using Windows Explorer, copy the new prerequisite to the following location:

InstallShield Program Files Folder\SetupPrerequisites

3. Close InstallShield if it is currently open.


4. Launch InstallShield.

The modifications made are reflected in the Redistributables view.

InstallShield Express Edition User Guide 115


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Removing Setup Prerequisites from the Redistributables


Gallery

TASK To remove a setup prerequisite from the redistributables gallery:

1. Close InstallShield.
2. Using Windows Explorer, locate and delete the setup prerequisite that you want to
remove from the gallery. Setup prerequisites are located in the following
directory:
InstallShield Program Files Folder\SetupPrerequisites

3. Launch InstallShield.
The modifications made are reflected in the Redistributables view.

Merge Module Exclusions and Dependencies


When you add a merge module to your installation, you are accepting conditions that
go along with that module. Two such conditions are the module exclusions and
dependencies.

Module Dependencies
When a module is created, dependencies are set for it. This means that a module will
not work if you do not include its dependencies as well. InstallShield automatically
associates a module’s dependencies with your installation project if they are stored in
your local redistributables gallery. If those modules cannot be found, you need to
obtain a copy of each and associate them with your installation project in the
Redistributables view.

Module Exclusions
Some modules do not operate correctly in the presence of certain other modules. If
this is the case, the module’s author should list them as exclusions and they should
appear in the description window of the Redistributables view. If your newly
associated module has exclusions, and those excluded modules have already been
associated with your installation, InstallShield silently removes any reference to them
in your installation.

InstallShield Express Edition User Guide 116


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

CAUTION Any excluded modules that are added to the installation after the excluding module has been
added will not be removed; in addition, you will not receive any warning that they are
incompatible.

Setup Prerequisites
InstallShield provides several third-party redistributables that you can incorporate into
your project as setup prerequisites. A setup prerequisite is a base application or
component that must be installed on the target machine before your application can be
installed. If you include more than one setup prerequisite in an installation, you can
specify the order in which the prerequisites should be installed. Some examples of
setup prerequisites are Java Runtime Environment (JRE), Jet 4.0, and Windows
Management Instrumentation (WMI).
Including setup prerequisites in your project enables you to chain multiple .msi files
together into a single Setup.exe file, bypassing the Windows Installer limitation that
enables only one .msi file to be executed at a time. The Redistributables view is where
you add setup prerequisites to your project.
When InstallShield builds a Setup.exe file for a project that does not include any
prerequisites, it starts with the base Setup.exe file stored in the following location:
InstallShield Program Files Folder\redist\Language Independent\i386

However, when InstallShield builds a Setup.exe file for a project that includes
prerequisites, the aforementioned Setup.exe file cannot be used as the base because it
does not have the capability of including prerequisites. A slightly larger file called
SetupPrereq.exe is used instead. This base SetupPrereq.exe file is located in the
same directory as the base Setup.exe file. Since two different base files—Setup.exe
and SetupPrereq.exe—are used, only installation authors who are actually including
prerequisites in their projects incur the additional size overhead in the final, built
Setup.exe file that is distributed to end users.

Configuring a Release that Includes Setup Prerequisites


When you package an installation that includes setup prerequisites, you can use any
one of the following methods for supplying the prerequisite files to end users:
• Store the setup prerequisite files at the root directory of the source media.
• Compress the setup prerequisite files into Setup.exe, to be extracted at run time,
if necessary.
• If necessary, your installation can download the setup prerequisite files included
in your project from the URL specified in the setup prerequisite (.prq) file for each
prerequisite.

InstallShield Express Edition User Guide 117


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

EDITION InstallShield Premier Edition and InstallShield Professional Edition enable you to configure a
setup prerequisite so that it is installed either before or after any installation of the Windows
Installer engine and the .NET Framework (Dotnetfx.exe).

Running an Installation with Setup Prerequisites


During run time of an installation that is not run silently, if the installation includes
one or more prerequisites that are not on the target machine, a dialog listing those
prerequisites opens. End users have the option to proceed with the installation of those
prerequisites. If they specify that they do not want to install them, the installation
ends. If they specify that they do want to install them, the dialog displays the status of
the prerequisite installation, and a progress bar is included.
If any of your setup prerequisites requires that the target machine be restarted, the
installation process continues where it left off before the restart.

Uninstalling an Application that Included Setup


Prerequisites
Your installation may consist of your application plus one or more setup prerequisites.
If end users uninstall your application through Add or Remove Programs in Control
Panel, the setup prerequisites are still installed on their machines. They need to
uninstall each setup prerequisite individually in Add or Remove Programs if they
want to remove them from their machines.

Removing Merge Modules and Objects from Your


Project

TASK To remove a merge module or object from your project:

1. Open the Redistributables view.


2. To specify which types of redistributables—all types, merge modules, or
objects—should be displayed, select the appropriate option in the Object types to
display list.
3. Clear the check box of the redistributable that you would like to remove from your
installation.
InstallShield removes the redistributable and any dependencies associated with it
automatically.

InstallShield Express Edition User Guide 118


Chapter 9: Organizing Files for Your Installation
Including Redistributables in Your Installation

Removing Setup Prerequisites from Your Project

PROJECT Setup prerequisites are available in Windows Installer projects only.

TASK To remove a setup prerequisite from your project:

1. Open the Redistributables view.


2. In the Object types to display list, select All types or Setup Prerequisite.
3. Clear the check box in front of the setup prerequisite that you want to remove.

Shipping Redistributable Files


InstallShield provides third-party redistributables that you can incorporate into your
installation project. If you include redistributable technology in your project—for
example, Crystal Reports—that redistributable must be licensed from the vendor. You
cannot legally redistribute these technologies without the appropriate licensing. For
details, consult the vendor’s documentation.
Visit the Knowledge Base to learn about which InstallShield files you may
redistribute with your installation.

Specifying the Installation Order of Prerequisites


A setup prerequisite is a base application or component that must be installed on the
target machine before your application can be installed. The Redistributables view is
where you add setup prerequisites to your project. This view is also where you specify
the order in which the prerequisites should be installed if you include more than one in
your project.

TASK To specify the order in which the setup prerequisites should be installed on the target
machine:

1. In the Redistributables view, add the necessary setup prerequisites to your


project if you have not already done so.
2. Right-click any redistributable and click Set Setup Prerequisite Order. The
Setup Prerequisite Installation Order dialog box opens.
3. Select a prerequisite in the list and then click the up or down arrow to move it up
or down in the order for installation.

InstallShield Express Edition User Guide 119


Chapter 9: Organizing Files for Your Installation
Identifying Application Dependencies

Specifying the Setup Prerequisites Location


A setup prerequisite is a base application or component that must be installed on the
target machine before your application can be installed. The Redistributables view is
where you specify where a setup prerequisite should be located for a release.

TASK To specify where the setup prerequisites should be located for a release, do one of the
following:

1. In the Redistributables view, add the necessary setup prerequisites to your


project if you have not already done so.
2. Right-click any redistributable and click Properties. The Setup Prerequisite
Properties dialog box opens.
3. In the Build Location box, select the appropriate option.

NOTE If you build a release that includes setup prerequisites and both of the following are true, one or
more build errors may be generated:
• You specify for the setup prerequisite location that the prerequisite should be extracted
from Setup.exe or copied from the source media (instead of being downloaded from the
Web to the end user’s computer).
• The prerequisite files are not on your computer.

To eliminate the build errors, remove the prerequisite from your project, download the
prerequisite from the Internet to your computer, or change the setup prerequisites
location for the release to the download option; then rebuild the release.

Identifying Application Dependencies


A file often relies on functions in other files to perform a task. However, you may not
always be aware of these other files—known as dependencies—when you include
your application’s files in your installation project. InstallShield provides three
scanning wizards to assist you in identifying and working with these files.

Table 9-5: Scanning Wizards Available in InstallShield

Scanner Function
Static Scanner Looks at portable executable (.exe, .ocx, .com, .tlb,
.hlp, and .chm) files in your project and checks for any
dependencies that they may require.

InstallShield Express Edition User Guide 120


Chapter 9: Organizing Files for Your Installation
Identifying Application Dependencies

Table 9-5: Scanning Wizards Available in InstallShield (cont.)

Scanner Function
Dynamic Scanner Monitors your system while an executable file is
running and then adds to your project any .dll or .ocx
files that are required by the application.
Import Visual Basic Project Scans your Visual Basic project for all dependencies
and adds them to your installation project.

If you use the Static Scanner or the Dynamic Scanner, you can specify files that you
want to be included or excluded automatically any time that you perform a static or
dynamic scan through InstallShield. For more information, see Filtering Files in the
Dependency Scanners.

Dynamic Scanning
The Dynamic Scanning Wizard is an easy-to-use tool that helps you add an executable
file’s dependency files to your installation project. This wizard scans a running
executable file for all .dll and .ocx dependency files that it may have and
automatically adds them to your project. The executable file you want to scan can
already be included to your project, or it can be added by the wizard.
To launch the Dynamic Scanning Wizard, open the Dependencies view. Then, click
the Perform Dynamic Scanning button.

Static Scanning
The Static Scanning Wizard enables you to scan the files already added to your project
for any dependencies they may require. This wizard scans all .exe, .dll, .ocx, .sys,
.com, .drv, .scr, and .cpl files in your project and adds any dependencies it detects to
your project.
The new files added to your project are added to the same feature as the file that
depends upon them, thereby ensuring that they are installed when needed.
To launch the Static Scanning Wizard, open the Dependencies view. Then, click the
Perform Static Scanning button.

Filtering Files in the Dependency Scanners


When you run either the Static Scanning Wizard or Dynamic Scanning Wizard, the
wizard might list certain files as dependencies that you do not want added to your
project. To avoid having these files added every time you run the wizard, you can edit
Userscan.ini (located in the InstallShield Program Files Folder\Support
directory).

InstallShield Express Edition User Guide 121


Chapter 9: Organizing Files for Your Installation
Identifying Application Dependencies

The Userscan.ini file enables you to specify any files you want the wizard to ignore.
You can also instruct the wizard to include common system files that are normally
ignored during scanning.

Using an .ini File to Filter Files in the Dependency


Scanning Wizards

TASK To filter files using an .ini file in either the Static Scanning Wizard or Dynamic Scanning
Wizard:

1. Open the file Userscan.ini (found in the InstallShield Program Files


Folder\Support directory).
2. In the [Filter] section, specify the files that you want the scanner to exclude. Enter
the name of the file in the following format (the name of the file followed by an
equal sign and then the number 1):
[Filter]

SomeFile.dll = 1

AnotherFile.dll = 1

Any files appearing in this section will not be added to your installation by the
project scanner.
3. In the [Do Not Filer] section, include files that are excluded in the Iswiscan.ini
file. This file lists common system files that are present on all Windows machines.
However, if you need to include one of these files in your installation, you can
override the settings in Iswiscan.ini by placing that file in the [Do Not Filter]
section of Userscan.ini.
Enter the name of the file in the following format (the name of the file followed by
an equal sign and then the number 1):
[Do Not Filter]

MyFile.dll = 1

4. Save and close Userscan.ini.

Visual Basic Projects and InstallShield


The Visual Basic Wizard enables you to import Visual Basic projects into your
InstallShield installation project. The wizard scans your project and determines any
file dependencies. The wizard displays the results of the scan, showing the files that
will be added to your project. You then have the option of adding that Visual Basic
project to your installation project.

InstallShield Express Edition User Guide 122


Chapter 9: Organizing Files for Your Installation
Registering COM Servers

Note that if you want to recompile the Visual Basic project, Visual Basic must be
installed on your system.

NOTE Visual Basic Group (VBG) file scanning is not supported in the current version of InstallShield.

Importing Visual Basic Projects

TASK To import a Visual Basic project into your installation project:

1. On the Project menu, click Visual Basic 6.0 Wizard. The Visual Basic Wizard
opens.
2. Complete the panels in the wizard to import the project.

Registering COM Servers


Most applications require certain COM servers in order to operate properly. In order
for the operating system to recognize these COM servers, you need to register them.
InstallShield supports two methods for registering a COM server on a target machine:
• The COM information can be extracted from the file and used to register the COM
server during the installation.
• The file can be self-registered if it supports self-registration. Note that self-
registration is not as reliable as having Windows Installer register and unregister
the file with extracted COM information.
The first method listed—extracting the COM information—is the recommended
method.

IMPORTANT Some applications, like WinRunner, insert hook .dll files into the COM extraction engine. This
causes COM extraction to fail and displays the following message: “ISRegSpy detects following
module %1 hooked into this process, which causes ISRegSpy to malfunction. You need to shut
the application down and restart COM extraction.” If you encounter this message, shut down the
application and restart COM extraction, as the dialog box instructs.
Do not select the self-registering property for .exe files that are not self-registering. To self-
register an .exe file, you need to launch the .exe file with the /regserver command. However,
if the .exe file does not support the command-line switch, the .exe file will be launched during
extraction at build time.

InstallShield Express Edition User Guide 123


Chapter 9: Organizing Files for Your Installation
Referencing DIM Files in Your Installation

TASK To register a COM server with InstallShield:

1. Open the Files view.


2. Right-click the file you want to register and then click Properties. The
Properties dialog box opens.
3. Click the COM & .NET Settings tab.
4. In the Registration Type list, select the type of registration that you want to
perform on the file.
5. Click OK.

Referencing DIM Files in Your Installation


Traditionally, release engineers have been fully responsible for interacting with
software developers and creating installations for software deployment. With the
InstallShield Collaboration model, software developers can directly participate in the
installation design. They can communicate all their installation requirements in an
XML-structured text file that is authored alongside other source code that makes up a
software module. These files are Developer Installation Manifest (.dim) files and can
be authored using InstallShield Collaboration and edited in any text editor.
Once the .dim files have been created, they can be referenced in an installation project
that you are creating using InstallShield. When your installation project is built, all
DIM references are automatically consumed in the process. Currently, you can
reference .dim files in the following InstallShield views:
• Features
• DIM References
• Internet Information Services
• Shortcuts/Folders

Adding a New DIM Reference in the DIM


References View

TASK To add a new DIM Reference in the DIM References view:

1. Right-click DIM References in the explorer, and click New DIM Reference.
2. Review or update the writable settings in the General, Variables, Meta Info,
Data, and Dependencies tabs associated with the DIM reference.

InstallShield Express Edition User Guide 124


Chapter 9: Organizing Files for Your Installation
Referencing DIM Files in Your Installation

Associating a DIM Reference with a Feature

TASK To associate a DIM reference with a feature:

1. Open the Feature view.


2. In the Features explorer, right-click the feature that you want to associate a DIM
reference with, and click Associate DIM References.
3. Review or update the writable settings in the General, Variables, Meta Info,
Data, and Dependencies tabs associated with the DIM reference.

Adding a New DIM Reference to a Feature

TASK To add a new DIM Reference to a feature:

1. Open the Feature view.


1. In the Features explorer, right-click the feature that you want to associate a DIM
reference with, and click New DIM Reference.
2. Review or update the writable settings in the General, Variables, Meta Info,
Data, and Dependencies tabs associated with the DIM reference.

Inserting DIM Virtual Directories

TASK To insert a DIM virtual directory:

1. Open the Internet Information Services view.


2. In the Web Sites explorer, right-click a Web site and click Insert DIM Virtual
Directories.
3. When the Associate DIM References dialog box appears, select the .dim file that
you want to associate with the Web Site, and click OK.

InstallShield Express Edition User Guide 125


Chapter 9: Organizing Files for Your Installation
Referencing DIM Files in Your Installation

Creating a Shortcut to a File Referenced in a DIM

TASK To create a shortcut to a file referenced in a DIM:

1. Open the Shortcuts/Folders view.


2. In the Shortcuts explorer, right-click a shortcut destination and click New
Shortcut to File in DIM. The Browse for a Destination File dialog box opens.
3. Select the file associated with the DIM, and click Open.
4. Configure the properties associated with the new shortcut.

Editing Build and Run-Time Variables Referenced in


a DIM

TASK To edit build and run-time variables referenced in a DIM:

1. Open the DIM References view.


2. In the DIM References explorer, select a DIM reference.
3. Click the Variables tab.
4. Click within the Value field to update it or select from an available list of
properties.
5. Click within the Description field to update the information.

InstallShield Express Edition User Guide 126


10
CONFIGURING THE TARGET SYSTEM

Every installation changes the target system in some way. The simplest installations
might only copy files. More in-depth installations make registry changes, create file
associations, edit .ini files, or create shortcuts. InstallShield provides the System
Configuration view for making the following advanced configurations.

Shortcuts and Program Folders


Shortcuts and program folders offer quick access to your installed application. You
can use the Shortcuts/Folders view to specify shortcuts and program folders that the
installation should create on the desktop, the Start menu, and various other locations.
Compact, QuickPatch, and Smart Device projects do not include the Shortcuts/Folders
view.

Registry
In the Registry view, you can create registry entries or import existing registry data
into your installation.
Compact projects do not include this view.

File Associations
Use the File Extensions view to create an association between your application and a
specific file type. For example, all Windows operating systems launch Notepad.exe
when a text (.txt) file is opened.
Compact, QuickPatch, and Smart Device projects do not include the Shortcuts/Folders
view.

InstallShield Express Edition User Guide 127


Chapter 10: Configuring the Target System
Creating Shortcuts and Program Folders

Initialization File (.ini File) Changes


Although editing system .ini files is not recommended in Windows 2000 or later, you
can edit these files in the INI File Changes view. This view allows you to create
sections and keywords, or edit an .ini file on the target system.
Compact, QuickPatch, and Smart Device projects do not include this view.

Open Database Connectivity (ODBC) Resources


In the ODBC Resources view, you can add drivers, translators, and data sources to one
or more of your application’s features. Select from installed ODBC resources (or add
new ones to the list), associate them with features, and then customize their attributes.
Compact, QuickPatch, and Smart Device projects do not include this view.

Environment Variables
If you need to create, modify, or remove environment variables from the target
system, you can define their properties in the Environment Variables view.
Compact, QuickPatch, and Smart Device projects do not include this view.

Creating Shortcuts and Program Folders


Shortcuts and program folders offer quick access to your installed application. You
can configure your installation so that it creates shortcuts and program folders on the
desktop, the Start menu, and various other locations on the target system. The
Shortcuts/Folders view is where you create shortcuts and program folders.

Shortcut Locations
The Shortcuts/Folders view contains a set of predefined destination folders under
which you can create shortcuts and subfolders.
You can access additional folders in this view by right-clicking the Shortcuts explorer,
pointing to Show Folder, and then clicking the appropriate folder that should contain
your shortcut.

128 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Creating Shortcuts and Program Folders

InstallShield offers the following standard shortcut destinations.

Table 10-1: Standard Shortcut Destinations

Shortcut Destinations
Programs Menu and Startup Programs Menu and Startup are located in the Start menu.
The Programs Menu folder is the industry standard and
Microsoft’s suggested method. The Startup folder should
contain shortcuts to only those items that need to be
launched whenever Windows starts.
Send To The Send To folder is accessed when an end user right-
clicks a file. If you create a shortcut for your program in this
folder, an end user can click any file and send it to your
program.
For example, you might want your end user to be able to
open an HTML page in Notepad. If you created a shortcut to
Notepad in the Send To folder of the Shortcuts explorer, the
end user could right-click an HTML file and select Notepad
from your Send To menu. The source file for that page
opens in Notepad.
Desktop The end user’s desktop. When you create a shortcut in the
desktop folder, your application’s icon is displayed on the
end user’s desktop.

Creating Shortcuts

TASK To create a new shortcut:

1. Create a feature containing the file that you want the shortcut to launch.
2. Open the Shortcuts/Folders view.
3. In the Shortcuts explorer, right-click a destination folder and then click the type
of shortcut or folder you want to create:
» New Shortcut—Creates a standard shortcut. Launching a shortcut created
this way does not launch the Windows Installer. If any dependent files,
registry entries, or .ini files are missing, the shortcut launches the file anyway.
» New Advertised Shortcut—Creates an advertised shortcut. If anything is
missing when the end user clicks the shortcut, it launches Windows Installer,
which will install all the missing dependencies and then launch the file. If
there are no missing dependencies, it launches the file without launching
Windows Installer.

InstallShield Express Edition User Guide 129


Chapter 10: Configuring the Target System
Creating Shortcuts and Program Folders

»New Shortcut to Preexisting file—Creates a shortcut that points to a file that


is not installed with your installation. For example, you could use this to
create a shortcut to Internet Explorer or to UNC paths.
» New Uninstall Shortcut—Creates a shortcut that automatically starts the
uninstallation process for an application.
» New Folder—Creates a new folder. You can create a program folder if you
want your shortcut to appear under your company name, for example.
4. Configure properties for the shortcut.

NOTE An advertised shortcut can be created for a file only if it is designated as a portable executable
file. You can indicate which files you want to be treated as portable executable files on the File
Extensions tab of the Options dialog box.

Basing a Shortcut on the Source Media

TASK To base a feature’s shortcut on the source media:

1. Open the Features view.


2. In the Features explorer, click the feature.
3. Set the Remote Installation property to Favor Source.
4. Build your release as an uncompressed CD-ROM.
5. Create an advertised shortcut to the feature.
With these settings, all files in the feature remain on the CD and are not installed
locally. When the end user launches the advertised shortcut, the Windows Installer
launches (invisible to the end user) and runs the ResolveSource action. This action
determines the value of SourceDir. Because the Build is uncompressed, SourceDir
contains the path to the CD drive and it resolves to the file on the CD.

Creating an Uninstallation Shortcut


Although it is possible to create a shortcut for uninstallation, the recommended way
for users to uninstall products is through Add or Remove Programs in the Control
Panel. If you do want to create an uninstallation shortcut, follow the procedure
described below.

130 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Creating Shortcuts and Program Folders

TASK To create a shortcut that automatically starts your application’s uninstallation process:

1. Open the Shortcuts/Folders view.


2. In the Shortcuts explorer, right-click the folder that should contain the
uninstallation shortcut and then click New Uninstall Shortcut. InstallShield
creates a new shortcut with the default name Uninstall.
3. Type a name for the shortcut. To rename the feature, right-click it and click
Rename.
4. Configure the shortcut’s properties in the property grid.

Adding Shortcut Hot Keys


Shortcut hot keys enable end users to access shortcuts with keyboard combinations,
such as CTRL+ALT+A. These combinations enhance keyboard support of your
product, especially for people with disabilities.

CAUTION Microsoft recommends that you do not create a shortcut hot key, because it may conflict with
existing hot key combinations on the target machine.

NOTE Shortcut hot keys do not work on Windows 95 and NT 4.0 platforms when Active Desktop is
used. They also do not work on Windows 98 systems.

TASK To add a shortcut hot key:

1. Open the Shortcuts/Folders view.


2. In the Shortcuts explorer, click the shortcut to which you are specifying a hot
key.
3. Click the Hot Key property, and then click the ellipsis button (...). The Hot Key
dialog box opens.
4. Press the hot key combination that you want to use for this shortcut.

After you enter the hot key combination, the dialog box closes and a decimal value
representing the combination appears in the Hot Key property.

InstallShield Express Edition User Guide 131


Chapter 10: Configuring the Target System
Editing the Registry

Editing the Registry


The Windows registry is a system-wide database that contains configuration
information used by applications and the operating system. The registry stores all
kinds of information, including the following:
• Application information such as company name, product name, and version
number
• Path information that enables your application to run
• Uninstallation information that enables end users to uninstall the application
easily without interfering with other applications on the system
• System-wide file associations for documents created by an application
• License information
• Default settings for application options such as window positions

Keys, Value Names, and Values


The registry consists of a set of keys arranged hierarchically under the My Computer
explorer. Just under My Computer are several root keys. An installation can add keys
and values to any root key of the registry. The root keys that are typically affected by
installations are:
• HKEY_LOCAL_MACHINE
• HKEY_USERS
• HKEY_CURRENT_USER
• HKEY_CLASSES_ROOT
A key is a named location in the registry. A key can contain a subkey, a value name
and value pair, and a default (unnamed) value. A value name and value pair is a two-
part data structure under a key. The value name identifies a value for storage under a
key, and the value is the actual data associated with a value name. When a value name
is unspecified for a value, that value is the default value for that key. Each key can
have only one default (unnamed) value.
Note that the terms key and subkey are relative. In the registry, a key that is below
another key can be referred to as a subkey or as a key, depending on how you want to
refer to it relative to another key in the registry hierarchy.

InstallShield Projects and the Registry


InstallShield includes the Registry view to help you with the task of modifying the end
user’s registry. Use this view to create keys and values in much the same way that you
use the Windows Registry Editor.
All registry data must be associated with a feature. If the feature is selected for
installation, the registry data associated with that feature is set up on the target system.

132 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Editing the Registry

CAUTION It is important not to modify or delete registry keys indiscriminately because the registry is a
vital part of the Windows operating system, and the system may fail to function if vital registry
keys are altered.

Filtering Registry Entries by Feature


The Registry view includes a Feature list The Feature list contains your project’s
hierarchy of features and subfeatures, and it enables you to select a feature whose
registry data you want to display in the view.
If the feature hierarchy contains a subfeature, selecting a parent feature displays only
the registry entries in that feature. It does not display the registry entries in the
subfeature.

Viewing All Registry Entries in Your Project


To view all of the registry entries in your installation, select the All Application Data
option in the Feature list.
You can modify, rename, or delete registry keys and values while filtering the view by
All Application Data.
When you click a registry key in the Destination computer’s Registry view pane of the
Registry view, InstallShield displays all of the registry data for that key in the lower-
right pane of the Registry view.
If you have not set a value for a key, no registry data is displayed for that key when
you select All Application Data.

Creating a Registry Key

TASK To specify a registry key to be created on the target system when a feature is installed:

1. Open the Registry view.


2. In the Feature list, select the feature with which you want to associate the new
key.
3. In the Destination computer’s Registry view pane, click the registry key under
which you want to create your new key.
4. In the Destination computer’s Registry view pane, right-click a registry key,
point to New, and then click Key.
InstallShield adds a new key with the name New Key-#n (where n is a successive
number). Enter a meaningful name to rename the key, or right-click the key and select

InstallShield Express Edition User Guide 133


Chapter 10: Configuring the Target System
Editing the Registry

Rename to give it a new name later. Your new key is created with an empty default
string value.
To modify the value name and data, see Creating Registry Values.

Dragging and Dropping Registry Entries to Create


Registry Keys
The quickest way to add registry entries to your installation project is to drag them
from one of the Source panes in the Registry view and drop them into one of the
Destination panes. When you drop an entire key onto the Destination computer’s
Registry view pane, all of that key’s subkeys and values are added to the selected
feature.

TASK To drag and drop a registry entry from the source computer to the destination computer:

1. Open the Registry view.


2. In the Feature list, select the feature with which you want to associate the new
key.
3. In the Destination computer’s Registry view pane, click the registry key under
which you want to create your new key.
4. In the Source computer’s Registry view pane, locate the key you want to include
in your installation and drag it to a destination folder in the Destination
computer’s Registry view pane. If you drop an entire key onto the Destination
pane, all of that key’s subkeys and values are added to your installation.

NOTE A limitation of this procedure is that it works only if the registry entries exist on your installation
development system. If you have registry data from another machine, you can import that data
with the Import REG Files Wizard.

Importing Registry Data from a .reg File


InstallShield enables you to import any existing registry (.reg) files that you may have
from other installation projects or that you have created outside InstallShield.
InstallShield can import .reg files created by exporting in Regedit, or files that follow
that exact format. Note that InstallShield does not support multiline registry values.

134 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Editing the Registry

TASK To import registry data from a .reg file:

1. Open the Registry view.


2. In the Feature list, select the feature into which you want to import the .reg file.
3. In the Destination computer’s Registry view pane, right-click the registry key
under which you want your registry data added and then click Import REG File.
The Registry Import Wizard opens.
4. Follow the directions in the Registry Import Wizard to add the registry data.

When you add registry data to a feature, it is installed on the target system if the
associated feature is installed.

Removing Registry Keys

TASK To remove a registry key:

1. Open the Registry view.


2. In the Feature list, select the feature that contains the registry key, or select All
Application Data to view all of the registry keys for your product.
3. In the Destination computer’s Registry view pane, right-click the registry key
that you want to remove and then click Delete.

Creating Registry Values

TASK To create a new registry value:

1. Open the Registry view.


2. In the Feature list, select the feature that contains the registry key to which you
want to add a value.
3. In the Destination computer’s Registry view pane, right-click the key to which
you want to add a value, point to New, and then click the type of data that you
want to register. Available types of registry values are as follows:
Table 10-2: Types of Registry Values

Option Description
Default Value The key’s default value.
String Value A fixed-length text string.

InstallShield Express Edition User Guide 135


Chapter 10: Configuring the Target System
Editing the Registry

Table 10-2: Types of Registry Values

Option Description
Binary Value The value is interpreted and stored as a hexadecimal value.
DWORD Value Data represented by a number that is four bytes (32 bits) long.
Multi-String Value Multiple text strings formatted as an array of null-terminated
strings, and terminated by two null characters. Selecting this
command launches the Multi-Line String Value dialog box.
Expandable String The value is interpreted and stored as an expandable string.
Value According to the Microsoft Developer Network (MSDN), an
expandable string registry value is a null-terminated string that
contains unexpanded references to environment variables (for
example, %PATH%).

InstallShield adds a new value with the name New Value #n (where n is a successive
number). Enter a meaningful name now to rename the value, or right-click the value
name and then click Rename to give it a new name later.

Modifying Registry Value Data

TASK To modify the data for a registry value:

1. Open the Registry view.


2. In the Feature list, select the feature that contains the registry data that you want
to modify.
3. In the Destination computer’s registry data pane, double-click the value that
you want to modify. The Edit Data dialog box or the Multi-Line String Value
dialog box opens.
4. Complete the information in the dialog box, and then click OK.

Windows Installer properties can be used in your registry value to store information
for later use by your product. For example, if you want to store the destination
location of your software, enter [INSTALLDIR] for your registry value. For more
information, see Windows Installer Properties.

NOTE To add a value that contains square brackets ([]), you must precede each bracket with a
backslash (\) and surround it with an opening and closing bracket. Otherwise, Windows Installer
treats the value as a property. For example, if you wanted to write [stuff] to the registry, use
[\[]stuff[\]] as the value name.

136 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Editing the Registry

Removing Registry Values

TASK To remove a registry value from your project:

1. Open the Registry view.


2. In the Feature list, select the feature that contains the registry value that you want
to delete.
3. In the Destination computer’s Registry view pane, click the registry key that has
the value you want to delete. All registry values are listed in the Destination
computer’s registry data pane.
4. In the Destination computer’s Registry data pane, right-click the registry value
that you want to remove and then click Delete.

Entering Multiple Registry String Values into a


Single String

TASK To enter multiple string values into a single string:

1. Open the Registry view.


2. In the Feature list, select the feature that should contain the registry value that
you want to add.
3. In the Destination computer’s Registry view pane, right-click the registry key
that should contain the value that you want to add, point to New, and then click
Multi-String Value. The Multi-Line String Value dialog box opens.
4. Enter the value information and then click OK.

In the Windows 2000/XP registry, the Type field for this entry appears as
REG_MULTI_SZ, and the Data field is File Name Path.

NOTE Windows 95, Windows 98, and Windows NT machines do not have the Type field in the registry.

Referencing an Environment Variable in a Registry


Entry
With REG_EXPAND_SZ string values, you can use environment variables for paths
that are stored in the registry. These entries require special formatting in order to be
recognized by the operating system as environment variables. The format for a

InstallShield Express Edition User Guide 137


Chapter 10: Configuring the Target System
Editing the Registry

REG_EXPAND_SZ value as it appears in the registry is %TEMP%. TEMP is the standard


environment variable for the TEMP directory.

TASK To reference an environment variable in a registry entry:

1. Open the Registry view.


2. In the Feature list, select the feature that should contain the registry value that
you want to add.
3. In the Destination computer’s Registry view pane, right-click the registry key
that should contain the value that you want to add, point to New, and then click
String Value.
4. In the Destination computer’s registry data pane, right-click the value and then
click Modify.
5. To enter the value data, begin with a pound sign, and then type the environment
variable. The environment variable name should be surrounded by percent signs.
For example: #%TEMP%.
In the Windows 2000 registry, the Type field for this entry appears as
REG_EXPAND_SZ, and the Data field is %TEMP%.

NOTE Windows 95, Windows 98, and Windows NT machines do not have the Type field in the registry.

Specifying a Primary Key for the Registry Table


Windows Installer requires a unique primary key for each registry key and value you
add to the Registry table. To allow you to create registry entries in a completely visual
environment, InstallShield assigns a unique name to every entry in the database’s
Registry table at build time.
You may need to know the entry’s primary key when authoring a custom action.
InstallShield supports specifying a primary key on a registry key or value in the
Registry view.

TASK To specify a primary key for a registry key or value:

1. Open the Registry view.


2. In the Feature list, select the feature that should contain the registry value that
you want to add.

138 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Editing the Registry

3. In the Destination computer’s Registry view pane, right-click the registry key
associated with the primary key that you want to specify, and then click MSI
Value. The MSI Value dialog box opens.
4. Type the name of the key. Since the primary key must be a Windows Installer
identifier, the name should contain only letters, numbers, underscores (_), and
periods (.), and it must begin with a letter or underscore.
If you do not specify a value, InstallShield generates a unique primary key for this
entry in the Registry table.

Registry Flags
Registry flags enable you to control the installation and uninstallation of your registry
entries. By default, your registry entries are installed if the feature to which they
belong is installed. They are then uninstalled when that feature is removed. If you
would like your registry entries to remain on the target system even after the product
has been uninstalled, or if you want to create registry entries only if they do not
already exist, you need to set the installation flag for that key.
In InstallShield, installation behavior is set at the subkey level. All values beneath the
key must have the same installation and uninstallation behavior.
Registry keys that have special registry flags can be identified by the folder icon.
Below is a list of the icons, and the type of registry flags to which they correspond.

Table 10-3: Registry Flags

Icon Command Description


Install only (+) (Express projects only) If the key does not already exist,
it is created. The key is not uninstalled when the feature
to which this key belongs is uninstalled. This option is
available only for keys that do not contain values.
Uninstall entire key (Express projects only) If this flag applies to an empty
(-) key, the key is not created at installation. If this flag
applies to a key that contains values, the key and values
are created at installation if the key does not exist on the
target system. In both cases, the key, all subkeys, and
values are removed at uninstallation—even if the subkeys
and values were added after the installation.
Install if absent, (Express projects only) This option creates the key and
Uninstall if present any values at installation if the key does not exist on the
(*) target machine. At uninstallation, the key, all subkeys,
and all values are removed—even if the subkeys and
values were added after the installation.

InstallShield Express Edition User Guide 139


Chapter 10: Configuring the Target System
Editing the Registry

Table 10-3: Registry Flags (cont.)

Icon Command Description


Automatic This is the default behavior. It ensures the existence of
the key on the target system. At installation, keys and
values are created if they do not exist and are
overwritten if they do exist on the target system. At
uninstallation, this option removes only those values that
were created at installation. It does not remove the key
unless the key is empty.

Setting Install/Uninstall Behavior for Registry Keys


In InstallShield, installation and uninstallation behavior for registry entries is set at the
subkey level.

TASK To set the install/uninstall behavior for a registry key:

1. Open the Registry view.


2. In the Feature list, select the feature that corresponds to the registry key whose
behavior you are setting.
3. In the Destination computer’s Registry view pane, right-click the registry key
and then click the appropriate behavior.

Install/Uninstall Behavior Options


In InstallShield, installation and uninstallation behavior is set at the subkey level. All
values beneath the key must have the same installation and uninstallation behavior.
For a list of available options, see Registry Flags.

Handling Registry Entries for a Per-User Setup


Since the current user may not have sufficient privileges for modifying keys under
HKEY_LOCAL_MACHINE under Windows NT, Windows 2000, and Windows XP,
you may need to write the entries under HKEY_CURRENT_USER.
When you select HKEY_USER_SELECTABLE in the Registry view, the entries are
created under the appropriate registry hive, according to the type of installation and
the user’s access rights:
• In a per-user installation, meaning that the installation is being run by someone
with user-level access privileges, these entries would be made under
HKEY_CURRENT_USER.

140 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Associating a File Extension with an Application File

• In a per-machine installation, meaning that ALLUSERS is not null and that the
user is an administrator, the entries would be written under
HKEY_LOCAL_MACHINE.

Refreshing the Registry View

TASK To refresh the registry view:

Press F12.

Associating a File Extension with an Application File


File associations are registry settings that tell Windows what application to use to
open files of a certain type. For example, Windows typically launches Notepad.exe
when a text (.txt) file is opened.
To view and modify registered file types on your system, open Windows Explorer,
and on the Tools menu, click Folder Options. Use the File Types tab of the Folder
Options dialog box to see how the file associations are configured.
Similarly, you can identify the application that is associated with a given file by right-
clicking the file in Windows Explorer and then clicking Properties.
On Windows NT 4 and Windows 9x systems, file association information is stored
under the root HKEY_CLASSES_ROOT. On systems running Windows 2000 or
later, file associations are stored in both HKLM\SOFTWARE\CLASSES and
HKCU\SOFTWARE\CLASSES; you can see a merged view of the data under
HKEY_CLASSES_ROOT.

Creating File Associations for Your Installation Project


Best-practice guidelines recommend that you create a file association for every
nonhidden type of file created or used by your product. With the File Extensions view
in InstallShield, you can quickly and easily create file associations for your
installation project. When an end user installs a feature that contains a file association,
the file association is registered on the target machine; an entry is made in the
appropriate part of the registry, and the entry links your file type to your application
through the ProgID. The ProgID, which is sometimes called a file type’s application
identifier or tag name, uniquely identifies your application and ensures that your
association is recognized by the operating system.

InstallShield Express Edition User Guide 141


Chapter 10: Configuring the Target System
Changing .ini File Data

Creating a File Extension Association


You can create a file association that links a file extension to an executable (.exe) file
in your installation project. Note that the .exe file must be included in your project
before you can create the file association.
Note that you should not use a dynamically linked file to create a file association.
With dynamically linked files, the selection defaults to the top file in the dynamically
linked folder’s file list, so you cannot select a specific file.

TASK To create a file extension association:

1. Open the File Extensions view.


2. Right-click the File Extensions explorer and click New Extension. InstallShield
creates a new file extension with the default name extn (where n is a successive
number). Type your own extension without the dot (for example, enter txt
instead of .txt) to replace the default name.
3. Edit the properties of the extension.

Changing .ini File Data


An initialization (.ini) file is a special text file that contains information that
applications and the Windows system use to specify application options at startup or
run time. Some .ini files, such as Boot.ini and Wininit.ini, are used by the operating
system. You can store profile, configuration, language, font, and device driver
information in an .ini file.
Note that it is recommended as a general rule that application settings be stored in the
registry, instead of in .ini files.

Format of an .ini File


Information in .ini files is stored under section names enclosed within square brackets,
and each item has the form keyname=value, as shown below:
[section name]
keyname1=value1
keyname2=value2
keyname3=value3

Key data can be a string value or an integer value.

142 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Changing .ini File Data

InstallShield Projects and .ini Files


The INI File Changes view in InstallShield enables you to specify changes that should
be made to .ini files on the target system during the installation of your product.
Although you can edit any .ini file found on the target system, editing system .ini files
is not recommended.
Editing an .ini file involves three steps:
1. Create an .ini file reference or import an .ini file.
2. Add a section to the .ini file.
3. Add a keyword to the .ini file.

Adding an .ini File


When you add an .ini file to your project, you are creating a reference to that .ini file in
your installation. If the feature associated with the .ini file is installed on the target
system, the installation modifies the .ini file according to the settings that you
configure in the INI File Changes view.

TASK To add an .ini file:

1. Open the INI File Changes view.


2. Right-click the INI Files explorer and click Add INI File.
3. Rename the new .ini file, giving it the name of the file name and extension that
you want to edit on the target machine; for example, Boot.ini.
4. Edit the properties of the .ini file.

After you have created the reference to the .ini file, you can move on to the next step,
which is to add a section to your .ini file.

Importing an Existing .ini File

TASK To import an .ini file that exists on your computer:

1. Open the INI File Changes view.


2. Right-click the INI Files explorer and click Import INI File. The Open dialog
box opens.
3. Browse to the .ini file that you want to add, select it, and then click Open.

InstallShield adds the .ini file to the INI Files explorer; each section and keyword-
value pair in the .ini file is represented by a separate item in the INI Files explorer.

InstallShield Express Edition User Guide 143


Chapter 10: Configuring the Target System
Changing .ini File Data

Specifying a Section in an .ini File


Once you have specified the .ini file you would like to edit, you can specify which
section of that file you want to change. Each .ini file is divided into one or more
sections, and each section contain keywords. Sections are identified by the square
brackets surrounding them—[SectionName], for example.

TASK To specify an .ini file section:

1. Open the INI File Changes view.


2. Add or import an .ini file if you have not already done so.
3. In the INI Files explorer, right-click the .ini file for which you want to create a
section and then click Add Section. InstallShield adds a section item with a folder
icon to the INI Files explorer.
4. Rename this new section, giving it the name of the section you want to edit in the
target .ini file. The square brackets are not needed.
After you have added a section to your .ini file you can add a keyword.

Specifying a Keyword and its Value in an .ini File


The keywords in an .ini file are the lowest level of organization in the .ini file.
Keywords store data that must persist between uses of an application.
Once you have added a .ini file to your project and set up one or more sections, you
can add keywords to the sections and then configure the keyword’s properties. The
properties of a keyword include the value for the keyword, as well as the action that
should be performed (such as replace a data value or append to an existing data value).

TASK To add a keyword to an .ini file:

1. Open the INI File Changes view.


2. In the INI Files explorer, right-click the section that should contain the keyword,
and then click Add Keyword. InstallShield adds a keyword item to the INI Files
explorer.
3. Rename this new keyword, giving it the name of the keyword you want to modify.
If it is a new entry, enter the name exactly as you want it to appear in the .ini file.
4. Edit the properties of the keyword.

144 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Configuring ODBC Resources

Configuring ODBC Resources


One of the more complex areas of system configuration involves setting up ODBC
drivers, data source names (DSNs), and translators. The ODBC resource must be
properly registered on the system with all of the required attributes and, in the case of
drivers and translators, install the necessary files, including any installation .dll files.
This process is simplified in the ODBC Resources view, in which you can select the
drivers, data sources, and translators installed on your development system. You can
also add to your project any drivers and data sources that are not available on your
development system.

Including an ODBC Resource

TASK To include an ODBC resource in your installation:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, expand the Drivers & DSNs item and/or the
Translators item.
3. Select the check box for the ODBC resource that you want to include.

Including Additional ODBC Resources


You may need to install ODBC drivers or DSNs that are not already listed in the
ODBC Resources view. The following procedures explain how to do so.
Note that only translators that are installed on the development system are listed in the
ODBC Resources view. To add to your project a translator that is not listed in this
view, you must first install the translator on the development system. Then you can
add it to your project through the ODBC Resources view.

TASK To include a driver that is not listed in the ODBC Resources view:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, right-click Drivers & DSNs and then click Insert
Driver. InstallShield adds a new driver item with the name NewDrivern (where n
is a successive number). The check box for this new driver is selected by default.
3. Type a new name for the driver.
4. In the ODBC Attributes & Properties pane, configure the properties for the
driver.

InstallShield Express Edition User Guide 145


Chapter 10: Configuring the Target System
Configuring ODBC Resources

TASK To include a DSN that is not listed in the ODBC Resources view:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, right-click the driver that should contain the new
DSN and then click New DSN. InstallShield adds a new DSN item with the name
NewDataResourcen (where n is a successive number). The check box for this
new DSN is selected by default.
3. Type a new name for the DSN.
4. In the ODBC Attributes & Properties pane, configure the properties for the
DSN.

Associating an ODBC Resource with a Feature


Like most of the data in your project, ODBC resources must be associated with a
feature. When the feature is installed on the target system, the ODBC resource is
installed as a part of the feature. If a resource is associated with more than one feature
that is being installed, the resource will be installed only once.

TASK To associate an ODBC Resource with a feature:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, click a driver, DSN, or translator whose check box
is selected.
3. In the Associated Feature(s) pane, select one or more check boxes for each
feature that should contain the ODBC resource.

NOTE By default, each ODBC resource is associated with the feature Always Install. Since the ODBC
Resources explorer requires that at least one feature be selected, you cannot clear the Always
Install check box unless you first select the check box for another feature. If only one feature is
associated with a ODBC resource, its check box cannot be cleared until you select at least one
additional feature.

Setting the Attributes for an ODBC Resource


You can configure the attributes of any ODBC driver or DSN that you have added to
your installation project. See the vendor’s documentation for specific information
regarding properties and permitted attributes and values.

146 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Configuring ODBC Resources

TASK To set the attributes for an ODBC resource:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, click a driver, DSN, or translator whose attributes
you want to configure. The check box for that resource must already be selected.
3. In the ODBC Attributes & Properties pane, configure the resource settings.

Adding a New Attribute to an ODBC Resource


InstallShield enables you to add attributes to any ODBC driver or DSN that you have
added to your installation project. See the vendor’s documentation for specific
information regarding properties and permitted attributes and values.
Adding attributes to a translator is not supported.

TASK To add a new attribute to a driver or DSN:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, click a driver or DSN that should include the new
attribute. The check box for that resource must already be selected.
3. In the ODBC Attributes & Properties pane, click the last row of the grid to add
a new property and corresponding value.

Removing an Attribute from an ODBC Resource

TASK To remove an attribute from an ODBC resource:

1. Open the ODBC Resources view.


2. In the ODBC Resources pane, click the ODBC resource that contains the
attribute that you want to delete. The check box for that resource must already be
selected.
3. In the ODBC Attributes & Properties pane, right-click the property that you
want to remove, and then click Delete.
InstallShield removes the corresponding row from the ODBC Attributes & Properties
pane.

InstallShield Express Edition User Guide 147


Chapter 10: Configuring the Target System
Using Environment Variables

Using Environment Variables


Environment variables are name and value pairs that can be accessed by multiple
applications on the target system.
In the Environment Variables view, you can create new environment variables,
modify the values of existing variables, and remove variables. The environment
variable creation, modification, or removal takes place when your application is
installed—depending on the properties that you set for the environment variable when
you added it to your project.

NOTE For target systems running Microsoft Windows 95 or 98, the environment variables are modified
in, created in, or removed from Autoexec.bat. Environment variables are stored in the registry
on systems running Windows NT 4.0 or Windows 2000 and later.

Setting Environment Variables

TASK To create a new environment variable or modify the value of an existing environment
variable:

1. Open the Environment Variables view.


2. Right-click the Environment Variables explorer and click Add Environment
Variable. InstallShield adds a variable with the name NewEnvironmentn (where
n is a successive number).
3. Type the name of the variable that you want to modify, remove, or create.
4. Edit the properties of the environment variable.

Per-User vs. Per-Machine Installations


Whether the installation is installed for the current user or for all users is determined
under Windows NT, Windows 2000, and Windows XP by the value in the Windows
Installer property ALLUSERS. You can set this property at the command line,
through a custom action, or in the Customer Information dialog.
Since user profiles do not exist under Windows 95, Windows 98, and Windows Me,
system rules govern how the product is installed. The following information applies
only to Windows NT, Windows 2000, Windows XP and later.

148 InstallShield Express Edition User Guide


Chapter 10: Configuring the Target System
Per-User vs. Per-Machine Installations

User-Interface Elements
When a product is installed, its shortcuts are created in that user’s profile or in the All
Users profile, depending on the value of ALLUSERS and the current user’s
privileges.

Registry Entries
Because a user may not have rights to modify registry entries under
HKEY_LOCAL_MACHINE, in some cases you may want to write the entries under
HKEY_CURRENT_USER for per-user installations. If you create registry entries in
the Registry explorer under HKEY_USER_SELECTABLE, they are written under the
appropriate hive at run time depending on the value of ALLUSERS.

InstallShield Express Edition User Guide 149


Chapter 10: Configuring the Target System
Per-User vs. Per-Machine Installations

150 InstallShield Express Edition User Guide


11
CUSTOMIZING INSTALLATION BEHAVIOR

An important aspect of creating an installation is customizing it for your end users’


needs. The help topics in “Customizing Installation Behavior” discuss various features
of InstallShield that help you extend the functionality of your installation. For
example, you may find it useful to create custom actions to add support for something
not directly supported by Windows Installer. Refer to this section of the help for more
information on how you can customize the installation behavior in your project.

Using Custom Actions


Windows Installer provides many standard actions that execute an installation.
However, there may be times where your installation needs expanded functionality. In
these cases, custom actions allow you to extend the capabilities of standard actions.
This can be done through including dynamic-link libraries, executable files, or script
in your installation.

DLL Custom Actions


If you need to perform an action in your installation that is not natively supported by
InstallShield or the Windows Installer service, you can create a custom action that
calls a function from a .dll file. This .dll file can perform any function you require,
such as verifying a serial number.
The first step in creating a custom action that calls a DLL function is to write the DLL.
There are two function prototypes that you can use to write your custom action:
• Classic DLL custom action function prototype—To have your function follow the
same format that was used in earlier versions of InstallShield.

InstallShield Express Edition User Guide 151


Chapter 11: Customizing Installation Behavior
Using Custom Actions

• New DLL custom action function prototype—To have your DLL function use the
standard Windows Installer custom action signature.
Once your DLL is ready, you must design a custom action to call the entry-point
function. To learn how to create a custom action, see Adding a .dll Custom Action to
Your Project.

Classic DLL Custom Action Function Prototype


InstallShield requires a precise prototype for an entry-point function in a DLL called
as the result of a custom action.
Macrovision Corporation does not provide technical support for Windows
programming or DLL debugging. You are responsible for correctly writing any DLL
functions. Prototype your custom DLL functions as shown below. Any variation in
return type or type and number of parameters can cause the custom action to fail.
LONG WINAPI Foo(HWND, LPTSTR , LPTSTR, LPTSTR, LPTSTR);

InstallShield uses the function prototype to pass the following information to your
DLL:
1. Parameter 1 passes the installation’s window handle. This parameter always
returns NULL.
2. Parameter 2 passes the source directory [SRCDIR].
3. Parameter 3 passes the support directory [SUPPORTDIR].
4. Parameter 4 passes the main target directory [INSTALLDIR].
5. Parameter 5 passes the database directory [DATABASEDIR].
If you are prototyping a custom action to handle the serial number entered in the
Customer Information run-time dialog, then Parameter 4 will be the serial number.
The body of your DLL function can do just about anything you want. Obviously, you
may have good use for the values passed to the function by InstallShield.
Your DLL function must return a value of type LONG as a state flag signaling the
completion of the routine. If your function returns zero, the installation exits. If it
returns any other value, the installation continues.

Sample DLL Function


This section contains sample source code. This sample contains a function, Foo(), that
displays a message box showing the values that were passed to the function.
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif

152 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Custom Actions

// Foo() function definition.


LONG WINAPI Foo(HWND hwnd, LPSTR szSrcDir, LPSTR szSupport, LPSTR
szInst, LPSTR szDbase)
{ CHAR szTmp[1024];
int ret;

// Construct a string to display the values passed into Foo().


wsprintf(szTmp, "Extension called. hwnd=%x szSrcDir=%s szSupport=%s
szInst=%s. Do you want" \
"to exit now?", hwnd, szSrcDir, szSupport, szInst);

// Display the string in a message box.


ret=MessageBox(hwnd, szTmp, "Test Extension", MB_YESNO);
if (ret==IDYES)
// Returning 0 causes the installation to end.
return(0);
else
// Returning non-zero causes the installation to continue.
return(1);
}

#ifdef __cplusplus
}
#endif

When a non-zero value is returned by your function, the installation continues. If zero
is returned, the installation exits.
To be able to call the above DLL function, you must also include a definition (.def)
file when you build the DLL to export the function properly. Include the following
definition file with your project. The name after LIBRARY should be the name you
have given your DLL.
; mydll.def : Declares the module parameters for the DLL.

LIBRARY MYDLL
DESCRIPTION 'sample Windows Dynamic Link Library'

EXPORTS
Foo @1

New DLL Custom Action Function Prototype


The new function signature enables you to get a handle to the .msi database that is
currently running. Once you have a handle to the database, you can call any number of
Windows Installer APIs. The example below shows how to retrieve the value of the
ProductName property.

InstallShield Express Edition User Guide 153


Chapter 11: Customizing Installation Behavior
Using Custom Actions

UINT __stdcall Action(MSIHANDLE hInstall)


{
TCHAR buffer[32] = {0};
DWORD dWord = 32;
MsiGetProperty(hInstall, TEXT("ProductName"), buffer, &dWord);
MessageBox(0,buffer,TEXT("Showing Product Name"), MB_OK);
return 1;
}

When a non-zero value is returned by your function, the installation continues. If zero
is returned, the installation exits.

Requirements
• Header: Declared in Msiquery.h
• Library: Use Msi.lib
Both Msiquery.h and Msi.lib can be found in the Windows Installer SDK, which
can be downloaded from Microsoft’s Web site. In addition to the two files listed
above, the Windows Installer SDK contains Microsoft’s definitive documentation on
the Windows Installer APIs.

Adding a .dll Custom Action to Your Project


The items in the Custom Actions view are organized by chronological order,
according to when they are launched during installation or uninstallation. When you
add a custom action to your project, you specify when the custom action should be
launched by adding the action to the appropriate installation or uninstallation item.

TASK To add a .dll custom action to your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the item that should contain the custom
action that you want to create.
3. Right-click the item and click New DLL. InstallShield adds a new custom action
with the name NewCustomActionn (where n is a successive number).
4. Type a name for the custom action.
5. Configure the settings for the custom action.

Setting a .dll Custom Action’s Properties


When you add a .dll file custom action to your project, you need to configure its
settings.

154 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Custom Actions

TASK To configure the settings for a .dll custom action in your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the custom action that you want to
configure.
3. Configure the settings in the grid on the right.

Executable File Custom Actions


You may need to launch a third-party installation because you cannot repackage
another vendor’s installation. Or, maybe you want to play an .avi while the installation
runs. If that is the case, you can create a custom action that launches an executable
file.
One of the supported custom action types is launching an executable in the
installation. See Adding an .exe Custom Action to Your Project to learn how to create
a custom action.

Adding an .exe Custom Action to Your Project


The items in the Custom Actions view are organized by chronological order,
according to when they are launched during installation or uninstallation. When you
add a custom action to your project, you specify when the custom action should be
launched by adding the action to the appropriate installation or uninstallation item.

TASK To add an .exe custom action to your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the item that should contain the custom
action that you want to create.
3. Right-click the item and click New EXE. InstallShield adds a new custom action
with the name NewCustomActionn (where n is a successive number).
4. Type a name for the custom action.
5. Configure the settings for the custom action.

InstallShield Express Edition User Guide 155


Chapter 11: Customizing Installation Behavior
Using Custom Actions

Setting an .exe Custom Action’s Properties


When you add an .exe file custom action to your project, you need to configure its
settings.

TASK To configure the settings for an .exe custom action in your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the custom action that you want to
configure.
3. Configure the settings in the grid on the right.

VBScript Custom Actions


Depending on your installation’s requirements, you may need to create a custom
action that calls an existing VBScript file (.vbs). See Addinging a VBScript Custom
Action to Your Project to learn how to create a custom action.

NOTE VBScript custom actions require that the scripting engine be installed on the target machine.
The scripting engine is also installed with Internet Explorer 4.0 SP1 or later. If you are unsure if
the engine is present, you can add the VBScriptRuntime merge module. If you are targeting a
Windows 95A platform, your users must upgrade to Internet Explorer 4.0 SP1 for your VBScript
custom actions to work.

VBScript Custom Action Example


The following is an example of a VBScript custom action that determines the value of
INSTALLDIR and changes it depending on the presence of a file.
' Get the value of INSTALLDIR
Dim sInstalldir
sInstalldir = Session.Property("INSTALLDIR")

' Show it.


MsgBox sInstalldir

' Check to see if a file exists


Dim pFs
Set pFs = CreateObject("Scripting.FileSystemObject")
Dim sSomeFile
sSomeFile = sInstalldir & "31337.txt"
If pFs.FileExists(sSomeFile) Then

156 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Custom Actions

' If it exists, change INSTALLDIR


Session.Property("INSTALLDIR") = sInstalldir & "New"
End If

See Also

Addinging a VBScript Custom Action to Your Project


The items in the Custom Actions view are organized by chronological order,
according to when they are launched during installation or uninstallation. When you
add a custom action to your project, you specify when the custom action should be
launched by adding the action to the appropriate installation or uninstallation item.

TASK To add a VBScript custom action to your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the item that should contain the custom
action that you want to create.
3. Right-click the item and click New VBScript. InstallShield adds a new custom
action with the name NewCustomActionn (where n is a successive number).
4. Type a name for the custom action.
5. Configure the settings for the custom action.

Setting a VBScript Custom Action’s Properties


When you add a VBScript custom action to your project, you need to configure its
settings.

TASK To configure the settings for a VBScript custom action in your project:

1. Open the Custom Actions view.


2. In the Custom Actions during Installation explorer or the Custom Actions
during Uninstallation explorer, click the custom action that you want to
configure.
3. Configure the settings in the grid on the right.

Changing When Custom Actions Are Launched


The items in the Custom Actions view are organized by chronological order,
according to when they are launched during installation or uninstallation. When you

InstallShield Express Edition User Guide 157


Chapter 11: Customizing Installation Behavior
Using Custom Actions

add a custom action to your project, you specify when the custom action should be
launched by adding the action to the appropriate installation or uninstallation item.

TASK To change when a custom action is launched, do one of the following:

• Drag the custom action from its current location to the new location.
• Right-click the custom action and click Move Up or Move Down.
• Click the custom action and then press CTRL+SHIFT+UP ARROW or
CTRL+SHIFT+DOWN ARROW.

Using a Custom Action for Serial Number Validation


Serial number validation requires the use of a custom .dll file. Example code for this
type of .dll file can be found in the following location:
InstallShield Program Files Folder\Samples\ValidateSerialNumber

In this example, the serial number must take the following format:
Field1-1505-XXXXXXXXXX

The first section must appear as it does above, although it is not case-sensitive. The
second section, 1505, must be a number evenly divisible by 5 (for example, 1111
would not work). The last section can be any 10 alphanumeric characters. Keep in
mind that this format is merely an example. Your serial number function can take any
format that you would like it to have.

Filter the Input Characters


To filter the input from illegal characters, enter ??????-####-?????????? in the
Serial Number Template field. The question marks (?) signify alphanumeric
characters and the number signs (#) signify numbers. By setting the template in this
manner, your serial number field is separated into three parts, and each section is
filtered for different types of input.

Further Considerations
The Validate Function, Success Return Value, and Retry Limit properties allow you to
further customize how your serial number validation .dll file works. For the Validate
Function property, enter the name of the function within your .dll file that validates
the serial number provided by the end user.
Your .dll file should return a specific value every time it is run. The example .dll
included with InstallShield returns 1 on success and –1 on failure. Therefore, type 1 in
the Success Return Value field. When you write your own .dll file, the success return
value can be whatever you choose, as long as it is non-zero.

158 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Custom Actions

The Retry Limit property lets you set how many failed attempts are allowed. For
example, if you only want users to be able to try entering a serial number three times,
type 3 in this field. After the third failed attempt, the installation exits.
The example .dll file contains a user interface element that breaks down the entered
serial number and displays it to the user. Additionally, it displays the section, if any, of
the serial number that is incorrect. This display is useful when testing and
troubleshooting your serial number verification .dll file, but it should not be left in the
final version of your installation.

Custom Action Gallery


The Custom Action gallery contains preconfigured custom actions that achieve
common functionality. The custom actions contained in this gallery do not require any
input from you. They are designed to be added to your installation project and run
during installation. To insert an action from your gallery into your installation, right-
click one of the items in the Custom Actions view, point to Add from Gallery, and
then click the custom action that you want to add to your project.
Currently, the only action listed in this gallery is Schedule Reboot at End action. If
you add this action to your project, it is automatically added to the After Setup
Complete Success dialog part of the installation. This action forces the target machine
to reboot after the installation completes, allowing .dll files and other files to register
with the system at startup. Changing any of this custom action’s settings or scheduling
it for a different part of the installation is not recommended. For example, if you
reschedule it, your installation may cause the target machine to restart before the file
transfer has completed.

Checking if a Product Is Installed


The following code will check if a product with a ProductCode of {8FC71000-88A0-
4B41-82B8-8905D4AA904C} is installed on the machine. This code can be used as a
New Style DLL Custom Action.
UINT __stdcall CheckProduct(MSIHANDLE hInstall)
{
int RetVal = 0;
RetVal = MsiQueryProductState("{8FC71000-88A0-4B41-82B8-
8905D4AA904C}");
if (RetVal==5))
{
MessageBox(GetForegroundWindow(),TEXT("Installed"),TEXT("My
Product"), MB_OK);
return 1;
}
else

InstallShield Express Edition User Guide 159


Chapter 11: Customizing Installation Behavior
Using Setup Files

{
MessageBox(GetForegroundWindow(),TEXT("Not
Installed"),TEXT("My Product"), MB_OK);
return 0;
}
}

The following table lists the return values of MsiQueryProductState:

Table 11-1: Return Values of MsiQueryProductState

Return Value Description


–1 The product is neither advertised nor installed.
1 The product is advertised but not installed.
2 The product is installed for a different user.
5 The product is installed for the current user.

Using Setup Files


Setup files (also known as support files) are files that are available on the target
system only during your application’s installation process. Support files are copied to
a temporary directory on the target system when installation begins, and they are
deleted when the installation is complete. The support directory (SUPPORTDIR) is a
dynamic file location and might be different on every target system and even on the
same system for different installation instances.
In the Setup Files view, you can add and remove files that you want to be available on
the target system only during installation.
To access a particular setup file during installation, you can query for the value of the
support directory (SUPPORTDIR) and then append the file name to the
SUPPORTDIR value to obtain the complete path of the file.

Adding Setup Files

TASK To add setup files to your installation project:

1. Open the Setup Files view.


2. In the Support Files explorer, click the item that should contain the support file
that you are adding. For example, you can add the setup file to the English (United
States) item or an item for a different language if your project is in a language
other than English.

160 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Setup Files

3. Right-click anywhere in the Files pane and then click Insert Files. The Open
dialog box opens.
4. Browse to the file that you want to include. To select multiple files, hold down the
CTRL key while clicking files.
5. Click OK.

InstallShield adds the file to the Files pane.

Adding a License File


You can add a text file containing a license agreement in the Support Files view (for
example, License.txt).

TASK To add a license file to your installation project:

1. Open the Setup Files view.


2. In the Support Files explorer, click the item that should contain the license file.
For example, you can add the license file to the English (United States) item or an
item for a different language if your project is in a language other than English.
3. Right-click anywhere in the Files pane and then click Insert Files. The Open
dialog box opens.
4. Browse to the license file that you want to include. To select multiple files, hold
down the CTRL key while clicking files.
5. Click OK.
InstallShield adds the license file to the Files pane.

Accessing a Setup File During Installation


To access a particular setup file during installation, you can query for the value of the
support directory (SUPPORTDIR) and then append the file name to the
SUPPORTDIR value to get the complete path of the file. The following VBScript,
when run as a custom action, provides the location for SUPPORTDIR:
MsgBox (Session.Property("SUPPORTDIR"))

Sorting Support Files


You can sort the files and folders in the Files pane of the Setup Files view.

InstallShield Express Edition User Guide 161


Chapter 11: Customizing Installation Behavior
Using Setup Files

TASK To sort files and folders in the Setup Files view:

1. In the Support Files explorer, click the item that contains the support files and
folders that you would like to sort.
2. In the Files pane, click the heading of a column to sort by that column.

Disk1 Files
The Disk1 feature in the Setup Files view enables you to add files and folders on
Disk1 of the installation media; these files and folders are not automatically installed
to the target system when your installation is run. You can link to the installation
media from your application or from the installation program.
For example, you might include a large redistributable file with your application that
you want end users to be able to access, but do not want to include in the application
installation. This file should be placed in the Disk1 folder.
Disk1 files are taken into account when InstallShield calculates the size of the media;
therefore, InstallShield ensures that the addition of a Disk1 file will not cause the build
to exceed the disk size specification for that release. This feature is useful if you want
to store a redistributable on your disk image so that your installation can launch it
from the source media at installation time.

Adding Disk1 Files

TASK To add Disk1 files to your installation project:

1. Open the Setup Files view.


2. In the Support Files explorer, click Disk1.
3. Right-click anywhere in the Files pane and then click Insert Files. The Open
dialog opens.
4. Browse to the file that you want to add to Disk1. To select multiple files, hold
down the CTRL key while clicking files.
5. Click OK.
InstallShield adds the file to the Files pane.

162 InstallShield Express Edition User Guide


Chapter 11: Customizing Installation Behavior
Using Setup Files

Adding Disk1 Folders


You can add an entire folder, plus all of its contents, to your Disk1 folder. Then when
you build your project, InstallShield adds the folder and its files to the root of your
installation media.

TASK To add Disk1 folders to your installation project:

1. Open the Setup Files view.


2. In the Support Files explorer, click Disk1.
3. Right-click anywhere in the Files pane and then click Insert Folder. The Browse
for Folder dialog opens.
4. Browse to the folder that you want to add to Disk1.
5. Click OK.
InstallShield adds the folder to the Files pane.

Removing Disk1 Files and Folders

TASK To remove a file from Disk1:

1. Open the Setup Files view.


2. In the Support Files explorer, click Disk1.
3. In the Files pane, right-click the file or folder that you want to remove and then
click Delete.

Removing Setup Files

TASK To remove setup files from your project:

1. Open the Setup Files view.


2. In the Support Files explorer, click the language-specific item that contains the
support file that you want to remove.
3. In the Files pane, right-click the file and click Delete.

InstallShield Express Edition User Guide 163


Chapter 11: Customizing Installation Behavior
Using Setup Files

164 InstallShield Express Edition User Guide


12
DEFINING THE END-USER INTERFACE

This section of the help library covers several features of InstallShield that enable you
to define different aspects of the end-user interface. Everything from dialogs and
billboards to the text displayed during the installation is covered.

Working with Dialogs


Your installation’s user interface is important in many ways, primarily because end-
user input and settings are usually handled through the user interface. If your user
interface is difficult to navigate and understand, users may experience problems
installing your product. To ease the process of creating your installation and to
improve the end-user experience, InstallShield provides several predefined dialogs.
Although you are limited to the provided dialogs, you can customize many of them to
produce the look and functionality that you require. For example, you can add a
custom image to the top of every dialog, thereby branding it with your company logo.

Adding a Dialog to an Installation

TASK To add a dialog to your installation:

1. Open the Dialogs view.


2. In the Dialogs explorer, select the check box for the dialog that you want to add.

InstallShield Express Edition User Guide 165


Chapter 12: Defining the End-User Interface
Working with Dialogs

Custom Setup Dialog Options


The Custom Setup dialog has a sophisticated user interface that is tightly integrated
with information about the target system, the features in your installation, and
Windows Installer installation options. It provides the end user with the most control
over the installation.
Many of the options and information it offers are determined by the feature properties
that you set in your setup design, as described below.

Table 12-1: Custom Setup Dialog Options

Option Description
Advertisement Feature advertisement allows files to be installed on
demand after the installation has initially run. In the
Custom Setup dialog, when you click a feature, you
can specify that you want it installed later by selecting
the Will be installed when required option.
However, that default option is present only if the
setup author selects Yes for the feature’s Advertised
property.
Hide a Feature from the End When you set a feature’s Visible property to No, the
User end user cannot see the feature or its subfeatures in
the Custom Setup dialog and therefore cannot change
any of its installation options.
Display All Subfeatures The feature’s Visible property also governs whether its
subfeatures are expanded when the dialog first opens.
Display a Description for a The description that is shown at the bottom of the
Feature Custom Setup dialog when you select a feature is
taken from its Description property.
Change the Feature Order You can change the order in which the features appear
to the end user in the Custom Setup dialog. The order
in which features are displayed is dictated by the
order in the Features view. For more information, see
Changing the Feature Order in the Custom Setup
Dialog.
Require a Feature Be Installed If you set a feature’s Required property to Yes, the end
user will not have the Will not be available option,
meaning that the feature must be installed.

If you set a feature’s Required property to Yes, the end user will not have the Will not
be available option, meaning that the feature must be installed.

166 InstallShield Express Edition User Guide


Chapter 12: Defining the End-User Interface
Working with Dialogs

Displaying a License Agreement During the Run


Time
A license agreement dialog is included as part of the default user interface of
installations. To display your license agreement text, associate a rich text file (.rtf)
with this dialog.

TASK To add your text to the license agreement dialog:

1. Open the Dialogs view.


2. In the Dialogs explorer, click License Agreement.
3. Click the License File property, and then click the ellipsis (...) button to navigate
to the .rtf file that you want to use.

Bitmap Images in Dialogs


Each end-user dialog contains one of several images, as described below.

Splash Bitmap
The splash bitmap image is displayed in the Splash Bitmap dialog only. This image
must be a bitmap (.bmp) file, and it must be 465 pixels wide by 281 pixels high.
The following sample dialog shows the default splash bitmap, which is enclosed
within the gray box. You can replace the default image with your own bitmap file.

Figure 12-1: Sample splash screen

InstallShield Express Edition User Guide 167


Chapter 12: Defining the End-User Interface
Working with Dialogs

Bitmap Image
The bitmap image is displayed in the background of the Install Welcome dialog and
the Setup Complete Success dialog. This image must be a .bmp file, and it must be
499 pixels wide by 312 pixels high.
You can change the bitmap image for each individual dialog, or you can specify a
global dialog image that should be used in all of the dialogs that contain the bitmap
image.
Following is a sample dialog that has the default bitmap image The image includes the
navy column on the left, as well as the white background behind the text.

Figure 12-2: Sample dialog with the default bitmap image

Banner Bitmap
The banner bitmap image is displayed directly below the title bar of several dialogs:
License Agreement, Readme, Customer Information, Destination Folder, Database
Folder, Setup Type, Custom Setup, Ready to Install, and Setup Progress. This image
must be a .bmp file, and it must be 499 pixels wide by 58 pixels high.
You can change the banner bitmap for each individual dialog, or you can specify a
global dialog banner that should be used in all of the dialogs that contain the banner
bitmap.
Following is a sample dialog with a banner bitmap. The image includes the navy
image on the right, as well as the white background behind the text.

168 InstallShield Express Edition User Guide


Chapter 12: Defining the End-User Interface
Working with Dialogs

Figure 12-3: Sample dialog with the default banner image

Changing the Splash Bitmap in the Splash Bitmap Dialog

TASK To change the splash bitmap image in the Splash Bitmap dialog:

1. Open the Dialogs view.


2. In the Dialogs explorer, click Splash Bitmap.
3. In the Splash Bitmap property, type the path to the .bmp file that you want to use
as the dialog’s image. Alternately, click the ellipsis button (...) to browse to the
file. The bitmap must be 465 pixels wide by 281 pixels high.

Changing the Bitmap Image for an End-User Dialog

TASK To change the bitmap image for an end-user dialog:

1. Open the Dialogs view.


2. In the Dialogs explorer, click the dialog whose bitmap image you want to change.
3. In the Bitmap Image property, type the path to the .bmp file that you want to use
as the dialog’s image. Alternately, click the ellipsis button (...) to browse to the
file. The bitmap must be 499 pixels wide by 312 pixels high.

InstallShield Express Edition User Guide 169


Chapter 12: Defining the End-User Interface
Working with Dialogs

TIP You can also set the bitmap image for all end-user dialogs by setting the Global Dialog Image
property for all dialogs. If—after changing the Bitmap Image property for a particular dialog—
you change the corresponding Global Dialog Image property, the Global Dialog Image property
value replaces the value that you entered for the individual dialog’s Bitmap Image property.

Changing the Banner Bitmap for an End-User Dialog

TASK To change the banner bitmap for an end-user dialog:

1. Open the Dialogs view.


2. In the Dialogs explorer, click the dialog whose banner bitmap you want to change.
3. In the Banner Bitmap property, type the path to the .bmp file that you want to use
as the dialog’s image. Alternately, click the ellipsis button (...) to browse to the
file. The bitmap must be 499 pixels wide by 58 pixels high.

TIP You can also set the banner bitmap for all end-user dialogs by setting the Global Dialog Image
property for all dialogs. If—after changing the Banner Bitmap property for a particular dialog—
you change the corresponding Global Dialog Banner property, the Global Dialog Banner property
value replaces the value that you entered for the individual dialog’s Banner Bitmap property.

Changing the Global Dialog Image for End-User Dialogs

TASK To change the bitmap image for all end-user dialogs that contain it:

1. Open the Dialogs view.


2. Click the Dialogs explorer.
3. In the Global Dialog Image property, type the path to the .bmp file that you want
to use as the bitmap image in all dialogs that contain it. Alternately, click the
ellipsis button (...) to browse to the file. The bitmap must be 499 pixels wide by
312 pixels high.

TIP You can also set the bitmap image for individual dialogs.

170 InstallShield Express Edition User Guide


Chapter 12: Defining the End-User Interface
Editing Run-Time Text and Message Strings

Changing the Global Dialog Banner for End-User Dialogs

TASK To change the banner bitmap for all end-user dialogs that contain it:

1. Open the Dialogs view.


2. Click the Dialogs explorer.
3. In the Global Dialog Banner property, type the path to the .bmp file that you
want to use as the banner bitmap in all dialogs that contain it. Alternately, click
the ellipsis button (...) to browse to the file. The bitmap must be 499 pixels wide
by 58 pixels high.

TIP You can also set the banner bitmap for individual dialogs.

Removing a Dialog from an Installation

TASK To remove a dialog from your installation:

1. Open the Dialogs view.


2. In the Dialogs explorer, clear the check box for the dialog that you want to delete.

Editing Run-Time Text and Message Strings


InstallShield provides you with complete control over all of the localizable strings
displayed in your installation. You can customize everything from the text on the Next
buttons to the descriptions of features.
The Text and Messages view in InstallShield lists all of the dialogs and messages that
can be displayed during the installation process. If you click one of the dialogs in this
view, you can see a sample screen shot of the dialog, as well as a string table
containing all of the text strings that belong to the dialog. Likewise, if you click a
message in this view, you can see a sample message box and the string table with all
of its associated strings. All run-time strings are accessible in this view.
Localization for international audiences is an important aspect of creating
installations, and InstallShield enables you to export all of the run-time strings in your
installation project to a text (.txt) file to ease translation. When you export the strings,
they can be sent for translation in one common file type and can then be imported
back into your installation project for a localized user interface.

InstallShield Express Edition User Guide 171


Chapter 12: Defining the End-User Interface
Editing Run-Time Text and Message Strings

Editing Run-Time Strings

TASK To edit a run-time string:

1. Open the Text and Messages view.


2. In the Text and Messages explorer, click the dialog or message that you want to
edit.
3. Double-click the value of the string that you want to edit and type the new string.

TIP You can use Windows Installer properties in your dialog text. To do this, surround the property
with square brackets—[INSTALLDIR], for example.

Adding Comments to Text and Message Strings


You can add comments to a text or message string in your project. The end user does
not see these comments. They exist only to assist in identifying strings.

TASK To add comments to a string:

1. Open the Text and Messages view.


2. In the Text and Messages explorer, click the dialog or message to which you
want to add a comment, and then find the string that should have the comment.
3. Double-click the Comment value for that string and then type your comment.
You may need to scroll to the right to see this value.

Changing the Font for Text and Message Strings


The default font and font size for all of the strings in your installation’s dialogs and
message boxes are set in the General Information view. InstallShield enables you to
override the default font or font size for one or more specific strings.

TASK To change the font and font size for a specific string:

1. Open the Text and Messages view.


2. In the Text and Messages explorer, click the dialog or message that contains the
string whose font you want to modify, and then find the appropriate string.
3. In the Font column, select Browse for font. The Font dialog box opens.

172 InstallShield Express Edition User Guide


Chapter 12: Defining the End-User Interface
Displaying Billboards

4. Select the font and font characteristics (such as size, style, and color) for the
selected string.

Exporting Strings
To ease the task of translating all of the run-time strings in your installation project,
InstallShield enables you to export the strings to a text (.txt) file. You can provide that
.txt file to a translator who can update the file with translated text. Then you can
import the .txt file back into your installation project for a localized user interface.

TASK To export all of the run-time strings in your project:

1. On the Project menu, click Export String Table. The Export String Table
Wizard opens.
2. Complete the panels in the wizard to export the strings to a .txt file.

Importing String Tables


Once the .txt file containing your installation’s strings has been translated, you can
import the .txt file into your project for a localized user interface.

TASK To import the translated run-time strings in your project:

1. On the Project menu, click Import String Table. The Import String Table
Wizard opens.
2. Complete the panels in the wizard to import the strings.

Displaying Billboards
You can use billboards to pass information to your customers during the installation
process. Billboards can be used to communicate, advertise, educate, and entertain the
end user. Billboards offer information—new features of the product being installed or
other products from your company—to your end users. Each billboard is a bitmap
(.bmp) file that you can customize for complete control over the look and feel of the
file transfer.

InstallShield Express Edition User Guide 173


Chapter 12: Defining the End-User Interface
Displaying Billboards

Adding a Billboard

TASK To add a billboard to your installation:

1. Open the Billboards view.


2. Right-click the Billboards explorer and click New Billboard. InstallShield adds a
new billboard item with the name NewBillboard1.
3. Type a name for the billboard item. This name is used to help you identify the
item while you are creating your installation; the name is not displayed during the
installation.
4. Configure the properties for the billboard.

Setting the Billboard Order


Your billboards are displayed in the same order in which you list them in the
Billboards explorer of the Billboards view.

TASK To change the order in which the billboards are displayed:

1. Open the Billboards view.


2. In the Billboards explorer, right-click one of the billboard items that you want to
move, and then click either Move Up or Move Down.
Repeat the last step until all of the billboards are correctly sorted.

Removing a Billboard

TASK To remove a billboard from your installation:

1. Open the Billboards view.


2. In the Billboards explorer, right-click billboard that you would like to remove,
and then click Delete.

174 InstallShield Express Edition User Guide


13
CONFIGURING SERVERS

When you are creating an installation, you may find it necessary to provide server-side
support for some technology that will be installed on a target system. InstallShield
makes it easy to configure server-side installations. You can manage new Internet
Information Services (IIS) Web sites and manage COM+ applications and
components with installations that you create in InstallShield.

Managing COM+ Applications and Components


With the Component Services view in InstallShield, you can manage COM+ server
applications and components for your installation package.
Note the following information regarding component services in InstallShield:
• The Component Services functionality is available only if you are using
InstallShield on a machine running Microsoft Windows 2000 or Microsoft
Windows XP.
• Only non-system COM+ applications can be added to your project. Therefore,
InstallShield displays only non-system COM+ applications under the COM+
Applications item in the Component Services view.
• COM+ server applications can be installed on only Windows 2000 operating
systems and later.
The look and feel of the Component Services view is similar to that of the Component
Services administrative tool in the Control Panel for systems running Windows 2000
and Windows XP.

InstallShield Express Edition User Guide 175


Chapter 13: Configuring Servers
Managing Internet Information Services

EDITION InstallShield Premier Edition and InstallShield Professional Edition provide additional functionality
in the Component Services view; these editions enable you to manage both COM+ server
applications and application proxies. A COM+ application proxy consists of a subset of the
attributes of the server application, and it enables remote access from a client machine to the
machine where the application resides.

Adding COM+ Applications

TASK To add a COM+ application to your installation:

1. Open the Component Services view.


2. Under the COM+ Applications item, select the check box for the application that
you would like to add to your project. The tabbed property sheets open.
3. On the Installation property sheet, set the parameters for server installations. This
property sheet is also where you select the features to which the COM+
application belongs.
4. Use the other tabbed property sheets to set standard COM+ application properties.
These property sheets correspond to the tabs on the Properties dialog box
associated with each COM+ application when administered from the Component
Services administrative tool in the Control Panel.

Removing COM+ Applications

TASK To remove a COM+ application from your installation:

1. Open the Component Services view.


2. Under the COM+ Applications item, clear the check box for the application that
you would like to remove from your project.

Managing Internet Information Services


Internet Information Services (IIS) is a Web server developed by Microsoft. It
provides a secure platform for building and deploying Web-based applications,
managing Web sites, and publishing information to the Internet or an intranet. IIS is
included with Windows 2000 Server and later and Windows XP operating systems.
IIS support in InstallShield works only when IIS is installed on the target machine and
if the end user has administrative privileges.

176 InstallShield Express Edition User Guide


Chapter 13: Configuring Servers
Managing Internet Information Services

During installation of a package that includes IIS settings, InstallShield checks for the
existence of IIS on the target machine. If IIS is not installed, the installation displays a
dialog informing the end user that they do not have IIS installed and asking whether
they want to install and continue. If the end user does not install IIS, the installation
continues, but the virtual directory is not created.

NOTE • IIS 6.0 is available only on Windows Server 2003 platforms. On systems that have Windows
Server 2003, if IIS 6 is not installed, then other IIS directories and sites will still be created.
IIS 6.0-specific items will be skipped.
• IIS 5.1 for Windows XP Professional can service only one Web site at a time. This is a
limitation of IIS 5.1.
• InstallShield supports version 4 and later of IIS. It does not support the version of IIS that is
installed with the NT Option Pack on NT Workstation—only the version that is installed to
the NT server.

Creating a Web Site and Adding a Virtual Directory

TASK To create a Web site and a virtual directory on the target system at run time:

1. Open the Internet Information Services view.


2. Right-click the Web Sites explorer and click Add Web Site. InstallShield adds a
new Web site.
3. Select the Web site to define its properties.
4. In the View Filter list, select the feature that you want to associate with the virtual
directory that you are creating.

NOTE The View Filter list lets you associate virtual directories with features in your installation. The
View Filter list is not used to associate a Web site with a feature because Web sites are not tied
to features.
5. Right-click the new Web site and click New Virtual Directory. InstallShield
adds a new virtual directory.
6. Select the virtual directory to define its properties.

EDITION You can create more than one virtual directory per Web site for your installation. However, you
can create only one Web site per installation in InstallShield Express Edition. InstallShield
Premier Edition and InstallShield Professional Edition support the creation of more than one Web
site per installation. For more information, visit http://www.macrovision.com.

InstallShield Express Edition User Guide 177


Chapter 13: Configuring Servers
Managing Internet Information Services

Removing Virtual Directories

TASK To remove a virtual directory from your installation:

1. Open the Internet Information Services view.


2. In the Web Sites explorer, right-click the virtual directory and click Delete.

Configuring Additional IIS Virtual Directory Settings


When you select a virtual directory in the Web Sites explorer in the Internet
Information Services view, the tabs that are displayed expose the most common
settings for IIS virtual directories. You can configure other IIS virtual directory
settings that are not exposed on those tabs.

TASK To configure a setting that is not exposed in the Internet Information Services view:

1. Create a VBScript deferred custom action.


2. Open the Custom Actions view.
3. Add the custom action to the After Setup Complete Success dialog item in the
Custom Actions during Installation explorer.
4. Use the ADSI object model to configure the settings.

Refer to the MSDN documentation on how to use the ADSI object model for
configuring IIS virtual directory settings.

Adding Files to an IIS Virtual Directory

TASK To add a file to an IIS virtual directory:

1. Add an IIS Web site to your project if you have not already done so. InstallShield
automatically adds the predefined path [IISROOTFOLDER] to the Files view.
2. Open the Files view.
3. In the Feature list, select the feature with which you want the file associated.
4. In the Destination computer’s folders pane, add the file to the
[IISROOTFOLDER] folder, or a subfolder of the [IISROOTFOLDER] folder.
5. Open the Internet Information Services view.
6. Create a new virtual directory.
7. Click the Virtual Directory tab.

178 InstallShield Express Edition User Guide


Chapter 13: Configuring Servers
Managing Internet Information Services

8. Select the A directory located on this computer option.


9. In the Local Path box, enter the same target directory as the one that contains the
new file that you added in the Files view.
To quickly add the [IISROOTFOLDER] folder to the box without having to
manually type the folder name, select Browse, create, or modify a directory
entry and then select that folder.
At installation, files are copied to the target directory folder. In addition, the virtual
directory is configured for that folder on the target system if IIS is present.

Configuring Custom Error Messages for a Web Site


or Virtual Directory
When an end user tries to connect to a Web site and a hypertext transfer protocol
(HTTP) error occurs, the end user’s browser displays a default message describing the
error. You can have your installation configure IIS so that it uses custom error
messages instead of the default error messages by mapping the HTTP error codes to a
file or a URL.

TASK To configure custom error messages for a Web site or virtual directory:

1. Create a file that contains your custom error message and add it to your
installation.
2. Open the Internet Information Services view.
3. Select the Web site or virtual directory for which you want to customize HTTP
error messages. The settings for the Web site or virtual directory are displayed on
the right.
4. Select the Custom Errors tab.
5. Select the HTTP error code that you want to change and click Edit. The Error
Mapping Properties dialog box opens.
6. To map the error code to a file:
a. In the Message Type list, select File.
b. In the File box, type the path and file name that points to the custom error
message in your installation, or click the browse button to locate the file.
To map the error code to a URL:
a. In the Message Type list, select URL.
b. In the URL box, type the URL that points to your custom error message.

InstallShield Express Edition User Guide 179


Chapter 13: Configuring Servers
Managing Internet Information Services

Deploying Web Services on a Target Machine


Deploying a Web service onto a target system requires copying the Web service–
specific files to a particular location and assigning a virtual directory name for that
folder so that the Web service can be accessed via HTTP.

TASK To deploy Web services on a target machine:

1. Add an IIS Web site to your project if you have not already done so. InstallShield
automatically adds the predefined path [IISROOTFOLDER] to the Files view.
2. Open the Files view.
3. In the Feature list, select the feature with which you want the Web services
associated.
4. In the Destination computer’s folders pane, select the folder (target directory)
for installing files on the target system. Add your files to this folder. You may
want this folder to be a new folder that you create in the folder called
[IISROOTFOLDER].
5. Open the Internet Information Services view.
6. Create a new virtual directory.
7. Click the Target Directory property of the new virtual directory, and then select
the same target directory as the one that contains the new file that you added in the
Files view.
At installation, files are copied to the target directory folder. In addition, the virtual
directory is configured for that folder on the target system if IIS is present.

Stopping IIS Functionality Through a Custom Action


Stopping IIS through a custom action lets your installation overwrite files that are
locked by IIS. If you are using one of the recent versions of IIS, you can run the
following VBScript to unload a Web site, allowing you to install your .dll files. This
means that you do not have to restart IIS, which will drop all of the Web sites that are
running.
For example:
Dim DirObjSet DirObj = GetObject("IIS://LocalHost/W3SVC/1/Root/
")DirObj.AppUnloadset dirObj = nothing"

Adding IISROOTFOLDER Support


IISROOTFOLDER is an InstallShield directory variable that is used to determine the
root directory of the Web server on a target system. If you are using IIS functionality

180 InstallShield Express Edition User Guide


Chapter 13: Configuring Servers
Managing Internet Information Services

in your installation project and you have added a Web site, then IISROOTFOLDER is
automatically added to your project so that you can deploy files to the IIS root folder.

NOTE All of the files that you add to the IISROOTFOLDER directory in the Files view are installed to the
Web server’s root directory on the target machine. If IIS is not on the target machine, the files
are copied to the root folder.

IIS Web Site Port Number


The IIS_PORT_NUMBER property is obsolete. If this property exists from an
earlier project version, the upgrader will handle it automatically. The upgrader will
create a Web site and set the port number field to [IIS_PORT_NUMBER]. When you
create new Web sites, you can use any property or hard-coded number.

IIS_VERSION Property
When you add a virtual directory to your project, an IIS_VERSION entry is added to
the Requirements view to search for the version of IIS installed on the target system.
The property contains the path to the IIS Home Directory, which is set to
c:\inetpub\wwwroot by default.

InstallShield Express Edition User Guide 181


Chapter 13: Configuring Servers
Managing Internet Information Services

182 InstallShield Express Edition User Guide


14
PREPARING INSTALLATIONS FOR UPDATE
NOTIFICATION

The Update Service provides a mechanism that enables you to automatically notify
your Web-connected end users when patches, updates, and product information for
your application are ready for release. The Update Service will reduce the number of
your customers running old releases of your products and prevent them from installing
the wrong updates from your Web site.
The Update Service Starter Edition is included with InstallShield.

Update Service Implementation


There are two cycles of tasks that you perform when using the Update Service to
automatically inform end users about updates: initial deployment and update
deployment. Once you have performed the initial deployment steps for your
application, each time you want to distribute an update of that application to your
customers, you perform the update deployment cycle of steps. To learn about the
update deployment steps, see Notifying End Users about Upgrades Using the Update
Service.

Initial Deployment
1. Use InstallShield to create the installation project for your application. The
Update Service should be enabled in this project. When you enable the Update
Service, InstallShield includes the Update Manager in your installation. This
desktop tool ships with your application and provides a tool for your users to view
available updates.
2. Register your application with the Publisher Web site, a Web-based management
portal.
3. Install your application and test it.

InstallShield Express Edition User Guide 183


Chapter 14: Preparing Installations for Update Notification
Enabling Automatic Update Notification for a Project

To learn more about the capabilities of the Starter Edition, visit the Macrovision Web
site. To access the Update Service documentation, see the Update Service Help
Library.

Enabling Automatic Update Notification for a


Project
Enabling automatic update notification in your project adds about 600 KB of files to
your installation. These files must be distributed with your application in order for the
Update Service to work. If you cannot afford to include these files in your installation
because of bandwidth limitations or other reasons, you can select No to disable
automatic update notification. However, the Update Service cannot be used to deploy
an update unless automatic notification is enabled in the original installation when you
distribute it to your end users. Therefore, if you select No, you will not be able to later
take advantage of the automatic update notification features.

TASK To enable automatic update notification for your project:

1. Open the Update Service view.


2. Set the Enable Update Service property to Yes.
3. To register your product with the Update Service, click the Is Product/Version
Registered property and follow the directions in the embedded help window.

Files that Need to Be Installed for Automatic Update


Notification
To install with your application the ability to implement automatic notification of
updates to your application, enable the Update Service for your project. This is
enabled by default for all new installation projects that you create.
When you enable the Update Service in an Express project, the Update Service merge
module is added to your installation. The Update Service merge module includes
several files that are installed on the target machine during installation of your
application. These files must be distributed with your application in order for the
Update Service to work. Among the items that are installed:
• Update Manager (ISUSPM.exe) is an application that your end users can use to
check for updates and product information. When an update is available for your
application, the update is listed in the Update Manager, along with hyperlinks to
download the update and view release notes.
• Update Agent (Agent.exe) is the component that handles all of the
communication between the Update Manager and the notification server.

184 InstallShield Express Edition User Guide


Chapter 14: Preparing Installations for Update Notification
Adding a Check-for-Updates Check Box to the Setup Complete Dialog

Optionally, you can embed calls directly from your application to the Agent to
create an update experience that is more integrated with your application. To
access the Update Service documentation, see the Update Service Help Library.

Adding a Check-for-Updates Check Box to the


Setup Complete Dialog
You can add a check-for-updates check box to the last dialog of your installation if the
Update Service is enabled in your project. If the end user selects this Yes, check for
program updates (Recommended) after the setup completes check box and then clicks
the Finish button to end the installation, the Update Service is launched.

TASK To add a check-for-updates check box to the Setup Complete dialog:

1. Open the Dialogs view.


2. In the Dialogs explorer, click Setup Complete Success.
3. Set the Use Update Service User Interface property to Yes.

Creating a Shortcut to Check for Updates


You can create a shortcut to launch the Update Service on the target machine.

TASK To create a shortcut to check for updates:

1. In the Shortcuts/Folders view, right-click one of the destination directories and


click New Shortcut to Preexisting file.
2. Specify the following properties for the shortcut:

Table 14-1: Properties for a Shortcut that Checks for Updates

Property Value
Display Name Check for Updates
Target [CommonFilesFolder]InstallShield\UpdateService\agent.exe
Icon File <ISProductFolder>\redist\Language Independent\OS
Independent\UpdateService.ico
Arguments /au[ProductCode] /AppMenu
Key Name Check for Updates

InstallShield Express Edition User Guide 185


Chapter 14: Preparing Installations for Update Notification
Registering Your Application with the Update Service

Registering Your Application with the Update


Service
The Update Services uses the product code and product version to uniquely identify
products. Before you can properly test the Update Service and automatic update
notification, you need to register the product code and product version of your
application with the Update Service. If you run the Update Service before registering,
your end users receive a “product not registered” message.

TASK To register the product code and product version:

1. Open the Update Service view.


2. Set the Enable Update Service property to Yes if you have not already done so.
3. Click the Is Product/Version Registered? property. The help window displays
instructions for setting this property.
4. Follow the instructions in the help window to complete the registration process.

To learn more about the Update Service, see the Update Service Help Library.

Disabling Automatic Update Notification for a


Project
Enabling automatic update notification in your project adds about 600 KB of files to
your installation. These files must be distributed with your application in order for the
Update Service to work. If you cannot afford to include these files in your installation
because of bandwidth limitations or other reasons, you can select No to disable
automatic update notification. However, the Update Service cannot be used to deploy
an update unless automatic notification is enabled in the original installation when you
distribute it to your end users. Therefore, if you select No, you will not be able to later
take advantage of the automatic update notification features.

TASK To disable automatic update notification for your project:

1. Open the Update Service view


2. Set the Enable Update Service property to No.

InstallShield removes the Update Service files from your project.

186 InstallShield Express Edition User Guide


Chapter 14: Preparing Installations for Update Notification
Disabling Automatic Update Notification for a Project

Removing the Shortcut


If you added to your installation a shortcut that calls the Update Service, you need to
manually remove it.

TASK To remove the shortcut:

1. Open the Shortcuts/Folders view.


2. Right-click the shortcut and click Delete.

InstallShield Express Edition User Guide 187


Chapter 14: Preparing Installations for Update Notification
Disabling Automatic Update Notification for a Project

188 InstallShield Express Edition User Guide


15
ADDING MOBILE DEVICE SUPPORT TO
INSTALLATIONS

InstallShield supports the latest mobile devices, enabling you to add any number of
mobile device installations to a desktop installation.

Windows Mobile Device Support


InstallShield lets you create an installation package for a Windows Mobile device
such as the Microsoft Smartphone or a handheld PC. You can use Microsoft
eMbedded Visual Tools 3.0 or Microsoft eMbedded Visual C++ 4 to author your
application. The package installs the necessary Windows Mobile .cab files to the end
user’s desktop computer first, and then either launches the Windows Mobile
Application Manager or uses Microsoft ActiveSync to copy the correct files onto the
Windows Mobile device. It can also optionally register an icon file on the desktop
computer with ActiveSync, so that the icon is displayed within the Windows Mobile
Application Manager window.

Palm OS Device Support


You can use InstallShield to create an installation package for Palm OS devices. The
application files can be deployed via HotSync to the Palm OS device. You can target
either the device’s memory or a storage card.

Existing .cab File Support


If you have .cab files that have already been built for an Express project, you can add
them to your installation. The .cab files can be created by using the Smart Device
Setup Wizard, or they can be some other Windows Mobile–compatible .cab files that
you have on your machine.

InstallShield Express Edition User Guide 189


Chapter 15: Adding Mobile Device Support to Installations
Adding an Installation for a Windows Mobile Device to Your Project

About Mobile Device Support


Microsoft ActiveSync 3.x or later must be installed on the desktop computer in order
to provide a desktop-to-device installation. Active Sync 4.x is required for Windows
Mobile 5.x devices.
To create a dedicated installation for a smart device application, use the Smart Device
project type.

Adding an Installation for a Windows Mobile Device


to Your Project
You can add to your project an installation for Windows Mobile devices such as the
Microsoft Smartphone and handheld PCs.

NOTE Microsoft ActiveSync 3.x or later must be installed on the desktop computer in order to provide
a desktop-to-device installation. Active Sync 4.x is required for Windows Mobile 5.x devices.

TASK To add an installation for a Windows Mobile device:

1. Prepare your application by compiling your code in Microsoft eMbedded Visual


Tools 3.0, Microsoft eMbedded Visual C++ 4, or Microsoft Visual Studio .NET
2003.
2. Create the desktop installation that will be used to install the features of your
application to the end user’s desktop machine. This also sets up your application
to be installed on the Windows Mobile device the next time that it is synched with
the desktop computer.

NOTE You are not required to add anything to the desktop. You can use the desktop installation solely
to deploy the application to Microsoft ActiveSync.
3. Add the Windows Mobile installation to your project:
a. Open the Mobile Devices view.
b. Right-click Mobile Device Installations and click New Windows Mobile.
The Windows Mobile Wizard opens.
c. Follow the wizard panels to customize the installation.

When you add an installation for a Windows Mobile–based device to your project,
InstallShield automatically adds it to all of the features that you selected to associate
with the Windows Mobile application.

190 InstallShield Express Edition User Guide


Chapter 15: Adding Mobile Device Support to Installations
Adding an Installation for a Palm OS Device to Your Project

When you build a release for the installation, InstallShield creates an installation that
installs your application to the end user’s desktop machine and to the Windows
Mobile device. For more information, see Building an Installation for a Mobile
Device.

Launching the Windows Mobile Wizard as Part of an


InstallShield Project Within Microsoft Visual Studio .NET
If your mobile device installation requires a desktop component, you can create the
desktop component by adding an Express project from the Add New Project dialog
box in Visual Studio. Then add an Windows Mobile device installation as described
above. You can associate the project output groups with the Windows Mobile
installation.

Adding an Installation for a Palm OS Device to Your


Project
You can use InstallShield to create an installation package for Palm OS devices.

TASK To add an installation for a Palm OS device:

1. Prepare your application by compiling your code in a development tool that


supports Palm OS.
2. Create the desktop installation that includes the Palm OS files that are to be
installed on Palm OS devices.
3. Add a Palm OS installation to your project:

a. Open the Mobile Devices view.


b. Right-click Mobile Device Installations and click New Palm OS. The Palm
OS Wizard opens.
c. Follow the wizard panels to customize the installation.

When you add an installation for a Palm OS device to your project, InstallShield
automatically adds it to all of the features that you selected to associate with the Palm
OS application.
When you build a release for the installation, InstallShield creates an installation that
installs your application files to the Palm OS device via a storage card, or they can be
downloaded directly to the device over a network or the Internet. For more
information, see Building an Installation for a Mobile Device.

InstallShield Express Edition User Guide 191


Chapter 15: Adding Mobile Device Support to Installations
Adding Existing .cab Files to Your Project

Adding Existing .cab Files to Your Project


If you have .cab files that have already been built for an Express project, you can add
them to your installation to create a Windows Mobile package.
If you would like to add more than one .cab file to a single Windows Mobile
installation, see Special Considerations for Adding Multiple .cab Files.

NOTE Microsoft ActiveSync 3.x or later must be installed on the desktop computer in order to provide
a desktop-to-device installation. Active Sync 4.x is required for Windows Mobile 5.x devices.

TASK To add existing .cab files for a Windows Mobile device to your project:

1. Prepare your .cab files if you have not already done so. The .cab files can be
created by using the Smart Device Setup Wizard, or they can be some other
Windows Mobile–compatible .cab files that you have on your machine.
2. Create the desktop installation that will be used to install the features of your
application to the end user’s desktop machine. This also sets up your application
to be installed on the Windows Mobile device the next time that it is synched with
the desktop computer.

NOTE You are not required to add anything to the desktop. You can use the desktop installation solely
to deploy the application to Microsoft ActiveSync.
3. Add the .cab files to your project:
a. Open the Mobile Devices view.
b. Right-click Mobile Device Installations and click New Windows Mobile.
The Windows Mobile Wizard opens.
c. Follow the wizard panels to customize the installation.

When you add an installation for a Windows Mobile–based device to your project,
InstallShield automatically adds it to all of the features that you selected to associate
with the Windows Mobile application.
When you build a release for the installation, InstallShield creates an installation that
installs your application to the end user’s desktop machine and to the Windows
Mobile device. For more information, see Building an Installation for a Mobile
Device.

192 InstallShield Express Edition User Guide


Chapter 15: Adding Mobile Device Support to Installations
Special Considerations for Adding Multiple .cab Files

Special Considerations for Adding Multiple .cab


Files
A Windows Mobile installation is a set of .cab files. If your Windows Mobile
installation supports more than one platform-processor combination, the set of .cab
files consists of a separate .cab file for each platform-processor combination. If your
installation supports all platform-processor combinations, the set of .cab files consists
of only one .cab file that can be used for any platform-processor combination.

NOTE If a Windows Mobile installation consists of multiple .cab files, you should add all of the
installation’s .cab files to the same node of the Mobile Device Installations explorer in the Mobile
Devices view. You should not separate the .cab files into different nodes.
If you want to add to your project multiple .cab files from different Windows Mobile installations
(i.e., from different sets of .cab files), you should create a separate node in the Mobile Device
Installations explorer for each set of .cab files. You should not mix .cab files from different
installations in the same node.

Getting the Location of the CE AppManager on the


Target System
You can use the CEAPPMGRLOC property to refer the CE AppManager. This
property holds the path of CEAPPMGR.exe.

TASK To use CEAPPMGRLOC to get the AppManager location on the target desktop machine:

In a VBScript custom action, use the following:

Session.Property("CEAPPMGRLOC")

Deploying Files to the Microsoft ActiveSync


Directory
The CESERVICEDIR directory variable points to the location where ActiveSync is
installed on the target system.

InstallShield Express Edition User Guide 193


Chapter 15: Adding Mobile Device Support to Installations
Modifying an Installation for a Mobile Device

TASK To deploy files to the ActiveSync directory:

1. Open the Mobile Devices view.


2. In the Mobile Device Installations explorer, click the Windows Mobile
installation that you would like to modify. The Project Settings pane for that
installation opens.
3. Click Desktop Settings. The Desktop Settings panel of the Windows Mobile
Wizard opens.
4. In the Target desktop folder box, select the [CESERVICEDIR] option.
5. Click OK.
You can also create subdirectories under this directory and then deploy files to the
subdirectories.

Modifying an Installation for a Mobile Device


The Windows Mobile Wizard guides you through the process of creating installation
packages for Windows Mobile devices, and the Palm OS Wizard guides you through
the process of creating installation packages for Palm OS devices. If you want to
modify an mobile device installation in your project, you can run through the entire
wizard again, making changes as needed. You also have the option of accessing only a
selected panel of the wizard, bypassing the other panels of the wizard. Both methods
begin with the Mobile Devices view.

TASK To modify an installation for a mobile device:

1. Open the Mobile Devices view.


2. In the Mobile Device Installations explorer, click the Windows Mobile
installation that you would like to modify. The Project Settings pane for that
installation opens.
3. If you would like to run through the entire wizard, click the wizard hyperlink near
the top of the Project Summary pane.
If you would like to access an individual panel of the wizard, click the appropriate
hyperlink to modify that portion of the installation. The corresponding panel of
the appropriate wizard opens.
4. Make any necessary changes.

194 InstallShield Express Edition User Guide


Chapter 15: Adding Mobile Device Support to Installations
Renaming an Installation for a Mobile Device

Renaming an Installation for a Mobile Device

TASK To rename an installation for a mobile device:

1. Open the Mobile Devices view.


2. Do one of the following:

» Right-click the mobile device installation whose name you would like to
modify and click Rename.
» Click the mobile device installation whose name you would like to modify
and press F2.

See Also
Mobile Devices Installations

Removing an Installation for a Mobile Device from


Your Project

TASK To remove an installation for a mobile device from your project:

1. Open the Mobile Devices view.


2. Right-click the installation of the mobile device that you would like to remove and
click Delete.
InstallShield removes the installation from the Mobile Devices view.

Building an Installation for a Mobile Device


Your mobile device installation is built when you build the desktop installation that
your mobile device installation is part of.
If your project includes a Windows Mobile device installation, the resulting
Setup.exe—and other files if the release was built uncompressed—contains all of the
logic required to configure Microsoft ActiveSync on the desktop machine to install
the application and, if necessary, the .NET Compact Framework on the device.
If your project includes a Palm OS device, the resulting Setup.exe—and other files if
the release was built uncompressed—contains an installation that installs your
application files to the Palm OS device via a storage card, or they can be downloaded
directly to the device over a network or the Internet.

InstallShield Express Edition User Guide 195


Chapter 15: Adding Mobile Device Support to Installations
Building an Installation for a Mobile Device

196 InstallShield Express Edition User Guide


16
PREPARING INSTALLATIONS FOR
MAINTENANCE AND UNINSTALLATION

InstallShield lets your users rerun your installation to change program features or
reinstall or remove your application. When users select your application in Add or
Remove Programs in the Control Panel, the installation displays dialog boxes that let
users do any of the following:
1. Install individual features that were not previously installed, and uninstall
individual features.
2. Reinstall your application with the settings selected during the first installation.
3. Uninstall your application.

To modify, repair, or uninstall an application, the operating system must have some
indication that the application is present. To allow this, an installation registers an
application with the operating system so that it can be easily maintained or
uninstalled. You enter the necessary information in the General Information view. For
more information, see Specifying Installation Information.
In InstallShield installations, maintenance (that is, modification and repair) is handled
automatically. In addition, uninstallation is handled automatically—with the sole
exception of custom actions, which must either undo their own effect during
uninstallation or have their effect undone by another custom action that runs only
during uninstallation.

Removing Registry Data Created by Your Product


By default, your product’s uninstaller removes only data that was created by your
installation program.
You can use a special uninstallation flag in the Registry view. The uninstallation flag
controls the registry data to be removed during uninstallation. In particular, using the

InstallShield Express Edition User Guide 197


Chapter 16: Preparing Installations for Maintenance and Uninstallation
Removing Registry Data Created by Your Product

Uninstall entire key flag on a registry key causes the key and all its values and subkeys
to be removed during uninstallation. For more information, see Registry Flags.

198 InstallShield Express Edition User Guide


17
BUILDING, TESTING, AND DISTRIBUTING
INSTALLATIONS

Once you have configured the features, files, shortcuts, registry entries, end-user
dialogs, and other elements of your installation project, you are ready to create and
build a release for your installation. Building a release packages the content of your
installation, creating a disk image that you can copy to your distribution media and
distribute or deploy as needed.
Testing is an essential part of creating a reliable installation. InstallShield enables you
to selectively test run just the end-user interface portion of a release. You can also run
your installation by simply clicking a button in InstallShield; when you run an
installation by using this method, your installation executes exactly as it would on an
end user’s machine. All files are transferred, shortcuts and registry entries are made,
and the user interface is displayed.
The last step in creating your installation is to distribute it to a specified location. This
location may be on a network drive, floppy disk, or different location on a local drive.
When you distribute your installation, the disk image created when you built your
installation is copied to the location that you specify.

Configuring and Building Releases


Once you have designed your project in InstallShield, you are ready to create a release
that you can configure and build to distribute to end users. The release is built
according to the options that you set for it in the Build Your Release view.

InstallShield Express Edition User Guide 199


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Building a Release

TASK To build a release:

1. Open the Build Your Release view.


2. In the Builds explorer, click the type of media that you want to build.
3. Edit the build properties.
4. Right-click the selected media type and then click Build.

You can also build a release at the command line using IsCmdBld.exe.
InstallShield places the built installation package into a release location based on your
project location. If the build failed and generated an error, the previous installation
package, if any, is restored to the \DiskImages\Disk1 folder.

TIP Ensure that Windows Explorer is not pointing to the Disk1 folder or a subfolder when you build
your release. If it is pointing to the Disk1 folder, the build process will continue indefinitely. If
Explorer is accessing a subfolder, you will generate an error.
If you are creating non-compressed builds, additional folders named after specific operating
systems may be included with the installation. This handles cases when files destined for a
specific operating system have the same name as those targeted for another operating system.

Canceling Builds

TASK To cancel a build after it has started:

Click the Stop Build button on the toolbar.

Changing the Product Version During a Build


Although the product version number in an InstallShield project (.ise) file or a built
.msi file cannot be changed through the command line, it can be done using VBScript.
The code sample below changes the version number in either a built .msi file, or an
.ise project file. Changing the .ise file causes all .msi files built from that .ise file to
have that build number in them.
You need to change the C:\Test.msi and 3.54.0154 parts so that they reflect the .msi
file (or the .ise file) and the product version that you want to use. You could update the
script so that the VBScript accepts these parameters as command-line arguments or
registry entry values.

200 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Dim pInstaller
Set pInstaller = CreateObject("WindowsInstaller.Installer")

Dim pDatabase
Set pDatabase = pInstaller.OpenDatabase("C:\Test.msi", 2)

pSQL1 = "SELECT `Value` FROM `Property` WHERE `Property` =


'ProductVersion'"

Dim pView1

Set pView1 = pDatabase.OpenView(pSQL1)


pView1.Execute

Dim pRecord1
Set pRecord1 = pView1.Fetch

If (Not pRecord1 Is Nothing) Then


pRecord1.StringData(1) = "3.54.0154"
Else
MsgBox "error"
End If

pView1.Modify 4, pRecord1

pView1.Close

pDatabase.Commit

MsgBox "Done!"

Build Release Location


The disk image folders for your installation are built in the release location. All
additional files and folders necessary for storing uncompressed application files are
placed in subfolders of the disk image folders. The release location is a subfolder of
your project’s location.
The release is built in the following folder:
<project location>\<project name>\Express\<release
type>\DiskImages\Disk1

The default project location is:


C:\My InstallShield Express Projects

For example, if the current project name is CoolProject, and the media type for the
release is a CD-ROM, you can find the Disk1 folder under the following location:

InstallShield Express Edition User Guide 201


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

C:\My InstallShield Express


Projects\CoolProject\Express\Cd_rom\DiskImages

If you are creating non-compressed builds, additional folders named after specific
operating systems may be included with the installation. This handles cases when files
destined for a specific operating system have the same name as those targeted for
another operating system.

Build Logs and Reports


Each time you build a release, a log and build report are generated. The log contains
the same information displayed in the Output window during the build process. The
build report contains a concise summary of your build, as well as a listing of all
features, setup types, merge modules, dynamic links, and files included in your build.
Since both the log and report are generated and timestamped each time you build a
release, you can use these for manual verification of the contents of setups, as well as
for your records.

Quick Builds
When you are testing your installation, you might not want to continually build all of
your installation files if no files have been changed. Once you have performed an
initial complete build of your installation, you can use the Quick Build option in
InstallShield. The Quick Build option enables you to rebuild only the .msi file part of
an installation, shortening the build process. This is especially useful when you are
testing or making changes to a string or dialog.

NOTE The SingleImage media type does not support the Quick Build option because the .msi file is
included in the Setup.exe file. In addition, the WebDeployment media type does not support
the Quick Build option because the .msi file is included in a .cab file.

Performing Quick Builds

TASK To perform a quick build:

On the Build menu, click Quick Build.

NOTE The SingleImage media type does not support the Quick Build option because the .msi file is
included in the Setup.exe file. In addition, the WebDeployment media type does not support
the Quick Build option because the .msi file is included in a .cab file.

202 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Command-Line Builds
You can build a release from the command line using IsCmdBld.exe. Building an
installation in this way may be useful if you are trying to build from a batch file.
IsCmdBld.exe is located by default in the following location:
InstallShield Program Files Folder\System

Do not move IsCmdBld.exe from its installed location.


If you pass parameters from the command line to IsCmdBld.exe, they override the
settings for the release type.

Building from the Command Line

TASK To build your installation from the command line:

1. Open the Command Prompt window.


2. Change the directory to the following:

InstallShield Program Files Folder\System

3. Type the name of the command-line executable (IsCmdBld.exe) and the


necessary parameters.
The following statement illustrates running IsCmdBld.exe to build a release:
IsCmdBld.exe -p "C:\My InstallShield Express Projects\MyProject1.ise"
-c COMP -e y

The first parameter, starting with -p, is the path to the InstallShield project file (.ise)
that you want to build. The second parameter, -c COMP, specifies that you want your
package to be compressed into one file. The final parameter, -e y, specifies that you
want to include Setup.exe with the build.

Passing Command-Line Parameters in an .ini File


If you are trying to pass numerous parameters during a command-line build, or if you
are consistently passing the same parameters, it may be convenient to use an .ini file.
You need to include the same information in the .ini file as you would if you were
passing the parameters at the command line. There are three sections to this file, but
not all are required. As with passing parameters directly from the command line, the
silent build parameter is optional. In the example .ini file below, you can see that this
parameter is under the [Mode] heading. This heading can be omitted from your .ini
file if you choose to accept the defaults. By default, the installation is not run in silent

InstallShield Express Edition User Guide 203


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

mode, and your release is sent to the project location specified on the Options dialog
box.
The first heading, [Project], should contain the path to the .ise file and the product
name as specified in InstallShield. The second section, titled [Release], should contain
the configuration type, either compressed or uncompressed, Setup.exe settings, and
the release name.

Table 17-1: Example .ini File with Command-Line Parameters

Example .ini File Comments


[Project] Project Section
Name="C:\My InstallShield Express
Projects\Othello.ise" • Name is the path to the .ise file.
Product=Othello • Product is the product name.
BuildLabel=Express • BuildLabel is the product configuration.
[Release] Release Section
Configuration=COMP
Name=SingleImage • Configuration allows you to select
SetupEXE=y compressed vs. uncompressed.
• Name is the release name.
[Mode]
Silent=yes • SetupEXE toggles creation of a
Setup.exe file.
Mode Section
• Silent toggles silent mode.

Microsoft Build Engine (MSBuild)


InstallShield supports the Microsoft Build engine (MSBuild) included with the .NET
Framework. MSBuild support enables you to build Visual Studio solutions with
InstallShield projects in build lab environments where Visual Studio is not installed.

Overview
MSBuild is an extensible build framework designed to remove the build dependence
on Visual Studio. The .NET Framework provides the capability to build projects or
solutions from the command line or any other host of MSBuild. For more information
on MSBuild, see the MSDN Library.

MSBuild Tasks
The flexibility and extensibility of MSBuild is controlled through atomic groupings of
internal build steps referred to as tasks. One example of a task that ships with
MSBuild is Csc, which can compile code from a Visual C# project. InstallShield
installs an MSBuild task called InstallShield, which builds an InstallShield project,

204 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

and a targets file that provides default build steps for the project. This customized task,
along with the targets file, enables MSBuild to perform all required actions to build
the InstallShield project as part of a Visual Studio solution.
This table describes the parameters of the InstallShield task.

Table 17-2: MSBuild InstallShield Task

Parameter Type Description


InstallShield Path String This parameter specifies the path to folder
containing the InstallShield application.
Project String This parameter specifies the location of the
project file (.ise).
ProductConfiguration String This parameter specifies the product
configuration for the release. The value for this
parameter should be Express.
ReleaseConfiguration String This parameter specifies the release name.
Valid options are as follows:
• Custom
• CD_ROM
• DVD-10
• DVD-18
• DVD-5
• DVD-9
• SingleImage
• WebDeployment
OutDir String This parameter specifies the fully qualified path
to the folder where you want the output folders
and files to be placed.
MergeModulePath String[ ] This parameter specifies one or more folders
that contain the merge module files (.msm)
referenced by your project.
ReleaseFlags String[ ] This parameter enables you to specify any
release flags that you want to include in your
release. Separate multiple flags with commas.

Release flags are supported in the


Premier and Professional editions of
InstallShield, but not the Express edition.
Therefore, the ReleaseFlags parameter is
not used with the Express edition.

InstallShield Express Edition User Guide 205


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Table 17-2: MSBuild InstallShield Task (cont.)

Parameter Type Description


PathVariables ITaskItem[ ] This parameter enables you to override the
path variables for the project. Using this
parameter, you can specify the path to the
path variable and also define a value for the
name of the path variable using the
PathVariable subelement.
For more information on MSBuild ITaskItem[ ]
properties, see the MSDN Library.

This parameter applies to the Premier and


Professional editions of InstallShield.
PreprocessorDefines ITaskItem[ ] This parameter enables you to add or override
the preprocessor defines for the project. Using
this parameter, you can specify the definition
of the preprocessor define and also define a
value for the name of the preprocessor define
using the Token subelement.
For more information on MSBuild ITaskItem[ ]
properties, see the MSDN Library.

This parameter applies to the Premier and


Professional editions of InstallShield.
OutputGroups ITaskItem[ ] This parameter specifies the project output
groups from the Visual Studio solution. Using
this parameter, you can specify the path to the
source location of the project output group
and also define these additional values using
these subelements as listed:
• Name—Name of the project
• OutputGroup—Name of the project
output group
• TargetPath—Target path of the project
output group (different from its source
location)
For more information on MSBuild ITaskItem[ ]
properties, see the MSDN Library.

206 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Table 17-2: MSBuild InstallShield Task (cont.)

Parameter Type Description


Build String This parameter specifies what type of build to
perform. You can choose from these types of
builds:
• Complete—Specify this value if you want
to generate a full build.
• Tables—Specify this value if you have
already performed a complete build and
you simply want to rebuild only the .msi
file part of the installation. This type of
build is also known as a Quick Build. Note
that this type of build cannot be
performed with the SingleImage or
WebDeployment types of release
configurations.

Compile, TablesAndFiles, and


UpgradeOnly are additional Build values
that are available in the Premier and
Professional editions of InstallShield.
BuildCompressed Boolean This parameter specifies whether your release
is compressed into one file or remains
uncompressed in multiple files.
BuildSetupExe Boolean This parameter specifies whether you want to
create a Setup.exe file along with your
installation.
RunMsiValidator String This parameter enables you validate the .msi
package using a .cub file.

This parameter applies to the Premier and


Professional editions of InstallShield.
RunUpgradeValidation Boolean This parameter specifies whether or not to run
upgrade validation.

This parameter applies to the Premier and


Professional editions of InstallShield.
StopOnFirstError Boolean This parameter specifies whether or not to
stop the build after an initial error.

InstallShield Express Edition User Guide 207


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Table 17-2: MSBuild InstallShield Task (cont.)

Parameter Type Description


MsiVersion String This parameter specifies the minimum version
of Windows Installer that the installation can
accept on the target machine.
DotNetFrameworkVersion String This parameter specifies the minimum version
of the .NET Framework that the installation can
accept on the target machine.
Disk1Folder Output String This parameter specifies the location of the
output folder.

MSBuild Scripts
MSBuild natively understands one file format: its XML build script, which is used as
the project file format for Visual C# and Visual Basic .NET projects (.csproj and
.vbproj). MSBuild also has internal hooks to handle solution files and the Visual C++
project file format (.sln and .vcproj).
The InstallShield integration with Visual Studio uses an MSBuild-compatible XML
format project file (.isproj), which enables MSBuild to seamlessly build Visual Studio
solutions that include InstallShield projects.

Using MSBuild to Build a Release from the Command Line


MSBuild provides an easy way to build a release from the command line on a machine
on which Visual Studio is not installed. The only components that you must have
installed on the machine are the .NET Framework and InstallShield. Place a copy of
your Visual Studio solution on the machine, and run MSBuild.

TASK To use MSBuild from the command line:

1. Open the Command Prompt window.


2. Change the directory to the one that contains MSBuild.exe:

C:\Windows\Microsoft.NET\Framework\Version Folder\

3. Type the command-line statement to build the release build of the Visual Studio
integration project. For example:
MSBuild.exe C:\Folder Containing My Visual Studio Solution\My
Solution.sln /property:Configuration=Release

208 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Creating a Single Self-Extracting Installation File

TASK To create a single self-extracting installation file:

1. Open the Build Your Release view.


2. In the Builds explorer, click SingleImage.
3. Set the Compress Media property to Yes.
4. In the Builds explorer, right-click SingleImage and then click Build.

Any releases that you build with the SingleImage build type are compressed into one
file.

NOTE If you set the Include Setup.exe property to Yes, the file generated by InstallShield is an
executable (.exe) file. The executable file contains all of the files needed to install the Windows
Installer service, your Windows Installer setup (.msi) file, and all of your application files. If you
do not include Setup.exe in your installation, the single file generated is an .msi file containing all
of the logic and data necessary to install your application onto a Windows Installer compatible
machine.

Preparing Your Installation for Internet Distribution


The way in which consumers receive software is rapidly changing. Before the
advances in Internet technology and the introduction of high-speed connections, all
software was shipped on some type of removable medium, such as floppy disks or
CD-ROMs. Today, many people download their software directly from the Internet.
In order to take advantage of this time- and money-saving software distribution
process, you must package your installation in an easily downloadable and installable
manner.
There are several criteria that your Web-ready installation may need to meet:

Compressed Size
Although many people now connect to the Internet via high-speed cable modems or
DSL lines, many others still use 28.8 modems. Package size is very important to
people with slower connections due to the increased amount of online time required to
download an application.

Self-Extracting
Many file compression utilities require a special client-side application to decompress
the application files. This need for another utility complicates the download and

InstallShield Express Edition User Guide 209


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

installation process for users. To simplify the installation process, the compression
utility you use should be self-extracting, so no other application is required.

Digitally Signed
To make your customers feel more secure about downloading and installing your
software, you can digitally sign your application package. The digital signature
identifies you and/or your company to end users and assures them that the application
code has not been altered or tampered with since publication.
Visit www.verisign.com to learn more about digital signatures.

Easy to Use
Perhaps the most important aspect of packaging your installation for Internet
distribution is making it easy to use. Your customers may not want to specify a
location where the installation files should be saved and then search their computer to
locate those files. Instead, the setup should be seamlessly integrated into the
compression package, requiring only one step to begin the installation.

Creating a Web-Deployable Release

TASK To create a Web-deployable installation:

1. Launch the Web Deployment Wizard by doing one of the following:


» Click the Web Deployment Wizard button.
» On the Build menu, click Web Deployment Wizard.
» Press CTRL+W.
2. Provide the necessary information in the wizard panels.
3. In the Summary panel of the wizard, select the Build the release after clicking
Finish button check box.
4. Click Finish to build the release.

You can distribute your release to a specified location via the Distribute Your Release
View.

Digital Signing and Security


You can digitally sign your application to assure end users that the code within your
application has not been tampered with or altered since publication. When you
digitally sign your application, end users are presented with a digital certificate when
they download your product.

210 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

NOTE If you build a release on a Windows 2000 machine, SP4 must be installed in order for you to
digitally sign the application.

Certification Authorities
A certification authority is an organization such as VeriSign that issues and manages
digital certificates (also known as digital IDs). The certification authority validates the
requester’s identity according to prescribed criteria and issues a digital certificate.

Digital Certificates
A digital certificate identifies you and/or your company to end users and assures them
the data they are about to receive has not been altered during its transfer over the Web.
Certification authorities issue and manage digital certificates.
When end users download your application, a digital certificate is displayed. The
digital certificate is a panel that informs end users when your application was signed
and asks if they want to download and run your application. End users click OK to
accept your application package.
Below is an example of a digital certificate. The appearance of digital certificates may
vary among browsers and browser versions.

InstallShield Express Edition User Guide 211


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Figure 17-1: Sample digital certificate

Netscape Certificate IDs


Like digital signatures and private keys for Internet Explorer, Netscape
Communicator uses certificates for digitally signing installations. First, you must
obtain a certificate from a certification authority. When you receive your certificate,
you also receive a password that you use when determining the exact ID for the
certificate.

Private Keys
A private key (a file with the extension .pvk) is granted by a certification authority.
InstallShield uses the private key you enter in the Corresponding Private Key build
setting to digitally sign your package and ensure end users of its content’s
authenticity.

NOTE The digital certificate that end users see when they receive your installation consists of the
software publishing credentials (.spc) file and the private key (.pvk) file; you specify these files
for build settings.

Software Publishing Credentials


You must supply a certification authority with specific information about your
company and software to obtain software publishing credentials in the form of an .spc
file. Your software publishing credentials are used to generate a digital signature for
your package.

NOTE The digital certificate that end users see when they receive your installation consists of the
software publishing credentials (.spc) file and the private key (.pvk) file; you specify these files
for build settings.

Contact a certification authority such as VeriSign for more information on the


specifics of software publishing credentials.

212 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Importing Netscape Certificates

TASK To import a certificate and determine its ID:

1. Open Netscape Communicator.


2. On the Netscape toolbar, click the Security button. The Security Information
dialog box opens.
3. Under Certificates, click Yours.
4. Click Import a Certificate.
5. Set a password for the certificate, if necessary. If you do set a password, this must
be entered for the Certificate Password when you create a Web-deployable
installation.
6. Browse to the location of the certificate file (.p12) obtained from your
certification authority.
7. When prompted, enter the password you received with the certificate from the
certification authority, and then click OK.
Upon successful import, the certificate ID appears in the certificate listing. This is the
value of the certificate that must be entered when creating a Web-deployable setup
targeting Netscape that requires a digital signature.

Preparing a Trialware Release of Your Product


If you have added a trialware file to your project in the Trialware view, you can build
a trialware version of your product. InstallShield will wrap a trialware shell around the
executable file (.exe, .dll, or .ocx file) specified in the Trialware view. The executable
file can be unwrapped and used only according to the license settings that you
configure, such as the trial limit (a specified number of days or a specified number of
uses).

TASK To prepare a trialware release of your product:

1. Open the Releases view.


2. Select the release that you want to build.
3. Set the Disable Trialware Build property to No. This is the default setting.
4. Build the release.

At build time, a folder called TestTools is created and placed in the same folder as
the DiskImages folder for the selected release.

InstallShield Express Edition User Guide 213


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

CAUTION Do not release the files in the TestTools folder with your product or make them available to
your customers. Doing so would enable end users to continually restart a trial each time that it
expires. Note that the TestTools files are specific to a particular product and license and
cannot be used to delete licenses for other products.

For each file being wrapped, the TestTools folder contains the following files:
• SCResetLicense<WrappedBaseFileName>.exe
• IsSvcInstSCResetLicense<WrappedBaseFileName>.dll

For example, if a file called Calc.exe is wrapped, the files in the TestTools folder
are SCResetLicenseCalc.exe and IsSvcInstSCResetLicenseCalc.dll.
You can use the TestTools files to remove the license for your product from a
machine, resetting the trialware state. This enables you to restart the trial for your
protected product and retest it. For more information, see Testing a Trialware Release
of Your Product.

Excluding Trialware Protection from a Release


If you have added a trialware file to your project in the Trialware view, you might
need to build a release of your product that does not have the trialware protection. You
can use this release if you want to test the installation of your product but you do not
want to test the trialware run time.
You also may want to build a release without trialware protection if you distribute the
Try and Die type of trialware to prospective customers. You can give them the
unprotected release when they have finished evaluating your product and they
purchase it from you.

TASK To prepare a release of your product that does not have the trialware protection:

1. Open the Releases view.


2. Select the release that you want to build.
3. Set the Disable Trialware Build property to Yes.
4. Build the release.

If you have not added a trialware file to your project in the Trialware view, the Disable
Trialware Build property has no effect on the release build.

Media Compression
Each build type (CD_ROM, SingleImage, WebDeployment) that is available in the
Build Your Release view includes a property called Compress Media. Set this value to

214 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

Yes to use a compression algorithm that will decrease the size of your installation.
With this setting, your installation files are compressed into .cab files.
If you do not want your files to be compressed on the release media, set the Compress
Media property to No.

Floppy Disk Distributions


Although it is not directly supported, you can distribute your release via floppy disk
by using the Custom release type. The challenges that arise when you try to build your
release on floppy disks are described below:
• Disk Space—Although Microsoft ships the Windows Installer service with
Windows XP, Windows 2000, and Windows Me, all other operating systems to
date do not ship with this service. Therefore, the Windows Installer service
(Windows Installer engine) must be installed before your installation can run.
There are two versions of this installation—one for Windows NT 4.0 and one for
Windows 9x. Each of these installations requires more than 1.4 MB of disk space.
Because of these file size requirements, it is difficult to distribute your installation
program on a floppy disk if you need to distribute the Windows Installer engine as
well.
• Disk Spanning—The .msi file that is created by InstallShield and that interacts
with the Windows Installer service cannot be spanned across multiple disks. In
addition, it must reside on the first disk of your installation. Therefore, if you want
to include all of your files in one compressed .msi file, it might not fit on one
floppy disk. However, if your files can remain uncompressed, they can be
included on successive disks of the installation.

Building a Release for Floppy Disk Distribution

TASK To build a release for floppy disk distribution:

1. Open the Build Your Release view.


2. In the Builds explorer, click Custom.
3. Set the Media Size property to 1.4.
4. Set the Media Size Unit property to MB.
5. In the Cluster Size property, type the cluster size (in bytes) according to the disk
capacity: 512 or 1024.
6. Set the Compress Media property to No.
7. Set the Include Setup.exe property to No.
8. Set the Include MSI Windows 9x Engine and the Include MSI Windows NT
Engine properties to No.

InstallShield Express Edition User Guide 215


Chapter 17: Building, Testing, and Distributing Installations
Configuring and Building Releases

9. Set the Generate Autorun.inf File property to No.


10. In the Builds explorer, right-click Custom and then click Build.

CAUTION If you build a multiple-disk installation, you need to set the volume label on the second and
subsequent disks. The volume labels must be DISK2 (for the second disk), DISK3 (for the third
disk), and so on. For more information, see Setting Volume Labels.

Setting Volume Labels

TASK To set the volume label for a CD-ROM or DVD-ROM:

Consult the requirements of your CD-ROM or DVD-ROM creation software.

TASK To set the volume label for a floppy disk:

1. Open Windows Explorer.


2. Right-click the drive containing the floppy disk and then click Properties.
3. Click the General tab.
4. In the Label box, type the appropriate volume label.

TIP If you build a multiple-disk installation, you need to specify volume labels for the second and
subsequent disks. The manner in which you do this depends upon the distribution media you
use. The volume labels must be DISK2 (for the second disk), DISK3 (for the third disk), and so
on.

Creating a Windows Installer Package (.msi) as


Output
You can generate an .msi file to package your installation.

TASK To create an .msi file as your InstallShield output:

1. Create your installation, including the necessary files, features, registry entries,
and shortcuts.
2. Open the Build Your Release view.
3. In the Builds explorer, click the type of media that you want to build.

216 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Testing and Running Installations

NOTE You cannot generate an .msi file accessible to your end users through the WebDeployment build
type.
4. Set the Compress Media property to No. This instructs InstallShield to not
embed the .msi file into the Setup.exe file.
5. Click the Build button.

InstallShield builds your release and stores it in the <Project Location>\<Project


Name>\Express\<Release Type>\DiskImages\Disk1 folder. The .msi file is in this
folder.

Autorun
When you inserted the InstallShield CD into your computer’s CD-ROM drive, you
may have noticed that a multimedia CD browser automatically launched, allowing
you to easily install this product. This autorun functionality was accomplished using a
text file (Autorun.inf) on the root level of the CD. Primarily, this file is used to launch
either a CD Browser, such as those created with DemoShield, or a setup program.

Enabling Autorun for Your CD

TASK To enable your CD to autorun when it is inserted into the target system’s CD drive:

1. Create a text file called Autorun.inf.


2. In the Autorun.inf file, specify the name of the file to automatically launch when
an end user inserts the CD into the CD drive. Use the following syntax:
[autorun]
open = filename
Filename is the name of the file that you are launching. For example, if you are
including Setup.exe in your installation, enter Setup.exe in the place of filename.
3. Place the Autorun.inf file on the root level of your CD.

Testing and Running Installations


Before distributing your installation, you should test run it to ensure you discover any
issues rather than your customers. InstallShield enables you to test the end-user
dialogs (without copying any files to the target system) and run the entire installation
including transferring files.

InstallShield Express Edition User Guide 217


Chapter 17: Building, Testing, and Distributing Installations
Testing and Running Installations

Testing and Running Installations


Testing your release is a necessary step in the installation development process. You
can test your release in one of two ways:
• Run your installation—This option executes your installation exactly as it would
on an end user’s machine. All files are transferred, shortcuts and registry entries
are made, and the end-user interface is displayed. Although you can run this type
of test from the InstallShield interface, it is also a good idea to test your
installation on several clean machines before you release it to the public.
• Test your installation—When you test your installation, only the end-user
interface elements are executed. No file transfer takes place and no changes to
your machine occur. The only exception to this rule is if you have custom actions
in your installation. All custom actions execute during this test.

TASK To test or run an installation:

1. Open the Releases view.


2. Click a release that you have already built.
3. Click the appropriate button that is displayed in the right pane.

Testing a Trialware Release of Your Product


If you have added a trialware file to your project in the Trialware view and you have
built a trialware version of your product, you can test your protected product to ensure
that it behaves as planned. Check all of the hyperlinks in the trialware run-time dialogs
to make sure that they point to the desired locations.
If you test a Try and Buy/Product Activation product by running and activating the
protected trial version, you will not be able to restart the entire Try and Buy/Product
Activation experience without removing the license, as described in the procedure
below.
If you test a Try and Die product by running the protected trial version, it will expire at
the end of the trial; you will not be able to test your product further on the same test
machine without removing the license.

TASK To remove a license from a test machine:

1. Copy the files that are added to the TestTools folder at build time to the test
machine that contains the license that you want to delete. For each file being
wrapped, the TestTools folder contains the following files:
» SCResetLicense<WrappedBaseFileName>.exe

218 InstallShield Express Edition User Guide


Chapter 17: Building, Testing, and Distributing Installations
Creating a CD Browser

» IsSvcInstSCResetLicense<WrappedBaseFileName>.dll
For example, if a file called Calc.exe is wrapped, the files in the TestTools folder
are SCResetLicenseCalc.exe and IsSvcInstSCResetLicenseCalc.dll.
2. On the test machine, run the SCResetLicense<WrappedBaseFileName>.exe file.

The license for your protected product is removed, and the trial state is reset. The next
time you restart your protected product on the same test machine, the trial starts over,
enabling you to retest it.

CAUTION Do not release the files in the TestTools folder with your product or make them available to
your customers. Doing so would enable end users to continually restart a trial each time that it
expires. Note that the TestTools files are specific to a particular product and license and
cannot be used to delete licenses for other products.

Running an Installation in Silent Mode


If you do not want to have the Setup.exe progress bar displayed when it launches, you
can use the /s command-line parameter. For example, if you enter Setup.exe /s,
Setup.exe launches, but the user interface is not displayed. If you want the .msi
package to run silently as well, you need to pass the /qn command-line parameter
through Setup.exe using the /v parameter—for example, Setup.exe /s /v/qn.

Conditional Installations
InstallShield provides the capability to make your installation conditional based on
several criteria. This can be accomplished using the Requirements view. If the
installation is run on a machine that does not meet the specified conditions, the
installation exits and your application is not installed.

Creating a CD Browser
A CD Browser is a standard technique for greeting your customers with an interactive
multimedia tour of your company’s offerings. Typically, the browser gives a product
tour, contains links to the company’s Web site, allows your customer to install
software and any related products, and offers a reminder about registration.
DemoShield helps you create professional multimedia material in a fraction of the
time required by other products.
An evaluation copy of DemoShield is available from the Macrovision Web site. This
version gives you complete access to the DemoShield Designer and help files during
the evaluation period. You will be licensed to distribute your new CD Browser once
you have purchased a full copy of DemoShield.

InstallShield Express Edition User Guide 219


Chapter 17: Building, Testing, and Distributing Installations
Distributing Installations

Distributing Installations
The last step in creating an installation is to distribute it to a specified location. This
location can be a network drive, a floppy disk, or a different location on a local drive.
When you distribute your installation, the disk image created when you built your
installation is copied to the location that you specify.

Distributing Your Release to a Network Location


You can easily distribute your release to another folder on your computer or to a
network location.

TASK To distribute your release to a network location:

1. Build your release if you have not already done so.


2. Open the Distribute Your Release view.
3. In the Builds explorer, click the release type that you built.
4. Select the Folder option and then specify the path.
5. Click Distribute.
InstallShield copies all of the relevant files to the specified directory.

Distributing Your Release to an FTP Server


You can easily distribute your release to FTP server.

TASK To distribute your release to an FTP server:

1. Build your release if you have not already done so.


2. Open the Distribute Your Release view.
3. In the Builds explorer, click the release type that you built.
4. Select the FTP location option and then specify the FTP location, as well as the
user name and password to access the server.
5. Click Distribute.
InstallShield copies all of the relevant files to the specified directory on the FTP
server.

220 InstallShield Express Edition User Guide


18
CREATING TRIALWARE

Offering prospective customers a free trial version of your product can be a highly
effective sales tool, but it carries the risk that some will abuse the privilege and
continue to use the product without paying for it. InstallShield enables you to create a
protected trialware version of your product without requiring you to modify the source
code.
With the Trialware view, you can configure trialware settings for one or more of your
product’s executable files to protect your product from piracy. Using InstallShield to
protect your product lets you:
• Invest minimal time and expense to turn your product into trialware.
• Set firm expiration dates using sophisticated, flexible technology that blocks
unauthorized extensions of trials.
• Specify hyperlinks that should be displayed in the trialware run-time dialogs,
which are launched whenever end users launch a protected application. The
hyperlinks direct users to Web pages that inform them, for example, how to
purchase your product.
• Ensure that paid-for copies of your product automatically revert to trial mode
when they are shared with other end users.

Types of Trialware
InstallShield offers different types of trialware to help you control unauthorized use of
your product:
• Try and Buy/Product Activation
• Try and Die (available with the Premier edition of InstallShield only)

InstallShield Express Edition User Guide 221


Chapter 18: Creating Trialware
Types of Trialware

• Unprotected (that is, the product’s installation is built without applying trialware
protection)

Try and Buy/Product Activation


The Try and Buy/Product Activation type of trialware addresses two different
scenarios:
• A prospective customer wants to evaluate your product before deciding whether
to buy it.
• A customer buys your product but does not need to evaluate it. Distributing a Try
and Buy/Product Activation version of your product to paying customers lets you
control unauthorized use of your product.

For Prospective Customers Who Want to Evaluate Before


Buying
The Try and Buy/Product Activation type of trialware enables prospective customers
to evaluate your product before buying it. It is a fully functional trial version of your
product. When you create this type of trialware with InstallShield, you specify settings
such as the trial limit (a specific number of days or a specific number of uses). If
prospects decide to buy the product, they do not need to download or install another
version of your product. They simply need to activate it by using a serial number that
you provide to them when they pay for the product. After the predetermined trial limit
has been reached on an end user’s machine, the trial version no longer runs on that
machine unless the end user activates it.

For Customers Who Have Already Purchased Your Product


When you distribute your product to customers who have already paid for it, they will
not need to evaluate the product. They will simply want to install it and start using it.
However, to prevent end users from running your product on additional machines
without your permission, you can protect your product with the Try and Buy/Product
Activation type of trialware; end users would not be able to run the product on
additional machines beyond the predetermined trial limit without activating it on each
of those machines.
You can limit the number of activations allowed for each serial number that you issue.
If you want end users to be able to run your product on two different machines, you
can set the permitted number of activations to 2 for specific serial numbers or for all
serial numbers.
Creating Try and Buy/Product Activation trialware involves packaging your product
with trialware protection. It also requires you to purchase the InstallShield Activation
Service and use the InstallShield Activation Service Publisher Web Site. To learn

222 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
How InstallShield Protects Trialware

more, see InstallShield Activation Service. For details on how the activation process
works, see Overview of the Activation Process.

Try and Die


Like the Try and Buy/Product Activation type of trialware, Try and Die trialware lets
you offer prospective customers a fully functional trial version of your product. After
the predetermined trial limit has been reached on an end user’s machine, the trial
version expires, and it no longer runs on that machine.
Try and Die trialware is often used for distribution at trade shows. It is also sometimes
used to protect beta versions of a product. If prospective customers want to buy the
product and continue using it after the trial limit has been reached, they need to
uninstall the Try and Die version and then install an unprotected or Try and Buy/
Product Activation version. Note, however, that creating both a Try and Die version
and a Try and Buy/Product Activation version is not recommended.

NOTE Try and Die functionality is available with the Premier edition of InstallShield only.

Unprotected Product
You can configure the trialware settings in your installation project and then later
easily build a release of your product that does not have the trialware protection. You
can use this non-trialware release if you want to test the installation of your product
but you do not want to test the trialware run time. For more information, see
Excluding Trialware Protection from a Release.

How InstallShield Protects Trialware


The following sections explain the structure of applications and how they are
protected when trialware protection is applied.

Unprotected Product
If an application is not protected with the trialware functionality available in
InstallShield, the end user launches the main application file when starting the
product. This main application may call subordinate applications and use data
contained in data files.
The structure of a typical unprotected application is illustrated in the following
diagram:

InstallShield Express Edition User Guide 223


Chapter 18: Creating Trialware
How InstallShield Protects Trialware

Figure 18-1: Unprotected product

Application Protected with Try and Die


If the installation for an application is built with the Try and Die functionality, the
main application file (.exe, .dll, .ocx, or .scr) is protected by a Try and Die shell. This
protection includes changes to the application code that prevent the application from
being run directly. The application must be run by the shell in order to execute
successfully. Subordinate applications can be either protected in the same way as the
main application file or left unprotected. Shells can be used in this way to protect main
application files and subordinate application files. The shell will run the product file
(or product files, if more than one is protected) only if the trial limit has not been
reached.
The Try and Die trialware protection is implemented as illustrated in the following
diagram:

Figure 18-2: Product protected with a Try and Die shell

224 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
How InstallShield Protects Trialware

The addition of the Try and Die shell to the main application file does not change the
file’s version number or the file’s last-modified date. However, it does increase the
size of that file.

Application Protected with Try and Buy/Product Activation


The Try and Buy/Product Activation shell is similar to the Try and Die shell. With Try
and Buy/Product Activation functionality, the main application file is protected by the
Try and Buy/Product Activation shell, and the application code is changed to prevent
end users from running the application directly without the shell. Subordinate
applications can be protected with the Try and Buy/Product Activation shell, or they
can be left unprotected.
The Try and Buy/Product Activation shell will run the product file only if the trial
limit has not been reached or if the application’s license was activated on the computer
on which the application will be run. The license can be activated either online or
offline. In order to attempt an offline activation, the end user must first attempt an
online activation.
For both online and offline activation, a serial number and a request code are sent to
the license server, and a response code is sent to the client. With online activation
transactions, the activation is done automatically; no manual intervention is required
by you or the end user. Offline activation requires manual intervention by both the end
user and by one of your customer support employees; therefore, offline activation is
more costly for you to support than online activation. For more information, see
Overview of the Activation Process.
The addition of the Try and Buy/Product Activation shell to the main application file
does not change the file’s version number or the file’s last-modified date. However, it
does increase the size of that file.
The Try and Buy trialware protection is implemented as illustrated in the following
diagram:

InstallShield Express Edition User Guide 225


Chapter 18: Creating Trialware
Trialware Technology

Figure 18-3: Product protected with a Try and Buy/Product activation shell

Trialware Technology
With the Trialware view, you can configure a license for trialware. InstallShield uses
the license to wrap a trialware shell around your product’s executable file (.exe, .dll,
.ocx, or .scr file). The file can be unwrapped and used only according to the license
settings that you configure, such as the trial limit (a specified number of days or a
specified number of uses).
The trialware technology available in InstallShield should not be confused with
freeware or shareware. Often freeware and shareware have limited functionality. For
example, end users sometimes cannot print anything from shareware or freeware, or a
watermark might be added to every page. Such limitations are established to
encourage prospective customers to purchase a fully functional version of a product;
however, building such limitations into your product can be costly and waste valuable
development time.
With trialware, the only limitation is the time limit or the limited number of uses. You
enable a prospective customer to use the latest version of your product—with all of its
features fully available—on a trial basis. No dongle is used to limit or lock software
access. After a predetermined trial limit has been reached, the trialware expires.

226 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Technology

Licenses
Trialware technology actually involves two types of licenses: a license that wraps the
protected executable file and a license that identifies a protected trialware product on
the end user’s machine. Both types of license are associated with each other by a
license number, and the term license is used to refer to both types of licenses.
When you create trialware with InstallShield, you acquire a unique license for your
product. The license is downloaded from the license server to your machine, and it is
stored in your InstallShield project file.
InstallShield uses the license to wrap a trialware shell around your product’s
application file. The application file can be unwrapped and used only according to the
license settings that you configure.
When an end user runs your trialware for the first time on their machine, the trialware
stores a license in both a license file and an anchor. Both must be present on a system
to allow licensing to work. The anchor is stored in an operating system–specific
location to hinder end users from trying to reset the license state by simply deleting
the license file. This approach allows license data to remain safe even if the trialware
product or the operating system requires reinstallation.
If an end user reformats a hard drive that has trialware, it will not affect license data
stored on that machine. However, repartitioning the hard drive will. End users can use
ghosting utilities to back up a disk or partition to an image and restore the trialware
later.

InstallShield Licensing Service


The InstallShield Licensing Service is required for all trialware products. During the
installation of a trialware product, the installation checks to see if the service is
already on the machine:
• If the InstallShield Licensing Service is not already on the machine, the
installation automatically installs it as an NT service (on Windows NT, Windows
2000, and Windows XP), or as a VxD (on Windows 95 and Windows 98). The
reference count for the service is set to one.
• If it is already on the machine, the reference count is increased by one.
During the uninstallation of a trialware product, the uninstallation decreases the
reference count by one:
• If the updated reference count is zero, the service is automatically uninstalled
because no other products on the machine need the service.
• If the updated reference count is not zero, the service is not uninstalled.
The reference count helps prevent the service from being removed if remaining
trialware products need the service.

InstallShield Express Edition User Guide 227


Chapter 18: Creating Trialware
Trialware Technology

Files Installed with a Trialware Product


When you build a trialware version of a product, InstallShield automatically adds a
file called IsSvcInst<FileName>.dll to your installation, where <FileName> is the
name of your wrapped file without the dot or file extension. This
IsSvcInst<FileName>.dll file is installed with the executable file that you are
protecting, and the trialware technology uses it if an end user manually removes the
InstallShield Licensing Service.
For the Try and Buy/Product Activation type of trialware, a file called INetTrans.exe
is also installed with the executable file that you are protecting. The INetTrans.exe file
handles online activation transactions.

Uninstallation of Try and Buy/Product Activation Trialware


If an end user uninstalls Try and Buy/Product Activation trialware that has already
been activated, the uninstallation automatically deactivates the trialware. This
deactivation decrements the number of activations in use. The end user can reinstall
and then reactivate the product on the same machine or on another machine.

End-User Privacy with Try and Buy/Product Activation


Trialware
When end users start the activation process, an online activation (through the Internet)
is first attempted automatically. If end users have anti-spyware or firewall applications
running on their machines, they may receive warnings during activation. That is
because the trialware must send a license request to the activation server in order to
perform an online activation of the product on the target machine. The activation
process uses a minimal amount of information about the product and the machine to
create that request for a product license. The license request consists of the following
data:
• Serial number that the end user entered to activate the product
• License number
• Request code
• Transaction ID
The request code is created using the following information:
• License serial number, which identifies the license for the trialware on the end
user’s machine
• 64-bit machine serial number, which is used to identify the end user’s machine
• 32-bit machine disk identifier, which is generated from information about the
Windows boot disk returned by the disk controller
• Date that the license request is made, as displayed by the machine’s system clock

228 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
InstallShield Activation Service

• Sublicense number associated with the product if applicable, or 0 if not applicable


The license request is sent to the InstallShield Activation Service either through a
secure Internet connection (SSL) or by manually submitting the request code through
email or phone. If the request code is valid, a response code that activates the product
immediately is returned.
The activation process is completely anonymous and never requests, collects, or
transmits personal information. It does not scan end users’ hard drives, and none of
the information collected can be used to identify end users’ individual hardware
components.

End-User Privacy with Try and Die Trialware


Try and Die trialware is completely anonymous. It does not allow or involve product
activation. No information is sent to any sort of server for activation when an end user
runs Try and Die trialware.

Workarounds for Trialware Issues with .NET, Java,


PowerBuilder, or Other Interpretive Languages
InstallShield cannot wrap .NET or Java files for the Try and Buy/Product Activation
or Try and Die types of trialware. In addition, InstallShield cannot wrap files that were
created with applications such as PowerBuilder, which uses interpretive languages.
With .NET and Java-based applications, build errors may occur in InstallShield when
users attempt to build the installation. With PowerBuilder-created applications, end
users can install the application, but the application cannot be launched when end
users click Finish in the trialware run-time dialog.
If your application is a .NET or Java-based application or you used a tool such as
PowerBuilder to create your application, create a traditional Windows-based .dll file:
• The .dll file should contain a function that is called by your product’s executable
file.
• Wrap the .dll file with the trialware protection in InstallShield.
• Obfuscate the function call to make it difficult for unscrupulous users to create
their own versions of the unwrapped .dll file in an attempt to work around the
trialware protection and use your application without having to activate it.
With this workaround, when an end user tries to launch the executable file, the
executable file calls the protected .dll file, which triggers the trialware technology.

InstallShield Activation Service


The InstallShield Activation Service is Macrovision’s anti-piracy service designed
specifically to verify that your software has been legitimately licensed. It provides you

InstallShield Express Edition User Guide 229


Chapter 18: Creating Trialware
InstallShield Activation Service

with a quick, easy, and unobtrusive way to protect your software against casual piracy
by limiting the number of times it can be activated.
The Try and Buy/Product Activation type of trialware in InstallShield requires the
InstallShield Activation Service to enable end users to not only try, but also buy, your
software in a very straightforward manner. This integrated, end-to-end solution is
quick and easy to implement, requiring minimal administration and development
effort.

InstallShield Activation Service Publisher Web Site


The InstallShield Activation Service Publisher Web Site is a Web-based tool used with
the InstallShield Activation Service. It enables you and other people within your
company to manage your licenses and other trialware data for Try and Buy/Product
Activation. Your end users will never see this Web site.

Customer Support
Customer support employees primarily use the InstallShield Activation Service
Publisher Web Site to assist end users with the offline activation of your products.
They will also use this Web site to perform the following activities:
• Manage serial numbers to protect against the misuse of your products.
• Add to your licenses the serial numbers that end users will use to activate your
product.
• Limit the number of times each serial number may be activated, thereby allowing
your customers to install your product on multiple machines, while also
preventing abuse of the license.
• Prevent any additional activations if abuse is suspected.
• Generate reports to view the number of activations per serial number.
• Monitor and record the number of times that end users attempt to activate
additional copies of your product. This indicates the need for additional licenses
and can guide direct sales.

Product Managers
Product managers use this Web site to run reports on the state of the product’s
business. They also use this Web site to perform the following activities:
• Run reports on the number of activations during a trial period.
• Determine which products are popular from an activation standpoint.
• Gather metrics on the success of a new product introduction or a time-based
promotion.
• Run many other reports based on their specific needs.

230 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Overview of the Activation Process

To learn more about the InstallShield Activation Service Publisher Web Site,
including procedures for performing an offline activation and running reports, see the
help library available at this Web site.

Overview of the Activation Process


During the activation process, a series of steps occurs to activate a Try and Buy/
Product Activation product, as described below.

NOTE End users cannot activate a Try and Buy/Product Activation version of your product unless you
purchase the InstallShield Activation Service.

Online Activation
The online activation process starts when the end user chooses to activate the product
and then enters a serial number in the trialware run-time dialog. From there, the rest of
the activation process is automatic. No manual intervention is required by you or the
end user.
The following procedure outlines the steps that occur during an online activation.

TASK Steps for an online activation:

1. The end user launches the trialware. Before the trialware application starts, the
trialware run-time dialogs are displayed.
2. The end user enters the serial number in the run-time dialog.
3. The trialware sends an activation transaction to the activation server via the
Internet.
4. A response code is sent to the trialware shell on the end user’s machine.

The trialware shell uses the response code to activate the product. The entire process
typically takes only seconds to complete. The amount of data being transmitted is very
small, so high-speed connections are not required.

Offline Activation
If the online activation process does not work (for example, if the end user does not
have an Internet connection), the end user can choose to activate offline (if you
allowed it when you configured the trialware settings for the product). Offline
activation requires manual intervention by both the end user and by one of your
customer support employees; therefore, offline activation is more costly for you to
support than online activation.

InstallShield Express Edition User Guide 231


Chapter 18: Creating Trialware
Adding a Trialware File

The following procedure outlines the steps that occur for an offline activation.

TASK Steps for an offline email or phone activation:

1. The end user launches the trialware. Before the trialware application starts, the
trialware run-time dialogs are displayed.
2. The end user enters the serial number in the run-time dialog.
3. The trialware attempts to perform the online activation, but it fails because, for
example, the end user’s machine does not have an Internet connection. The
trialware run-time dialog displays several options: Activate by Internet (to
enable the end user to retry the activation by Internet), Activate by Email, or
Activate by Phone.
4. If the end user selects email or phone and then clicks Next, the next trialware run-
time dialog contains contact information, as well as the serial number and the
request code. They use the contact information to provide you with the serial
number and the request code.
5. Your customer support employee logs on to the InstallShield Activation Service
Publisher Web Site and enters the serial number and request code that the end user
provided. The Web site provides a response code, and your customer support
employee gives that response code (via email or phone—whichever method the
end user selected) to the end user.
6. The end user enters the response code in the trialware run-time dialog.
The trialware shell uses the response code to activate the product.
Note that the entry of the response code can either be done immediately or at a later
time. Minutes, days, or even months later, the product will still be waiting for the same
response code. The product will be instantly activated once the end user enters the
response code.

CAUTION The request codes and response codes that are used with phone activations are shorter than
the ones that are used with offline email activations; the shorter length of the codes makes it
possible to read the codes over the phone. However, short codes are not as secure as the
longer codes used with email activations. Therefore, Macrovision recommends that you carefully
consider the security risks associated with offline phone activation before offering it as an offline
activation method. Use of this option is at your own risk, and Macrovision accepts no
responsibility if your company experiences security issues.

Adding a Trialware File


When you add a trialware file to your project and then configure its settings, you are
preparing a fully functional, protected trial version of your product.

232 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Specifying the Type of Trialware

TASK To add a trialware file:

1. Open the Trialware view.


2. Right-click the Trialware Files explorer and then click New File Configured for
Trial Usage. InstallShield adds the item to the explorer.
3. Rename the item if necessary. The name is for internal use only and is not
displayed to end users.
4. On the General tab, select the application file (.exe, .dll, .ocx, or .scr) in your
project that you want to protect.
Once you have added the file in the Trialware view, you need to select the appropriate
type of trialware and acquire a license.

NOTE InstallShield displays a warning icon ( ) for the item that you added to the Trialware Files
explorer. In order to protect a file, you must specify the corresponding .exe, .dll, .ocx, or .scr
file; the type of trialware; and the license. Once you have specified these settings, InstallShield

changes the warning icon to a protected trialware icon ( ).

Specifying the Type of Trialware


InstallShield enables you to prepare one of two types of trialware:
• Try and Buy/Product Activation—This type lets end users try your product for a
specified number of days or a specified number of uses. You can allow end users
to extend the trial for an additional limited number of days or uses. Once the trial
limit or extension limit has been reached, they can no longer run the product
unless they activate it.
• Try and Die—This type also lets end users try your product for a specified
number of days or a specified number of uses. You can allow end users to extend
the trial for an additional limited number of days or uses. Once the trial limit or
extension limit has been reached, they can no longer run the product.

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

InstallShield Express Edition User Guide 233


Chapter 18: Creating Trialware
Acquiring a License

TASK To specify which type of trialware you want to use:

1. Open the Trialware view.


2. Add a trialware file if you have not already done so, and select the executable file
(.exe, .dll, .ocx, or .scr file) that you want to protect.
3. In the Trialware Type area, select the appropriate type of trialware.

Once you have selected the executable file that you want to protect and the type of
trialware that you want to prepare, you need to acquire a license.

Acquiring a License
A license identifies a protected trial product. Macrovision recommends that you
acquire a unique license for each version of your product. Otherwise, the following
results could occur:
• For Try and Buy/Product Activation trialware—If end users activated version 1.0
of your product and you use the same license to wrap version 2.0, end users would
be able to download version 2.0 and it would be activated. This may be
acceptable, but you may prefer that they purchase version 2.0.
• For Try and Die trialware—If end users try version 1.0 of your Try and Die
product, the trial expires when the predetermined trial limit has been reached.
Thus, the same end users would not be able to also try version 2.0 if you use the
same license to wrap version 2.0.
Under certain conditions, you may want to use the same license for multiple versions
of a Try and Buy/Product Activation product. For example, if all of the following are
true, you could use the same license:
• You are preparing an upgrade for the earlier version of your product that was
wrapped with the Try and Buy/Product Activation type of trialware.
• End users who have activated the earlier version should not need to re-activate
when they apply the upgrade and then run the upgraded product.
• You are not charging existing end users for the upgrade; you are making it
available to all end users who paid for the earlier version.

TASK To acquire a license:

1. Open the Trialware view.


2. Add a trialware file if you have not already done so, and select the executable file
(.exe, .dll, .ocx, or .scr file) that you want to protect.

234 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trial Limits and Extensions

3. In the Trialware Type area of the General tab, select the type of trialware that
you want to create.
4. In the License(s) area, click Acquire. The Acquire New License Wizard opens.
5. Complete the panels in the Acquire New License Wizard. The license server
downloads the license to your machine and stores it in the project file.
6. In the License(s) list, select the license that you just obtained.

If you are acquiring a license for Try and Buy/Product Activation trialware, the
license and product are added to the InstallShield Activation Service Publisher Web
Site.
Once you have specified the license, trialware type, and the executable file on the
General tab, the icon in the Trialware Files explorer changes from a warning icon ( )
to a protected trialware icon ( ). InstallShield cannot protect a file unless you
configure these settings. If you build your project when the warning icon is displayed,
a build error occurs (unless you have chosen to Excluding Trialware Protection from a
Release).

Trial Limits and Extensions


When you create a trial version of your product using InstallShield, you set the trial
limit—either a specific number of days or a specific number of uses. Note the
following details about the trial limit:
• If you set the trial limit to a specific number of days, the trial period starts on the
day that the end user launches your trialware product for the first time. The trial
period starts on that first day even if the end user clicks the Cancel button on one
of the trialware run-time dialogs and does not start using the product.
• If you set the trial limit to a specific number of uses, the countdown for the
number of trial uses starts with the first time that the end user launches your
product. If an end user clicks the Cancel button on one of the trialware run-time
dialogs and does not start using the product, the number of uses does not change.
Note that for per-user installations of trialware, the trialware usage count is per
machine—not per user on the same machine.
In addition to specifying the trial limit, you can specify whether end users are allowed
to extend the trial limit. If you allow trial extensions, you must specify the number of
days or the number of uses that the trial can be extended. You also must specify the
extension serial number that all end users should use to extend the trial.
If you want to prevent end users from evaluating or activating your trialware after a
specific date, you can specify the expiration date. To learn more, see Expiration Dates
for Trialware.

InstallShield Express Edition User Guide 235


Chapter 18: Creating Trialware
Trial Limits and Extensions

Trial Limit and Extension Example for Try and Buy/


Product Activation
To illustrate how the trial limit and a trial extension affect the Try and Buy/Product
Activation type of trialware, consider the following properties and the corresponding
values that are specified on the Advanced tab of the Trialware view:
• Type of Trial Limit = Uses
• Trial Limit Quantity = 20
• Allow Trial Extension = Yes
• Extension Limit Quantity = 10
• Expiration Date = (Does not expire)
The following table shows what happens in this example when an end user chooses to
evaluate your trialware product without activating it.

Table 18-1: Trial Limit and Extension Example for Try and Buy/Product Activation

Usage Number Description


1 through 20 For the first 20 times that the end user launches the product, a trialware
run-time dialog is displayed before the product starts, informing the end
user how many more times the y can use the product without activating
it. If the Product Purchase URL property contains a URL, the run-time
dialog displays a hyperlink that the end user can click to visit a Web
page for information on purchasing the product.
If the end user chooses to evaluate the product without activating it, the
end user can click Finish. Then the trialware run-time dialog closes and
the product starts.

236 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trial Limits and Extensions

Table 18-1: Trial Limit and Extension Example for Try and Buy/Product Activation (cont.)

Usage Number Description


21 When the end user launches the product for the twenty-first time, a
trialware run-time dialog is displayed before the product starts,
informing the end user that the trial has expired and they must activate it
to continue using it.
If the end user clicks Cancel, the trialware run-time dialog closes and the
product cannot be started. The end user can launch the product again,
which again displays this same run-time dialog.
If the end user clicks Next, the trialware run-time dialog prompts the end
user for a serial number that will activate the product.
• If the end user enters the correct extension serial number, the trial
is extended, and the end user can continue using the product 10
more times. When the end user clicks Next, the trialware run-time
dialog closes and the product starts.
• If the end user does not enter the correct extension serial number
(as specified in the Extension Serial Number property in the
Trialware view), the trialware run-time dialog does not permit the
end user to start the product. The end user can try to re-enter the
extension serial number.
• If the end user enters a serial number that was added to the license
through the InstallShield Activation Service Publisher Web Site, the
end user can activate the product. The trialware run-time dialog
closes and the product starts. The trialware run-time dialogs are no
longer displayed.
22 through 30 When the end user launches the product for the twenty-second through
thirtieth times, a trialware run-time dialog is displayed before the product
starts. The dialog informs the end user how many more times the end
user can use the product without activating it.
If the end user chooses to evaluate the product without activating it, the
end user can click Finish. Then the trialware run-time dialog closes and
the product starts.
31 When the end user launches the product for the thirty-first time, a
trialware run-time dialog is displayed before the product starts. The
dialog informs the end user that the trial has expired and the product
must be activated if they want to continue using it. If the Product
Purchase URL property contains a URL, the run-time dialog displays a
hyperlink that the end user can click to visit a Web page for information
on purchasing the product.

NOTE If the end user activates the product, the trialware run-time dialogs are never displayed again.
For details about the end-user experience with activation, see Overview of the Activation
Process.

InstallShield Express Edition User Guide 237


Chapter 18: Creating Trialware
Trial Limits and Extensions

Trial Limit and Extension Example for Try and Die


To illustrate how the trial limit and a trial extension affect the Try and Die type of
trialware, consider the following properties and the corresponding values that are
specified on the Advanced tab of the Trialware view:
• Type of Trial Limit = Days
• Trial Limit Quantity = 20
• Allow Trial Extension = Yes
• Extension Limit Quantity = 10
• Expiration Date = (Does not expire)
The following table shows what happens in this example if an end user starts using
your trialware product on January 1:

Table 18-2: Trial Limit and Extension Example for Try and Die

Date Description
January 1 An end user launches the trialware for the first time on this day.
Therefore, the trial period begins on this day, regardless of what day the
trialware was actually installed on the target machine.
January 1 through Whenever the end user launches the product, a trialware run-time dialog
January 20 is displayed before the product starts, informing the end user how many
days remain in the trial period. For example, on January 18, there are 3
days left in the trial period. If the Product Purchase URL property
contains a URL, the run-time dialog displays a hyperlink that the end user
can click to visit a Web page for information on purchasing the product.
When the end user clicks Next, the trialware run-time dialog closes and
the product starts.

238 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Expiration Dates for Trialware

Table 18-2: Trial Limit and Extension Example for Try and Die (cont.)

Date Description
January 21 through If the end user launches the product during this period, the trialware run-
January 30 time dialog is displayed to inform the end user that the trial period has
expired. If the Product Purchase URL property contains a URL, the run-
time dialog displays a hyperlink that the end user can click to visit a Web
page for information on purchasing the product.
If the end user clicks the icon in the upper-left corner of the dialog and
then clicks Sales Support, the run-time dialog prompts the end user for
the extension serial number:
• If the end user enters the correct extension serial number, the trial
period is extended through January 30 (even if the end user waits
until January 30 to extend the trial). When the end user clicks Next,
the trialware run-time dialog closes and the product starts.
• If the end user does not enter the correct extension serial number,
the trialware run-time dialog does not permit the end user to start
the product. The end user can try to re-enter the extension serial
number.
Note that the countdown for the number of days in the trial extension
period starts the day after the initial trial period ends. This occurs even if
the end user does not immediately extend the trial, but instead waits
several days after the trial period is over to extend it.
January 31 or If the end user tries to use the product, the product cannot be started. A
anytime afterward trialware run-time dialog is displayed to inform the end user that the trial
period has ended. If the Product Purchase URL property contains a URL,
the run-time dialog displays a hyperlink that the end user can click to
visit a Web page for information on purchasing the product.
Note that the end user can no longer extend the trial.

Expiration Dates for Trialware


If you want to prevent end users from evaluating or activating your trialware after a
specific date, you can specify the expiration date. The trial expires when either of the
following conditions is met:
• The current date is on or after the date specified in the Expiration Date property on
the Advanced tab of the Trialware view.
• The end user has used the product for the maximum number of times or uses as
specified in the Type of Trial Limit and Trial Limit Quantity properties on the
Advanced tab of the Trialware view.

Expiration Date Example with the Days Type of Trial Limit


The following table shows what happens under certain conditions when an expiration
date is used. In each scenario, the Type of Trial Limit property is set to Days. Behavior

InstallShield Express Edition User Guide 239


Chapter 18: Creating Trialware
Expiration Dates for Trialware

for the Try and Buy/Product Activation type of trialware and the Try and Die type of
trialware is the same, except where noted.

Table 18-3: The Effect of an Expiration Date on Trialware with the Days Type of Trial Limit

Scenario Result
The end user starts and The expiration date does not affect the trialware.
finishes the trial period and
the trial extension period
before the expiration date.
The end user starts the trial When the number of days remaining is displayed in the trialware
period before the expiration run-time dialogs, it will take into account the expiration date.
date; however, the trial
For example, if the trial limit is set to 30 days, but the end user
period is set to end after the
first launches the trialware 10 days before the expiration date,
expiration date.
the trialware run-time dialog states that 10 days remain in the
trial.
Note that even if trial extensions are allowed, the end user will
not be able to extend the trial because it would occur after the
expiration date.
The end user tries to start The end user cannot run the trialware. The trialware run-time
the trial period after the dialog states that the trial period has ended.
expiration date.
If the type of trialware is Try and Buy/Product Activation and the
end user tries to activate the product, the following run-time
error is displayed:

This product cannot be activated. It has


expired.
The end user starts and The expiration date does not affect the initial trial period.
finishes the trial period
If the end user tries to extend the trial period after the expiration
before the expiration date.
date, the end user will not be able to do so. The trialware run-
Next, the end user tries to
time dialog will state that the trial period has ended.
extend the trial.
If the end user extends the trial period before the expiration date,
the end user can continue evaluating the product, as long as the
end user is extending the trial before the trial extension period is
over. (Note that the countdown for the number of days in the trial
extension period starts the day after the initial trial period ends.
This occurs even if the end user does not immediately extend
the trial, but instead waits several days after the trial period is
over to extend it.)
When the system calculates the number of days remaining in the
trial period, it takes into account the expiration date. If the trial
extension is scheduled to end after the expiration date, the
number of days remaining is decreased accordingly.

240 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Expiration Dates for Trialware

Expiration Date Example with the Uses Type of Trial Limit


The following table shows what happens under certain conditions when an expiration
date is used. In each scenario, the Type of Trial Limit property is set to Uses. Behavior
for the Try and Buy/Product Activation type of trialware and the Try and Die type of
trialware is the same, except where noted.

Table 18-4: The Effect of an Expiration Date on Trialware with the Uses Type of Trial Limit

Scenario Result
Before the expiration date, The expiration date does not affect the trialware.
the end user launches the
trialware the maximum
number of times that are
allowed for the initial trial
limit and the trial extension.
The end user starts using The end user can continue using the trialware until either of the
the product before the following occurs:
expiration date; however,
• The end user launches the trialware the maximum number
the end user does not
of times that are allowed.
(before the expiration date)
launch the trialware the • The current date is the expiration date (or after the
maximum number of times expiration date).
that are allowed. As soon as either of those conditions becomes true, end user
cannot run the trialware. The trialware run-time dialog states that
the trial period has ended.
If the type of trialware is Try and Buy/Product Activation and the
end user tries to activate the product after the expiration date,
the following run-time error is displayed:

This product cannot be activated. It has


expired.
Before the expiration date, The expiration date does not affect the number of initial trial uses
the end user launches the in this scenario.
trialware the maximum
If the end user tries to extend the trial after the expiration date,
number of times that are
the end user will not be able to do so. The trialware run-time
allowed. Next, the end user
dialog will state that the trial period has ended.
tries to extend the trial.
If the end user extends the trial before the expiration date, the
end user can continue evaluating the product until they no longer
have any remaining uses or until the expiration date is reached—
whichever occurs first.

InstallShield Express Edition User Guide 241


Chapter 18: Creating Trialware
Setting the Trial Limit

Setting the Trial Limit

TASK To set the trial limits:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file whose trial limits you want to set.
3. Click the Advanced tab.
4. Set the trial limit–related properties as appropriate for your trialware.

The trial limit–related properties that you should set are:


• Type of Trial Limit
• Trial Limit Quantity
• Allow Trial Extension—If you set this property to Yes, also set the values of the
Extension Limit Quantity and Extension Serial Number properties.
For details about setting the trial limits and allowing a trial extension, see Trial Limits
and Extensions.

Setting or Changing a Trialware Expiration Date


You can set an expiration date to prevent evaluations and activations of your product
after a certain date. Expiration dates are often used for beta versions of a product. For
example, you may want to set the expiration date to the last day of the beta trial
period. When the beta trial period is over, end users can no longer use the trialware
version of your product, even if they have additional days or uses remaining in their
trial.

TASK To set or change the expiration date for your trialware:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file whose expiration date you want to
set.
3. Click the Advanced tab.
4. Double-click the Expiration Date property. The Expiration Date dialog box
opens.
5. Select the I want my trial to expire on this date option.
6. Specify the last day on which any end users should be able to evaluate or activate
your product. You can either type the date in the box or click the arrow to select
the date from a calendar.
7. Click OK.

242 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Removing a Trialware Expiration Date

InstallShield sets the value of the Expiration Date property to the date that you
specified.
If the type of trialware is Try and Buy/Product Activation, end users will not be able to
evaluate or activate your product after the expiration date, even if they have additional
days or uses remaining in their trial.
If the type of trialware is Try and Die, end users will not be able to evaluate your
product after the expiration date.

NOTE The expiration date does not affect how long the Try and Buy/Product Activation type of
trialware can remain activated. Activating this type of trialware before the expiration date will
make it permanently activated, unless end users deactivate the product by uninstalling it. If they
deactivate the product after the expiration date, they will not be able to reactivate it.

TIP If you want to end the life of a product that you distributed as the Try and Buy/Product Activation
type of trialware, you can do so at any time by disabling the product’s license. When you disable
a license, you are preventing end users from using any of its associated serial numbers to
successfully activate the product. To disable a license, you need to use the InstallShield
Activation Service Publisher Web Site. For more information, see the InstallShield Activation
Service Help Library.
To access the InstallShield Activation Service Help Library, log on to the InstallShield Activation
Service Publisher Web Site, and then click the Help link in the upper-right corner of any page.

Removing a Trialware Expiration Date


If you previously set an expiration date for your trialware and you later decide that it
should not have one, you can remove it.

TASK To remove the expiration date for your trialware:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file whose expiration date you want to
set.
3. Click the Advanced tab.
4. Double-click the Expiration Date property. The Expiration Date dialog box
opens.
5. Select the I do not want my trial to have an expiration date option.
6. Click OK.
InstallShield sets the value of the Expiration Date property to (Does not expire).

InstallShield Express Edition User Guide 243


Chapter 18: Creating Trialware
Setting the Hyperlinks for the Trialware Run-Time Dialogs

Setting the Hyperlinks for the Trialware Run-Time


Dialogs
The default values for the hyperlink properties are for pages on the Macrovision Web
site. You must change these default values or delete them before releasing your
trialware. Otherwise, hyperlinks to the Macrovision Web site will be included in your
trialware run-time dialogs.

TASK To set the hyperlinks for the trialware run-time dialogs:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file whose run-time hyperlinks you want
to configure.
3. Click the Advanced tab.
4. Set the URL-related properties as appropriate for your trialware.

Allowing Offline Email Activations


If you want end users to be able to activate your product by email, you can specify an
email address that end users should contact to request an offline activation. This email
address is typically a distribution-list email address that your customer support staff
can monitor regularly.
Note that offline email activation requires manual intervention by both the end user
and by one of your customer support employees; therefore, email activation is more
costly for you to support than online activation. For more information about offline
activations, see Overview of the Activation Process.

TASK To allow offline email activations:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file for which you want to enable offline
email activations.
3. Click the Advanced tab.
4. For the Offline Activation Email property, specify the email address.

The email activation method is presented as an option to the end user only if the end
user’s initial attempt to activate by Internet is unsuccessful

244 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Allowing Offline Phone Activations

Allowing Offline Phone Activations

TASK InstallShield 11.5 Express Edition

If you want end users to be able to activate your product by telephone, you can specify
a phone number that end users should call to request an offline activation. The phone
number that you specify should be your own organization’s phone number—typically,
the phone number for your customer support staff.

CAUTION The request codes and response codes that are used with phone activations are shorter than
the ones that are used with offline email activations; the shorter length of the codes makes it
possible to read the codes over the phone. However, short codes are not as secure as the
longer codes used with email activations. Therefore, Macrovision recommends that you carefully
consider the security risks associated with offline phone activation before offering it as an offline
activation method. Use of this option is at your own risk, and Macrovision accepts no
responsibility if your company experiences security issues.

Note that offline phone activation requires manual intervention by both the end user
and by one of your customer support employees; therefore, phone activation is more
costly for you to support than online activation. For more information about offline
activations, see Overview of the Activation Process.

TASK To allow offline phone activations:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the file for which you want to enable offline
phone activations.
3. Click the Advanced tab.
4. For the Offline Activation Phone property, specify one or more phone numbers.
Details about the format for this property are provided below.
The phone activation method is presented as an option to the end user only if the end
user’s initial attempt to activate by Internet is unsuccessful.

Formatting Guidelines for the Offline Activation Phone


Property
The Offline Activation Phone property on the Advanced tab of the Trialware view
lets you specify the following:
• One or more phone numbers.

InstallShield Express Edition User Guide 245


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

• One or more locations. For example, if you have offices in North America and
Europe, you might want to provide one phone number for customers calling from
North America and a different phone number for customers calling from Europe.
• Other text strings, such as hours of operation.
The format for this property is:
Location1;Phone1|Location2;Phone2

Location1, Phone1, Location2, and Phone2 each represent a different text string. You
can add as many locations and phone numbers as necessary. Use a pipe (|) to separate
each set of locations and phone numbers.
For example, you can set this property to the following value:
North America (English);1-800-555-1234 (Mon. 12 a.m. - Sat. 12 a.m. US
Central)|Europe (English);+44 (0) 555 555 5678 (Mon. 6 a.m. - Sat.
6 p.m. GMT)

For the above example:


• Location1 = North America (English)
• Phone1 = 1-800-555-1234 (Mon. 12 a.m. - Sat. 12 a.m. US Central)
• Location2 = Europe (English)
• Phone2 = +44 (0) 555 555 5678 (Mon. 6 a.m. - Sat. 6 p.m. GMT)
If the end user chooses to use activate by phone, the trialware run-time dialog will
have a drop-down list with the following options:
• North America (English)
• Europe (English)
If the end user selects the North America option, the following text is displayed in the
trialware run-time dialog:
North America (English): 1-800-555-1234 (Mon. 12 a.m. - Sat. 12 a.m. US
Central)

If the end user selects the Europe option, the following text is displayed in the
trialware run-time dialog:
Europe (English): +44 (0) 555 555 5678 (Mon. 6 a.m. - Sat. 6 p.m. GMT)

Trialware Run-Time Dialogs


Whenever an end user launches a protected Try and Die product, a trialware run-time
dialog or message box opens before the application starts. A trialware run-time dialog
also opens if the end user launches a protected Try and Buy/Product Activation
product, but only if it has not yet been activated.

246 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

The following topics describe the end-user experience with Try and Die trialware and
provide sample run-time dialogs:
• Try and Die Dialog (Trial Has Not Expired)
• Try and Die Dialog (Trial Has Expired)
• Try and Die Dialog (Serial Number Required to Extend Trial)
• Try and Die Dialog (Trial Is Extended)
The following topics describe the end-user experience with Try and Buy/Product
Activation trialware and provide sample run-time dialogs:
• Try and Buy/Product Activation Dialog (Choose to Activate or Evaluate)
• Try and Buy/Product Activation Dialog (Enter Serial Number to Activate)
• Try and Buy/Product Activation Dialog (Activating via Internet)
• Try and Buy/Product Activation Dialog (Activation Is Complete)
• Try and Buy/Product Activation Dialog (Trial Has Expired)
• Try and Buy/Product Activation Dialog (Trial Is Extended)
• Try and Buy/Product Activation Message Box (Sample Error for Internet
Activation)
• Try and Buy/Product Activation Dialog (Retry)
• Try and Buy/Product Activation Dialog (Activate by Email)
• Try and Buy/Product Activation Dialog (Activate by Phone)
If an end user resets the machine’s date or time and then tries to run trialware, a
message box opens. For more information, see Trialware Message Box (System Clock
Change).
A walkthrough of the trialware run-time dialogs is available on the Macrovision Web
site.

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

Hyperlinks in the Trialware Run-Time Dialogs


The trialware run-time dialogs contain a number of hyperlinks that you can set or
exclude as appropriate. If you do not specify a uniform resource locator (URL) for
some of the hyperlinks, the hyperlinks that do have specific URLs are automatically
rearranged to eliminate gaps between missing hyperlinked text.
The Help, Privacy Policy, and Feedback hyperlinks, for example, are arranged flush
right near the lower-right corner of the run-time dialogs. If you do not specify a URL
for the Privacy Policy link, the Help link is moved closer to the Feedback link
automatically.

InstallShield Express Edition User Guide 247


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

In most cases, you may want to specify a page on your Web site as the URL. However,
you do have the ability to set a URL property with a mailto URL. If an end user clicks
a mailto URL hyperlink in one of the trialware run-time dialogs, a new email message
is opened in the end user’s email application, and the destination address is populated
in the To field.
For example, if you set the Feedback URL property to the following string, an email
message will open with feedback@mycompany.com in the To field whenever the
end user clicks the Feedback link.
mailto:feedback@mycompany.com

You can also specify the text for the Subject line with the following code, using %20 in
place of spaces:
mailto:feedback@mycompany.com?Subject=My%20Subject

Try and Die Dialog (Trial Has Not Expired)

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

Whenever an end user launches the Try and Die version of a product, a trialware run-
time dialog opens before the application starts.
If the trial has not expired, the trialware run-time dialog displays a message stating
how many days or uses remain in the trial, as shown in the sample dialog below for a
product called Try and Die. The end user can click the Finish button to begin using the
application.
This same dialog is also displayed if the end user has extended the trial and then
launched the product anytime before the trial extension expires.

248 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-4: Sample Try and Die dialog (Trial has not expired.)

Try and Die Dialog (Trial Has Expired)

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

Whenever an end user launches the Try and Die version of a product, a trialware run-
time dialog opens before the application starts.
If the trial has expired, the trialware cannot be started. The trialware run-time dialog
displays a message informing the end user that the trial has ended, as shown in the first
sample dialog below for a product called Try and Die.
When the end user clicks Finish, the trialware run-time dialog closes and the product
does not start.
If the trialware has been configured to allow an extension of the trial, InstallShield
adds a Sales Support menu command to this trialware run-time dialog. This command
is hidden on a menu in the dialog to encourage your prospective customers to
purchase the product rather than try to extend the trial.

InstallShield Express Edition User Guide 249


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

If end users click the icon in the upper-left corner of the dialog, as shown in the second
dialog below, they can select this Sales Support command. Then the next run-time
dialog prompts the end user for the extension serial number.

Figure 18-5: Sample Try and Die dialog (Trial has expired.)

Figure 18-6: Sample Try and Die dialog (Trial extension is allowed.)

250 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Try and Die Dialog (Serial Number Required to


Extend Trial)

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

If the end user clicks Sales Support, as shown in the previous trialware run-time
dialog, the dialog shown below opens to enable the end user to enter the extension
serial number:
• If the end user does not enter the correct extension serial number, the trialware
run-time dialog does not permit the end user to start the product. The end user can
try to re-enter the extension serial number.
• If the end user enters the correct extension serial number and then clicks Next, the
trial is extended for the predetermined number of extension days or uses. When
the end user clicks Next, the next trialware run-time dialog opens.

Figure 18-7: Sample Try and Die dialog (Serial number required to extend trial.)

InstallShield Express Edition User Guide 251


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Try and Die Dialog (Trial Is Extended)

EDITION The Try and Die type of trialware is available in the Premier edition of InstallShield.

If the end user enters the correct extension serial number to extend the trial, the
trialware run-time dialog shows how many days or uses remain in the trial, as shown
in the sample dialog below. The end user can click the Finish button to begin using the
application.
Subsequent launches of an extended trial will show the Trial Is Extended dialog, as
long as the trial extension has not expired.

Figure 18-8: Sample Try and Die dialog (Trial is extended.)

Try and Buy/Product Activation Dialog (Choose to


Activate or Evaluate)
Whenever an end user launches the Try and Buy/Product Activation version of a
product, a trialware run-time dialog opens before the application starts. This occurs
only if the end user has not yet activated the product.

252 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

If the trial has not expired, the trialware run-time dialog presents two options: the
option to activate the product and the option to simply evaluate the product, as shown
in the sample dialog below for a product called Try and Buy.
If end users select the option to activate, the next trialware run-time dialog opens.
If end users do not want to activate the product, they can select the evaluation option
and then click the Finish button to begin using the application.

Figure 18-9: Sample Try and Buy/Product Activation dialog (Choose to activate or evaluate.)

Try and Buy/Product Activation Dialog (Enter Serial


Number to Activate)
If the end user chooses to activate the product, as shown in the previous trialware run-
time dialog, the dialog shown below opens to enable the end user to enter the serial
number.
If the end user enters a serial number and clicks Next, the next dialog shows the
progress of the activation process.
If you allow trial extensions, the end user can enter the extension serial number that
you specified for the Extension Serial Number property in the Trialware view. Doing

InstallShield Express Edition User Guide 253


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

so allows the end user to extend the trial limit (either a specified number of days or a
specified number of uses).

Figure 18-10: Sample Try and Buy/Product Activation dialog (Enter serial number to activate.)

Try and Buy/Product Activation Dialog (Activating


via Internet)
If the end user entered a serial number and clicked Next in the previous trialware run-
time dialog, the dialog shown below opens while online activation (through the
Internet) is attempted.
• If the end user entered a valid serial number in the previous run-time dialog, the
product is activated and the next trialware run-time dialog opens.
• If the end user did not enter a valid serial number in the previous run-time dialog
or if the online activation failed (for example, the end user’s machine does not
have an Internet connection), an error message box opens.
To learn what information is transmitted during the activation process, see Trialware
Technology.

254 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-11: Try and Buy/Product Activation dialog (Activating via Internet)

Try and Buy/Product Activation Dialog (Activation


Is Complete)
If the online or offline activation is successful, the trialware run-time dialog shown
below opens. The end user can click the Finish button to begin using the application.
Once the product has been successfully activated, the trialware run-time dialogs are no
longer displayed.

InstallShield Express Edition User Guide 255


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-12: Try and Buy/Product Activation dialog (Activation is complete.)

Try and Buy/Product Activation Dialog (Trial Has


Expired)
If the Try and Buy/Product Activation trial has expired but the end user has not yet
activated the product, the trialware run-time dialog displays a message informing the
end user that the trial has ended, as shown below.
If the end user clicks Next, the next trialware run-time dialog requests the serial
number. If you allow trial extensions, the end user can extend the trial limit by
entering the extension serial number.
If the end user clicks Cancel, the trialware run-time dialog closes and the product does
not start. At any later time, the end user can return to this run-time dialog by
relaunching the product.

256 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-13: Try and Buy/Product Activation dialog (Trial has expired.)

Try and Buy/Product Activation Dialog (Trial Is


Extended)
If the end user enters the correct extension serial number to extend the trial, the
trialware run-time dialog shows how many days or uses remain in the trial, as shown
in the sample dialog below. The end user can click the Finish button to begin using the
application.
Subsequent launches of an extended trial will show the Choose to Activate or
Evaluate dialog, as long as the trial extension has not expired.

InstallShield Express Edition User Guide 257


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-14: Try and Buy/Product Activation dialog (Trial is extended.)

Try and Buy/Product Activation Message Box


(Sample Error for Internet Activation)
If the online or offline activation is not successful (for example, if the end user did not
enter a valid serial number, or if the target machine does not have an Internet
connection), a trialware message box such as the one shown below opens. When the
end user clicks the OK button, the next trialware run-time dialog opens.

Figure 18-15: Try and Buy/Product Activation message box (Sample error for Internet activation.)

258 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Try and Buy/Product Activation Dialog (Retry)


If the online activation fails, the trialware run-time dialog shown below opens. Several
options are listed:
• Activate by Internet—The end user can choose to retry the Internet activation. If
the end user selects this option, the next dialog shows the activation progress.
• Activate by Email—If you allow email activation, the end user can choose to
activate offline by email. If the end user selects this option, the next dialog
includes a hyperlink for the email address that you specified.
• Activate by Phone—If you allow phone activation, the end user can choose to
activate offline by phone. If the end user selects this option and you had specified
more than one phone number, the Location drop-down list is displayed and
enabled, allowing the end user to select the appropriate location. The next dialog
provides the corresponding phone number.

Figure 18-16: Try and Buy/Product Activation dialog (Retry.)

InstallShield Express Edition User Guide 259


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Try and Buy/Product Activation Dialog (Activate by


Email)
If the end user chooses to activate by email, the trialware run-time dialog shown
below opens. The email address is the one specified in the Trialware view. This email
address is typically a distribution-list email address that your customer support staff
can monitor regularly.
When the end user clicks the email hyperlink, an email message opens. The email
address is listed in the To line. The subject line contains the name of the product,
followed by the words Activation Request. The body of the message contains text
such as the following:
Please send this email to: activate@mycompany.com
You will receive a reply containing the Response Code. Please type the
Response Code into the InstallShield Wizard to complete your
activation.
---------- DO NOT CHANGE THIS PORTION ----------
RequestCode=3542235505225229485160635826433940644854410344082473339601
91274272791826389919985565
SerialNumber=1111111-111-1111111112
---------- DO NOT CHANGE THIS PORTION ----------

where activate@mycompany.com is the email address that was configured for your
trialware. The end user needs to send that message to your organization, and then your
customer support staff needs to reply with a valid response code. (For more
information about email activation, see Allowing Offline Email Activations.) Then
one of the following occurs:
• If the end user enters the response code correctly in the Activation Response Code
box and then clicks Next, the product is activated and the next trialware run-time
dialog opens.
• If the end user enters the response code incorrectly and then clicks Next, an error
message box opens. When the end user clicks OK, the message box closes. The
same run-time dialog shown below remains open, enabling the end user to re-
enter the response code.

260 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-17: Try and Buy/Product Activation dialog (Activate by email.)

Try and Buy/Product Activation Dialog (Activate by


Phone)
If the end user chooses to activate by phone, the trialware run-time dialog shown
below opens. The telephone number is one that you provided in the Trialware view.
The end user needs to call the telephone number listed and provide the serial number
and response code shown in the dialog, and then your customer support staff needs to
read a valid response code to the end user. (For more information about phone
activation, see Allowing Offline Phone Activations.) Then one of the following
occurs:
• If the end user enters the response code correctly in the Activation Response Code
box and then clicks Next, the product is activated and the next trialware run-time
dialog opens.
• If the end user enters the response code incorrectly and then clicks Next, an error
message box opens. When the end user clicks OK, the message box closes. The
same run-time dialog shown below remains open, enabling the end user to re-
enter the response code.

InstallShield Express Edition User Guide 261


Chapter 18: Creating Trialware
Trialware Run-Time Dialogs

Figure 18-18: Try and Buy/Product Activation dialog (Activate by phone.)

Trialware Message Box (System Clock Change)


If an end user attempts to abuse the trial limit by setting back the system clock and
then running Try and Die trialware (either before or after the trial has expired), the
message box shown below opens.
If the end user sets back the system clock before activating a product protected with
Try and Buy/Product Activation, the message box shown below opens. Once the
product has been activated, this message box is never shown, even if the end user sets
back the system clock.
• If the end user clicks Yes, the message box closes, enabling the end user to restore
the date and time.
• If the end user clicks No, the trial ends, and the trialware cannot be started.
This is done to prevent end users from trying to gain more time for their trial by
setting their computer’s date back to an earlier date.

262 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Resetting the License During Development and Testing

Figure 18-19: Trialware message box (System clock change)

Resetting the License During Development and


Testing
Note that if you test a Try and Buy/Product Activation product by running and
activating the protected trial version, you will not be able to restart the entire Try and
Buy/Product Activation experience without removing the license.
If you test a Try and Die product by running the protected trial version, it will expire at
the end of the trial; you will not be able to test your product further on the same test
machine without removing the license.
When you build a release for either type of trialware and the Disable Trialware Build
property in the Releases view is set to the default setting of No, a folder called
TestTools is created and placed in the same folder as the DiskImages folder for the
selected release.

CAUTION Do not release the files in the TestTools folder with your product or make them available to your
customers. Doing so would enable end users to continually restart a trial each time that it
expires. Note that the TestTools files are specific to a particular product and license and cannot
be used to delete licenses for other products.

For each file being wrapped, the TestTools folder contains the following files:
• SCResetLicense<WrappedBaseFileName>.exe
• IsSvcInstSCResetLicense<WrappedBaseFileName>.dll
For example, if a file called Calc.exe is wrapped, the files in the TestTools folder are
SCResetLicenseCalc.exe and IsSvcInstSCResetLicenseCalc.dll.

You can use the TestTools files to remove the license for your product from a
machine, resetting the trialware state. This enables you to restart the trial for your
protected product and retest it. For more information, see Testing a Trialware Release
of Your Product.

InstallShield Express Edition User Guide 263


Chapter 18: Creating Trialware
Informing End Users How to Extend a Trial

Informing End Users How to Extend a Trial


You can configure your trialware so that it allows end users to extend a trial. Note that
if you allow trial extensions, end users can extend the trial only once. They cannot
continually extend the trial.
If you allow trial extensions for your trialware and then end users ask for an extension,
you need to provide them with the extension serial number.
For the Try and Buy/Product Activation type of trialware, end users can simply enter
the extension serial number when the trialware run-time dialogs prompt them for a
serial number to activate the product. The extension serial number does not actually
activate the product; it allows them to continue evaluating the product for an
additional number of days or an additional number of uses.
The instructions below explain how end users would extend a Try and Die trial if it
has expired.

TASK If end users want to extend a Try and Die trial, they need to:

1. Start the trialware product. The trialware run-time dialog displays a message that
states that the trial has ended.
2. Click the icon in the upper-left corner of the dialog, and then click Sales Support.

Figure 18-20: Sample Try and Die dialog (Trial extension is allowed.)

3. Enter the extension serial number that you have provided to them, and then click
Next.

Removing a Trialware File


If you no longer want to include a particular trialware file in your project, you can
remove it.

264 InstallShield Express Edition User Guide


Chapter 18: Creating Trialware
Removing a Trialware File

TASK To remove a trialware file:

1. Open the Trialware view.


2. In the Trialware Files explorer, click the trialware file that you want to remove
from your project.
3. Press Delete.

The trialware file is removed from your project.


If you need to build a release of your product that does not have the trialware
protection, refer to Excluding Trialware Protection from a Release.

InstallShield Express Edition User Guide 265


Chapter 18: Creating Trialware
Removing a Trialware File

266 InstallShield Express Edition User Guide


19
UPDATING APPLICATIONS

Installing upgrades for applications is a much more common operation than installing
the original release of an application. This makes creating effective, reliable upgrades
a very important task.
“Updating Applications” provides solid background information on the different types
of upgrades and also clears up common misconceptions about patching. It helps you
determine the best upgrade solution for your product and guides you through the steps
of creating upgrades and patches. In addition, this section explains how you can use
the Update Service to notify end users that a new version of your product is ready for
release.

Upgrades Overview
The cost of maintaining software applications is often more expensive than the cost of
original development. This makes creating effective, reliable upgrades an important
task. Being able to distribute robust upgrades for an application depends on how the
original installation package was structured and distributed.
Windows Installer provides different methods for implementing three different
upgrade types: small update, minor upgrade, and major upgrade. Upgrades can be
packaged as either a full installation or a patch. A patch is simply another mechanism
for implementing a type of upgrade. With a patch, however, you deliver to your
customers only the bits required to change an installed file into a new file, unlike a full
release.

InstallShield Express Edition User Guide 267


Chapter 19: Updating Applications
Upgrades Overview

Major Upgrades
In a major upgrade, the product changes are large enough to merit changes to both the
product version number and the product code, as well as the package code. An
example is updating version 1.2 of a product to 2.0. A major upgrade acts like a first-
time installation if an earlier version is not present. If an earlier version is present, a
major upgrade typically uninstalls the earlier version and then installs the new version.

How Major Upgrades Work


As the Windows Installer help implies, you must change the product code for the
latest version of your installation in order to perform a major upgrade.

NOTE You can set the product code for your installation in the General Information view. It does not
matter what the new product code is, as long as it is unique.

Once you update the product code for your latest installation, you need to use the
Upgrade Paths view to specify information for any previous version or versions that
you want to upgrade. You can do this in the latest installation project for your product.
For more information about what is involved in creating an upgrade, see Creating
Full-Installation Upgrades.

Major Upgrades at Run Time


When an earlier version of the product is not available on the target machine and the
end user runs a major upgrade, the installation behaves as a first-time installation.
If an earlier version of the product does exist on the target machine and the end user
runs a major upgrade, they will encounter almost the exact same installation
experience as if they were to install the latest application on a clean target machine.
The difference is that before installing its new resources, the installation will first
remove the old application version and its resources from the target machine. This
removal is reflected in the progress bar of the Setup Progress dialog, which gives end
users the ability to see the progress of the uninstallation. After the removal of the
previous installation has completed, the resources from the latest installation will then
be installed onto the target machine.
This type of upgrade is a complete uninstallation and then reinstallation of all of the
resources associated with your application. Therefore, any data for your application
that has been configured by the end user may be completely deleted from the end
user’s machine. If you need to retain some of the end-user data, you will need to create
a custom action that backs up this data, and then replaces it after the installation of
new data has completed.

268 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Upgrades Overview

Minor Upgrades

EDITION You can create a minor upgrade packaged as a full installation in InstallShield Premier Edition or
InstallShield Professional Edition. You can also create a minor upgrade packaged as a
QuickPatch project in InstallShield Premier Edition, InstallShield Professional Edition, or
InstallShield Express Edition.

A minor upgrade is a change to the product database and files large enough to merit a
change to the ProductVersion property but not to the ProductCode property. In
other words, both the package code and the product version number are different than
those in the earlier installation package, but the product code of the minor upgrade
does not change. An example is updating version 1.1 of a product to version 1.2.
Minor upgrades usually do not have significant changes to the installation
organization between versions. A minor upgrade packaged as a full installation acts
like a first-time installation if an earlier version is not present, or it installs over an
existing installation of a product. Essentially for an upgrade of an existing installation,
a minor upgrade installs the differences between your version 1.2 and 1.1 application.

Small Updates

EDITION You can create small updates in InstallShield Premier Edition or InstallShield Professional
Edition.

In essence, a small update is a type of upgrade used to modify a few files for an
installed application; it typically delivers small bug fixes. A small update consists of
product changes (such as hotfixes) so small that no change to the product version is
necessary or desired. A package code change is required for a small update.
A drawback to small updates installed with versions of Windows Installer earlier than
3.0 is that external programs, including installers for later versions of your product,
cannot distinguish between the original version and the updated version. In addition,
Windows Installer versions earlier than 3.0 cannot enforce the correct order in which
small updates should be applied.

Patching

EDITION You can create standard patches in InstallShield Premier Edition or InstallShield Professional
Edition.

InstallShield Express Edition User Guide 269


Chapter 19: Updating Applications
Upgrades Overview

Patching is a streamlined mechanism for updating earlier versions of a Windows


Installer installation package, thereby updating the application. With a patch, you
deliver to your customers only the bits required to change an installed file into a new
file. One benefit of a patch is that the size of the upgrade package can be significantly
smaller than the full-installation package required to deliver the same upgrade.
Keeping an upgrade package as small as possible allows you to more easily deliver
your upgrades over the Internet.
However, you should note that a patch may not always present the best solution. For
example, if you want to change your installation from compressed to uncompressed,
or vice versa, you should package your upgrade as a full installation, but not as a
patch. To learn more about determining the best packaging option for your upgrade,
see Packaging Options for Upgrades.
A patch is delivered in the form of a patch package (.msp) file, which your end user
can apply to an installed product. A patch package is capable of updating as many
earlier versions of an installation package as required. A patch package contains
separate transforms and instructions for updating each previous version that you
specify.
An important aspect of patch creation is generating a patch creation properties (.pcp)
file, which defines the parameters on which the patch package is to be created. The
.pcp file is a database that has a specific schema.

QuickPatch Projects
A QuickPatch project is a specific type of project recommended for installation
authors who want to ship small, single updates to their users. Changes that are more
extensive such as adding custom actions and changing .ini data typically require a
standard patch.
QuickPatch authoring provides a simple alternative to creating a standard patch
(which is available in InstallShield Premier Edition and InstallShield Professional
Edition), even though it provides less customization. Fundamentally, both patch
creation methods produce the same deliverable types: .msp and .exe files.
With a QuickPatch, you can do any of the following:
• Add new files to the original installation or an earlier QuickPatch.
• Delete files in the original installation.
• Delete files that were added with an earlier QuickPatch.
• Perform the same set of above operations on registry entries.
• Remove custom actions that were included with the original installation but that
do not apply to the current QuickPatch project.
The creation of a QuickPatch project always begins with the Create New QuickPatch
Wizard. Completing the wizard ensures that all basic requirements for the QuickPatch

270 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Determining the Best Upgrade Solution

project are met. Then you can configure project settings once the QuickPatch project
opens in InstallShield.

Determining the Best Upgrade Solution


The first step in creating an installation for any type of upgrade is identifying whether
you want to address target systems that do not have any earlier version of your
product. Then you can determine what type of method you should use to package the
upgrade. The following table presents a general overview to help you decide which
method you should use. For a more in-depth discussion of the techniques for
packaging the upgrade, see Packaging Options for Upgrades.

Table 19-1: Possible Upgrade Solutions for Express Projects

Status of the Technique for Packaging the


Type of Installation Needed
Target Systems Update
Some of the target If file size is not an issue, you can Create a full-installation upgrade. For
systems have an create one installation that does more information, see Creating Full-
earlier version of both of the following: Installation Upgrades.
the product, and
• Behaves as a first-time
some do not have
installation if an earlier
any version of the
version of the product is not
product.
already present on the target
system
• Updates an existing product if
it is already installed on the
target system
Some of the target If you want a small installation for For the first-time installation, create a
systems have an end users who need to update an full-installation upgrade. For more
earlier version of earlier version of the product, you information, see Creating Full-
the product, and can create two separate Installation Upgrades.
some do not have installations:
For end users who have an earlier
any version of the
• A full installation that behaves version of your product, you might be
product.
as a first-time installation. able to create a QuickPatch project
• A smaller installation that instead of a full-installation upgrade.
updates one or more earlier To determine if a QuickPatch project is
versions of an already suitable, see Packaging Options for
installed product. Since this Upgrades.
installation consists of only
the changed data between
the versions to be updated, it
usually enables you to deploy
your upgrade using much
less bandwidth than that
required to deploy a full-
installation package.

InstallShield Express Edition User Guide 271


Chapter 19: Updating Applications
Determining the Best Upgrade Solution

Table 19-1: Possible Upgrade Solutions for Express Projects (cont.)

Status of the Technique for Packaging the


Type of Installation Needed
Target Systems Update
All of the target You can create a small installation You might be able to create a
systems have an that updates one or more earlier QuickPatch project instead of a full-
earlier version of versions of an already installed installation upgrade. To determine if a
the product. product. Since this installation QuickPatch project is suitable, see
consists of only the changed data Packaging Options for Upgrades.
between the versions to be
updated, it usually enables you to
deploy your upgrade using much
less bandwidth than that required
to deploy a full-installation
package.

Packaging Options for Upgrades


When you want to prepare an installation that updates a version of your product
installed on an end user’s machine, you can consider two different methods for
packaging your upgrade:
• You can package your upgrade as a full installation that updates an existing
product if an earlier version is installed, or behaves as a first-time installation if no
earlier version is present.
• You can package your upgrade as a QuickPatch that contains only the changed
data (.msi data and byte-level file differences) between the versions to be updated.

Full-Installation Packages
A major upgrade acts like a first-time installation if an earlier version of the product is
not present. If an earlier version is present, a major upgrade typically uninstalls the
earlier version and then installs the new version.

QuickPatch Packages
QuickPatch packages enable you to distribute just the bits and portions of the database
necessary to update your application’s files to a specific version, possibly resulting in
a much smaller package than an upgrade packaged as a full installation. This enables
you to deploy your upgrades using much less bandwidth than that required to deploy a
full-installation package.

NOTE A patch is not a type of upgrade. Patching is simply a mechanism for distributing an upgrade
with a small footprint.

272 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Determining the Best Upgrade Solution

Determining the Best Packaging Option for Your Upgrade


The topic Determining the Best Upgrade Solution includes a table that you can review
to determine what type of packing option you should use to update an earlier version
of your product. In some cases, a QuickPatch may be seem to be the ideal mechanism
for packaging your upgrade. However, under certain conditions, you should package
your upgrade as a full installation instead of a QuickPatch. The following table serves
as a guide to help you determine which type of upgrade best suits your needs. If any
one of the requirements for your upgrade is not appropriate for a QuickPatch, you
should create a full-installation upgrade.

Table 19-2: Full-Installation Upgrade vs. QuickPatch

Requirement for Create a Full-


Create a
the Upgrade or Installation Note
QuickPatch?
QuickPatch Upgrade?
Change the name of Yes No The default file name is
the .msi package taken from the Product
Name property,
provided the .msi file is
not compressed in a
Setup.exe
installation launcher.
Enable end users to Yes No
install earlier
versions and the
latest version on the
same machine
Add a new Yes No
subfeature
Add, modify, or Yes Yes
remove a file
Add, modify, or Yes Yes All new registry data
delete registry data being added with a
QuickPatch must be
associated with a
feature that already
exists in the original
product.
Add, modify, or Yes No
delete a shortcut
Add, modify, or Yes Can only delete
delete custom custom actions that
actions were included in the
original base
installation.

InstallShield Express Edition User Guide 273


Chapter 19: Updating Applications
Determining the Best Upgrade Solution

Table 19-2: Full-Installation Upgrade vs. QuickPatch (cont.)

Requirement for Create a Full-


Create a
the Upgrade or Installation Note
QuickPatch?
QuickPatch Upgrade?
Update a mobile Yes No
device application
Add or remove a Yes No
redistributable
Add, modify, or Yes No
remove ODBC
resources
Edit an .ini file Yes No
Configure server Yes No
settings such as IIS
Web sites and
component services

Also note the following details when you are determining what type of packing option
you should use to update an earlier version of your product:
• If the target image was created with Windows Installer 1.2 or earlier, and the
upgraded image is created with Windows Installer 2.0 or later, you should
package your upgrade as a full installation, but not as a QuickPatch. Creating a
QuickPatch for a package that spans this schema inflection point can be
problematic.
• If you want your upgrade to move one or more files on the target system from one
location to another, you should package your upgrade as a full installation, but not
as a QuickPatch. If your end users install a patch for an upgrade that moves files
on the target system, problems may occur. For example, the patch may not work, a
repair to the target system may not work, a subsequent patch may not work, or end
users may not be able to uninstall the product. As a workaround, you can create
your QuickPatch so that it deletes the files in the old location and adds the files to
the new location.
• If you want to change your installation from compressed to uncompressed, or vice
versa, you should package your upgrade as a full installation, but not as a
QuickPatch. If you use a QuickPatch in this scenario, a repair to the target system
may not work, a subsequent QuickPatch may not work, or the end user may not be
able to uninstall the product.
• If you need to move files from one .cab file to another, or if you need to change
the order of files in a .cab file, you should package your upgrade as a full
installation, but not as a QuickPatch.
• If your original installation had more than 32,767 files but your latest installation
has fewer than 32,767 files, a QuickPatch will fail. Similarly, if your original

274 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

installation had fewer than 32,767 files but your latest installation has more than
32,767 files, a QuickPatch will fail. In either case, you should package your
upgrade as a full installation.
Note that if both the original installation and the latest installation have more than
32,767 (or both have fewer than 32,767 files), you can package your upgrade as a
QuickPatch.

Working with Upgrades and QuickPatch Projects


If you are going to package your upgrade as a full installation, you begin by opening
the latest version of your installation project and making the necessary changes, such
as adding files and registry entries, as needed.
If you would like to package your upgrade as a QuickPatch, you begin by creating a
new project—a QuickPatch project. With a QuickPatch project, you identify which
earlier releases should be patched by your QuickPatch.

EDITION InstallShield Express Edition enables you to create major upgrades as full-installation packages
that remove an earlier version of the product if it is present on the target machine before
installing the new version. InstallShield Express Edition also enables you to create minor
upgrades packaged as QuickPatch packages. If you need to create small updates or standard
patches, consider upgrading to InstallShield Premier Edition or InstallShield Professional Edition.

Refer to the topics in this section to learn how to create upgrades and QuickPatch
projects.

Understanding File Overwrite Rules


The Windows Installer service uses several file overwrite rules, by default, to
determine whether a file included in an upgrade should overwrite a file that already
exists on the target system. The rules apply when the REINSTALLMODE property
uses the o setting to install over older files on the target system. To change this
behavior, you can replace the o option with one of the following values:
• p—Reinstall only if there is no equivalent file on the target system.
• e—Reinstall if the file is missing or if it is an earlier or equal version.
• d—Reinstall if file is missing or different.
• a—Reinstall all files, regardless of version.

Note that the setting for REINSTALLMODE applies to all of the features being
installed; it cannot be set for an individual feature. In addition, setting
REINSTALLMODE to include a will likely cause prompts for the original
installation source during the application of a patch.

InstallShield Express Edition User Guide 275


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Updating the Package Code, the Product Version,


and the Product Code
Several Windows Installer codes help identify a product:
• Package Code—Part of the Summary Information Stream, the package code
identifies a particular database. The package code is not a Windows Installer
property. Any two .msi databases with identical package codes must have
identical contents. Therefore, you should change the package code for each build.
• ProductVersion—This is a Windows Installer property that contains the product
version. Note that Windows Installer uses only the first three fields of the
ProductVersion property for version comparisons. For example, for a product
version of 1.2.3.4, the 4 is ignored. (Note that this is true for comparisons of
ProductVersion values, and not for file versions.)
• ProductCode—This is a Windows Installer property that contains the GUID of a
product. Windows Installer treats two products with different ProductCode
GUIDs as unrelated, even if the values for the ProductName property are the
same.
• UpgradeCode—This is a Windows Installer property that contains a GUID
representing the product family. The UpgradeCode should be consistent across
different versions and languages of a family of related products for patching
purposes. You can set the UpgradeCode for an upgrade in the Upgrade Paths
view.
For any type of upgrade, you must change various combinations of the package code,
product version, and product code in the General Information view to identify the
product being installed. The upgrade code must be the same for all versions of the
product. The following table identifies when each code should be changed for
different types of upgrades.

Table 19-3: Codes that Need to Be Changed for the Different Types of Upgrades

Product
Package Code Product Code Upgrade Code
Version
Small Update X
Minor Upgrade X X
Major Upgrade X X X

Creating Full-Installation Upgrades


Once you have determined that a full-installation upgrade is the best upgrade solution
for you, you can begin to create your upgrade in the Upgrade Paths view. You can

276 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

start by creating a new Express project, or you can open the installation for the latest
version of your product and modify it as needed.
Note that a major upgrade signifies significant change in functionality and warrants a
change in the product code and the product version; you can update these values in the
General Information view.

NOTE When you change the product code, Windows Installer treats your latest and previous product
versions as unrelated, even though the ProductName values are likely the same. If you want
both versions of your product to be installable on the same system, you can simply change the
product code and the main installation directory (often INSTALLDIR).

Upgrade paths are for major upgrades only. The Upgrade Paths view is only for
upgrading an entire installation, and not for upgrading a few files (patching). If you
need patching capabilities, you can create a QuickPatch project.
If you do not use the Upgrade Paths view to create an upgrade for an earlier version of
the product, your end users may need to manually uninstall the earlier version of your
product before installing the new version. The Upgrade Paths view can handle both
the uninstallation of one or more products prior to upgrade, as well as the installation
of the new version. For example, if your users have both 1.0 and 2.0 of your product
installed on their system, and you release 3.0, you can use the Upgrade Paths view to
remove any or both of the earlier versions by adding two entries in the Upgrade Paths
explorer. Each upgrade path must have a separate entry in the Upgrade Paths explorer.
The following table shows the relationship between the product code and the upgrade
code through a first installation version and two product updates. If the upgrade paths
were set up based on this information, version 1.0 would upgrade to either version 1.1
or 2.0; version 1.1 would upgrade to 2.0.

Table 19-4: Sample Codes for Upgrades

Product
Product Code Upgrade Code
Version
1.0 {D73FFD24-6087-4D5A-82AB- {A00700B1-2345-6789-ABCD-
1F6B1A680433} EF0123456789}
1.1 {D73FFD24-6087-4D5A-82AB- {A00700B1-2345-6789-ABCD-
1F6B1A680433} EF0123456789}
2.0 {A1071CCE-11A1-11A2-B1A2- {A00700B1-2345-6789-ABCD-
B3000D067A34} EF0123456789}

For more information on creating an upgrade using InstallShield, refer to this section
of the InstallShield Help Library.

InstallShield Express Edition User Guide 277


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Adding an Upgrade Item


If you have released earlier versions of your product and you want to ensure that end
users are able to upgrade to the current version without manually uninstalling the
earlier version and then also installing the current version, use the Upgrades Path view
to indicate upgrade information.

TASK To add an upgrade item:

1. Open the Upgrade Paths view.


2. Right-click the Upgrade Paths explorer and click New Upgrade Path. The
Open dialog box opens.
3. Do one of the following:

» If the installation for the version that you want to upgrade exists on your
system, browse to the .msi file or the .exe file and then click Open.
InstallShield copies the upgrade code from that earlier version for your
current project.
» If the installation for the version that you want to upgrade is not on your
system, click Cancel.
InstallShield adds a new upgrade item.

Configuring Upgrade Properties


When you add an upgrade item in the Upgrade Paths view, there are several settings
that you can configure. To learn about each of those settings, see Upgrade Path
Settings.

Removing Upgrade Items

TASK To remove an upgrade item from the Upgrade Paths view:

1. Open the Upgrade Paths view.


2. In the Upgrade Paths explorer, right-click the upgrade item and click Delete.

Patching Considerations
Following are some guidelines for creating QuickPatch projects.

278 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Patches for Compressed Installations


The patch creation process requires an uncompressed release of the previous
installations and the latest installation. If the installations are compressed installations,
you can use an administrative image of the releases.
InstallShield automatically creates an administrative image for you if you specify an
uncompressed image in a QuickPatch project.

Windows Installer 3.0 (and Later) and Patches


Windows Installer 3.0 and later includes many patch-related enhancements. If your
patch or QuickPatch will be applied to target machines with Windows Installer 3.0 or
later, you can take advantage of those enhancements. For more information, see the
following:
• Patch Sequencing
• Patch Uninstallation
• Non-Administrator Patches

Patch Sequencing
InstallShield enables you to specify the order that Windows Installer version 3.0 or
later should apply small-update patches to an installed product, regardless of the order
in which they are provided to the target machine. With patch sequencing data, you can
ensure that Windows Installer knows the intended relationships among the upgrades
packaged within a family of patches. Consequently, applying patch 1 of a product
after patch 2 has already been applied will register patch 1 without overwriting patch 2
files. For versions of Windows Installer earlier than version 3.0, the patch sequence is
ignored, and any small-update patches are applied to the product in the order that they
are provided to the target machine.
The patch sequencing functionality available with Windows Installer 3.0 and later
simplifies the patch creation process. The following sections show how.

Creating Patches to Be Applied with Versions of Windows


Installer Earlier than 3.0
If you need to create your patches so that they can be applied to your product via
versions of Windows Installer earlier than 3.0, it is recommended that you avoid
creating small updates. Small updates do not change the product version; therefore,
external programs, including installers for later versions of your product, cannot
distinguish a product with the small update applied from one without the small update.
For scenarios limited to versions of Windows Installer earlier than 3.0, you need to
plan around such limitations of the installer, thus targeting an increasing number of

InstallShield Express Edition User Guide 279


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

possible earlier product states. The sample application lifecycle presented in the
following table illustrates the resulting complexity.

Table 19-5: Sample Application Lifecycle for Patches Applied with Versions of Windows Installer
Earlier than 3.0

Product
Application Package Previous Setups Targeted by Package
Version
1. Base installation 1.0 —
2. Minor upgrade 1.1 1.0
3. Minor upgrade 1.2 1.0, 1.1
4. Minor upgrade 1.3 1.0, 1.1, 1.2
5. Minor upgrade 1.4 1.0, 1.1, 1.2, 1.3
6. Major upgrade 2.0 1.0, 1.1, 1.2, 1.3, 1.4

Creating Patches to Be Applied with Windows Installer 3.0


With the patch sequencing functionality available with Windows Installer 3.0 and
later, you can safely use a small-update patch to deliver a discrete upgrade for several
different versions of a product, even though small updates do not change the product
version. Unlike a small update, a minor upgrade changes the product version. Minor
upgrades also form the framework for the sequencing of small-updates patches. If a
small update for version 1.1 of a product is applied to version 1.2, the installer
registers the small update on the target system and applies it as if it were encountered
before the 1.2 minor upgrade was applied.
Small-update patches also enable Windows Installer 3.0 and later to maintain a valid
product state as other patches are applied and removed individually from the product.
In addition, patch sequencing lets you generate upgrade packages from a smaller set of
earlier product states without requiring you to consider every possible combination of
patches that could exist on the target machine. The sample application lifecycle
presented in the following table illustrates this advantage.

Table 19-6: Sample Application Lifecycle for Patches Applied with Windows Installer 3.0

Patch
Product Previous Setups Targeted
Application Package Sequence
Version by Package
Number
1. Base installation — 1.0 —
2. Small update 1 1.0 1.0
3. Small update 2 1.0 1.0
4. Small update 3 1.0 1.0

280 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Table 19-6: Sample Application Lifecycle for Patches Applied with Windows Installer 3.0 (cont.)

Patch
Product Previous Setups Targeted
Application Package Sequence
Version by Package
Number
5. Small update 4 1.0 1.0
6. Minor upgrade — 1.1 1.0

All of the small updates in the table above belong to the same patch family. Windows
Installer 3.0 and later uses the patch family to compare a small-update patch with all
of the other patches within the same family and determine the order in which each of
the patches should be applied to the target machine. Patch sequences are added to the
MsiPatchSequence table of the patch package database. This table defines the
relationships between patches that target the same family of patches.

Patch Uninstallation
Windows Installer 3.0 or later supports the uninstallation of patches for small updates
and minor upgrades; the patches to be uninstalled must have been installed with
Windows Installer 3.0 or later. When a patch is uninstalled, the product is returned to
the state it was in before the patch was uninstalled. With earlier versions of Windows
Installer, an end user who wants to remove a patch needs to uninstall the patched
product and then reinstall the product without applying the patch. In this case, any
patches that should not be removed must be reapplied.
End users can uninstall patches through Add or Remove Programs on systems running
Windows XP SP2 and later. For systems running Windows Installer 3.0 or later with
earlier versions of Windows, patches must be uninstalled from the command line. For
more information, see Uninstalling Patches in the Windows Installer Help Library.
The uninstallation of patches is not enabled by default because not all patches can be
uninstalled. For example, a major upgrade packaged as a patch cannot be uninstalled.
It is recommended that you thoroughly test the uninstallation of your patch before
deploying it to your end users. To learn more about patches that are not uninstallable,
see Uninstallable Patches in the Windows Installer Help Library.

Non-Administrator Patches

EDITION Non-administrator patches cannot be created with InstallShield Express Edition. In order to
create non-administrator patches, you must have InstallShield Premier Edition or InstallShield
Professional Edition.

InstallShield Express Edition User Guide 281


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Windows Installer 3.0 and later enables you to create patches that can be installed by
non-administrators. Non-administrator patches can be used if all of the following
criteria are met:
• The target machine must be running Windows Installer 3.0 or later on the
Microsoft Windows XP or later client platform. Server platforms are not
supported.
• The application was installed from a removable media such as a CD-ROM or
DVD.
• The application was installed in a per-machine context.

NOTE If the ALLUSERS property is overwritten at the command line, non-administrator patches will fail.
• The base installation must include the certificate that will be used to sign all
subsequent patches.
• The base installation must include the MsiPatchCertificate table. This table
provides the signer certificate that will be used to verify the digital signature of
subsequent patches when they are applied by a non-administrator. If necessary,
this table can contain multiple certificates, and subsequent patches would need to
be able to verify at least one of the certificates. For more information, see
Preparing Installations for Non-Administrator Patches.
• The non-administrator patch must contain the MsiDigitalCertificate table. This
table contains the signing certificates for the signed patches.
If any of the above criteria are not met, end users cannot install the digitally signed
patch in a locked-down environment.
A typical scenario in which non-administrator patches are used is the computer game
industry. Some computer game users are children who might not have access to areas
of the system other than folders in their own user profile and registry keys under
HKEY_CURRENT_USER. Their parents would have administrative access to the
machines so that they can control what is installed and what their children can access.
Parents would install any and all applications. If patches are available for the installed
software, children would be able to download and install non-administrator patches
without help from their parents, as long as all of the above criteria have been met.

Creating a QuickPatch Project and Applying


QuickPatch Packages

NOTE You can create a QuickPatch to update an earlier version of your product only if the earlier
version was installed using Windows Installer.

282 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

A QuickPatch project is recommended for installation authors who want to ship small,
single upgrades to their users. QuickPatch authoring provides a simple alternative to
creating a patch in the Patch Design view, even though it provides less customization.
Fundamentally, both patch creation methods produce the same deliverable types: .msp
and .exe files.
To create a QuickPatch project for an existing .msi file or an already existing
QuickPatch, use the Create New QuickPatch Wizard. Completing the wizard ensures
that all basic requirements for the QuickPatch project are met.

Creating a QuickPatch Project for an Existing QuickPatch


You can create a new QuickPatch project based on an existing QuickPatch project.
This creates a patch that you can deliver to any end users who need to apply a patch
for the original application or specific patched versions of the application.

CAUTION If you open and modify any of the releases listed in the History of the General Information view,
your latest project will not work, since intermediate data shared across the releases in the
History may have been lost or altered. Therefore, whenever you create a QuickPatch project for
an existing QuickPatch project, InstallShield changes the existing QuickPatch project (.ise file) to
read-only mode.

TASK To create a QuickPatch project for an existing QuickPatch project:

1. In InstallShield, open the QuickPatch project (.ise file) that you would like to
patch.
2. Open the General Information view.
3. In the General Information explorer, click History.
4. Click Create Next Version.

Your new QuickPatch project opens in InstallShield.


You can also use the Create New QuickPatch Wizard to create a QuickPatch for an
existing QuickPatch.

Specifying Target Releases for Patching

TASK To specify which releases should be patched by your QuickPatch project:

1. Open the General Information view.


2. In the General Information explorer, click History.

InstallShield Express Edition User Guide 283


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

3. Select or clear the check boxes next to the intermediate releases—the releases in
between the Base QuickPatch Image and the current QuickPatch image—to
specify whether or not you want them to be patched by the current project.

NOTE You cannot clear the check box for the Base QuickPatch Image or the current project. If you
clear the check box of an intermediate QuickPatch project, your current QuickPatch project
cannot be used to upgrade a machine that has that intermediate image as the latest image of
your application.
For example, suppose you distributed version 1.0 as an installation and later released a patch
that upgrades the original installation to version 1.1. If you create a version 1.2 QuickPatch and
the check box for the 1.1 QuickPatch is not selected in the History, your 1.2 QuickPatch can be
used to upgrade the 1.0 release but not the 1.1 release.

Specifying Custom Actions for the QuickPatch to Execute

TASK To specify which custom actions should be run when your QuickPatch is applied:

1. Open the General Information view.


2. In the General Information explorer, click Custom Action.
3. Select or clear the check boxes next to the custom actions to specify whether or
not you want them to be run during the installation of your QuickPatch.

Adding Files to a QuickPatch

TASK To add a file to your QuickPatch:

1. Open the Files view.


2. Right-click the Files To Patch explorer and then click Insert New File. The
Open dialog box opens.
3. Click the file that you want to add, and then click Open. InstallShield adds the file
to the Files To Patch explorer.
4. Click the new file and then configure its settings.

Enabling the Uninstallation of a QuickPatch


Windows Installer 3.0 and later supports the uninstallation of QuickPatch packages
for small updates and minor upgrades. However, not all QuickPatch packages can be
uninstalled. For details about the uninstallation of standard patches and QuickPatch
packages, including the associated limitations, see Patch Uninstallation.

284 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

TASK To enable the uninstallation of a QuickPatch package:

1. In the General Information view, click Build Settings, and then click the
Uninstall tab.
2. Select the Allow this patch to be uninstalled check box.
3. Define the patch metadata. The metadata is used to populate uninstall information
in Add or Remove Programs for a QuickPatch.

Sequencing QuickPatch Packages

TASK To define a sequence for a QuickPatch package:

1. In the General Information view, click Build Settings, and then click the
Advanced tab.
2. Do one of the following:

» To use default patch sequencing that InstallShield generates, set the Create
patch sequencing entry property to Yes.
» To use no patch sequencing, set this property to No.

Signing a QuickPatch Package


Windows Installer 3.0 and later enables you to create patches that can be installed by
non-administrators. Non-administrator QuickPatch packages can be used if strict
criteria are met. For example, the base installation that the patch will update must
include the certificate that will be used to sign the patch package. To learn about the
other criteria that must be met, see Non-Administrator Patches.

EDITION Non-administrator patches cannot be created with InstallShield Express Edition. In order to
create non-administrator patches, you must have InstallShield Premier Edition or InstallShield
Professional Edition.

InstallShield Express Edition User Guide 285


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Deleting Files from the Files To Patch Explorer

TASK To delete a file from the Files To Patch explorer:

1. In your QuickPatch project, open the Files view.


2. Right-click the file that you want to delete and then click Delete.

Modifying and Removing Installed Files with a QuickPatch

TASK To modify or remove an installed file with your QuickPatch:

1. Open the Files view.


2. Right-click the Files To Patch explorer and then click Patch Existing File. The
Select File dialog box opens.
3. Click the file that you would like to modify or delete. InstallShield adds the file to
the Files To Patch explorer.
4. Click the file that you just added to the Files To Patch explorer and then
configure its settings.

TIP As an alternative to steps 3 and 4 above, you can drag and drop files or folders from the
Original Setup Files explorer to the Files To Patch explorer.

Adding, Modifying, and Deleting Registry Data with a


QuickPatch
When you add, modify, or delete registry data with a QuickPatch project, the
procedures are basically the same as the ones that you perform for the original
installation. The one difference is that before you can add registry data for a
QuickPatch project, you must select an existing feature in the View Filter list at the
top of the Registry view. All registry data must be associated with a feature that
already exists in the original product because you cannot add new features with a
QuickPatch.

TIP To change any registry settings that you modified for the QuickPatch project, you can right-click
the item and then click Revert.

286 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

Patching Assemblies in the Global Assembly Cache


With Windows Installer 3.0 or later, the MsiPatchOldAssemblyFile and
MsiPatchOldAssemblyName tables enable a patch package to patch an assembly in
the global assembly cache (GAC) without making a run-time request for the original
installation source. By default, InstallShield automatically generates entries for these
tables when you build a QuickPatch package. (To disable this automatic generation in
a QuickPatch project, set the Generate MsiPatchOldAssembly tables property to
No. In a QuickPatch project, this property is on the Advanced tab of the Build Settings
item in the General Information view.)

NOTE To automatically generate entries for the MsiPatchOldAssemblyFile and


MsiPatchOldAssemblyName tables, InstallShield must have write access to the latest version
of the .msi package to which the patch applies. InstallShield modifies this package before
creating the patch. InstallShield automatically attempts to make this package writable; if it
cannot, a build warning is generated, and the table entries are not created.
These table entries are applied only if the target system is running Windows Installer 3.0 or
later. The patch runs if the system is running Windows Installer 2.0; however, these tables are
ignored, and if the patch needs to update a file in the GAC, it makes a request for the original
source package. InstallShield generates these table entries even if you include only the Windows
Installer 2.0 engine in Update.exe, since a target system with Windows Installer 3.0 or later
already installed can use them.

Applying a QuickPatch
A QuickPatch package (.msp) file contains the transforms and instructions necessary
for upgrading one or more installed versions of a product.
Before you can apply a QuickPatch package, Windows Installer version 1.1 or later
must be present on the system. In addition, the package that you want to update must
be installed locally or as an administrative image. A further requirement is that the
existing installation package be installed with the same privileges and for the same
users as the QuickPatch package. For example, if the product was installed for all
users, the update should be installed for all users, as well.
The easiest way to apply a QuickPatch is to double-click the .msp file in Windows
Explorer or right-click the file and then click Open. When you apply a patch for a
minor upgrade, a PatchWelcome dialog is the first dialog that opens. When you apply
a patch for a major upgrade, the full dialog sequence appears, as when you run an
installation standalone.
From the command line, you can apply a patch with the MsiExec.exe /p option. Type
the following statement to apply a patch package located at X:\Product
Updates\Build 36\PatchForV1.msp:

InstallShield Express Edition User Guide 287


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

msiexec /p "X:\Product Updates\Build 36\PatchForV1.msp"Update.exe

If you selected the Create Update.exe check box for your QuickPatch configuration in
the Build Settings area of the General Information view, InstallShield wraps your
.msp file in an executable file. Update.exe launches your patch package with the
following command-line expression:
msiexec /p <path to .msp file> REINSTALL=ALL REINSTALLMODE=omus

Applying a QuickPatch in Silent Mode


There are two ways you can apply a QuickPatch in silent mode: either launch
MsiExec.exe with the /qn command-line parameter, or pass /s to Update.exe.
There is an important consideration to bear in mind when applying a QuickPatch in
silent mode. In order to operate correctly, the Windows Installer property
REINSTALL must be set to ALL and REINSTALLMODE to omus whenever you
apply a QuickPatch. Since Update.exe always sets these properties at the command
line, you do not have to do anything extra if your QuickPatch package is applied with
Update.exe.

When a QuickPatch package is applied with a full user interface, one of your
installation’s default dialogs, PatchWelcome, is displayed. It includes control events
to set REINSTALL and REINSTALLMODE with the correct options. However,
since this dialog is not displayed when the end-user interface is suppressed, you must
set the properties at the command line, as demonstrated below:
msiexec /p <path to .msp file> /qn REINSTALL=ALL REINSTALLMODE=omus

Because a QuickPatch does not modify the existing cached .msi database, including
the v setting for REINSTALLMODE is unnecessary.

Notifying End Users about Upgrades Using the


Update Service
The Update Service provides a mechanism that enables you to automatically notify
your Web-connected end users when patches, updates, and product information for
your application are ready for release. The Update Service Starter Edition is included
with InstallShield.

Update Service Implementation


There are two cycles of tasks that you perform when using the Update Service to
automatically inform end users about updates: initial deployment and update
deployment. Once you have performed the initial deployment steps for your
application, each time you want to distribute an update of that application to your

288 InstallShield Express Edition User Guide


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

customers, you perform the update deployment cycle of steps. To learn about the
initial deployment steps, see Preparing Installations for Update Notification.

Update Deployment
1. Use InstallShield to create an update for your application.
2. Register your new product version and product code with the Update Service
Publisher Web Site, a Web-based management portal.
3. Publish your update to the Update Service Publisher Web Site, and set the
Message Status to Test.
4. Test your update.
5. Publish your update to the Update Service Publisher Web Site, and set the
Message Status to Active.
To learn more about the capabilities of the Starter Edition, visit the Macrovision Web
site. To access the Update Service documentation, see the Update Service Help
Library.

InstallShield Express Edition User Guide 289


Chapter 19: Updating Applications
Working with Upgrades and QuickPatch Projects

290 InstallShield Express Edition User Guide


20
ADDITIONAL INSTALLATION OPTIONS

In addition to helping you create an installation package that installs products,


InstallShield provides other installation options to help you enhance your final
installation package. Read more about additional installation options in this section.

Including the Windows Installer Service with an


Installation
Although the Windows Installer service is built into Windows 2000, Windows Me,
Windows XP, and Windows Vista, other Windows platforms require that the service
be installed before any Windows Installer installations can run on those systems. In
addition, your installation may depend on certain functionality that is available in only
the latest versions of Windows Installer. InstallShield gives you the option of
including with your installation the Windows Installer service in a self-extracting
executable file called Setup.exe.
During an installation, Setup.exe determines if Windows Installer is already installed
on the target system. If the required version of Windows Installer is found on the
target system, your installation package is launched. If Windows Installer is not
installed, or a more recent version needs to be installed, Setup.exe installs Windows
Installer and then launches your installation package.
For Web-deployable installations, you can alternately specify a URL that the
installation can refer to for the Windows Installer engine. If the engine is required
during installation, it is downloaded at that time, reducing the size of your installation.
The Build Your Release view is where you specify whether your installation should
include the Windows Installer engine. This view also has settings for the version
number and the Windows Installer location. If you are unsure what platforms your end

InstallShield Express Edition User Guide 291


Chapter 20: Additional Installation Options
Including the Windows Installer Service with an Installation

users run, you might want to include more than one version of the Windows Installer
engine with your installation package.

Distributing Version 1.2 Instead of 2.0 of the


Windows Installer Engine
When you select to include a Windows Installer engine with your installation,
InstallShield by default includes the Windows Installer 2.0 engine. Windows Installer
2.0 is supported on all current Windows platforms except for Window NT running
service packs prior to SP6. If you need to deploy to NT4 without SP6, you need to use
Windows Installer 1.2.

TASK To include Windows Installer 1.2 instead of Windows Installer 2.0:

1. Create a backup folder to hold the Windows Installer 2.0 engines, should you need
to reverse the procedure.
2. Copy MSIEng.isc and Setup.ini from the InstallShield Program Files
Folder\Support directory to the backup folder.
3. Copy instmsiA.exe and instmsiW.exe from the InstallShield Program
Files Folder\Redist\Language Independent\i386 directory to the backup
folder.
4. Copy MSIEng.isc and Setup.ini from the InstallShield Program Files
Folder\Redist\Language Independent\i386\MSI 1.2 directory to the
InstallShield Program Files Folder\Support directory.
5. Copy instmsiA.exe and instmsiW.exe from the InstallShield Program
Files Folder\Redist\Language Independent\i386\MSI 1.2 directory to the
InstallShield Program Files Folder\Redist\Language
Independent\i386\ directory.
6. Change string 1150 in the language-specific .ini file (0x409.ini for English,
0x0411 for Japanese, etc.) in the InstallShield Program Files
Folder\Support directory to indicate that Windows NT 4 SP3 is required, instead
of SP6.
7. Update the Windows Installer version number in the registry:

a. On the Windows Start menu, click Run. The Run dialog box opens.
b. In the Open box, type regedit.
c. Navigate to registry key
HKEY_LOCAL_MACHINE\SOFTWARE\InstallShield\11.50\Express.
d. Double-click the Msi Version value.
e. Change the Value data to 1.20.1827.0 and click OK.
f. Close the Registry Editor.

292 InstallShield Express Edition User Guide


Chapter 20: Additional Installation Options
Specifying Target System Requirements

8. Launch InstallShield, and either open an existing project or create a new project.
9. Open the Build Your Release view.
10. In the Builds explorer, click WebDeployment.
11. If you are enabling Web download of the Windows Installer engines, change the
value of URL for MSI 9x Engine to
www.Installengine.com\Msiengine\instmsia.exe and the value of URL for
MSI NT Engine to www.Installengine.com\Msiengine\instmsiw.exe.
After you have finished this procedure, when you include Windows Installer engines
in an installation, InstallShield includes the Windows Installer 1.2 engines.
The last step must be repeated for each separate project for which you include the
Windows Installer 1.2 engines for download.

TASK To reverse the procedure and include the Windows Installer 2.0 engines:

1. Copy MSIEng.isc and Setup.ini from your backup folder to the InstallShield
Program Files Folder\Support directory.
2. Copy instmsiA.exe and instmsiW.exe from your backup folder to the
InstallShield Program Files Folder\Redist\Language
Independent\i386\ directory.
3. Change string 1150 in the language-specific .ini file (0x409.ini for English,
0x0411 for Japanese, etc.) in the InstallShield Program Files
Folder\Support directory to indicate that Windows NT 4 SP6 is required, instead
of SP3.
4. Update the Windows Installer version number in the registry:

a. On the Windows Start menu, click Run. The Run dialog box opens.
b. In the Open box, type regedit.
c. Navigate to registry key
HKEY_LOCAL_MACHINE\SOFTWARE\InstallShield\11.50\Express.
d. Double-click the Msi Version value.
e. Change the Value data to 2.0.2600.1 and click OK.
f. Close the Registry Editor.
Once the process has been reversed, your installations will include the Windows
Installer 2.0 engines when you include Windows Installer engines in your release.

Specifying Target System Requirements


InstallShield enables you to easily set installation requirements for the target system.
For example, if your product requires a specific operating system or application in

InstallShield Express Edition User Guide 293


Chapter 20: Additional Installation Options
Specifying Target System Requirements

order to run properly, you can indicate that in your installation project. If the target
system does not meet the requirement, the installation exists.

Specifying Operating System Requirements for


Your Application

TASK To specify operating system requirements for target systems:

1. Open the Requirements view.


2. Select System Hardware Requirements.
3. Click the OS Version setting.
4. In the lower-right pane, select the operating system check boxes that can be used
with your application. Clear the check boxes for any operating systems that are
not supported.
InstallShield updates the value of the OS Version setting.

Specifying Processor Requirements for Your


Application
If your product requires a certain processor class, you can ensure that your application
is not installed on systems with incompatible processors. If the target system has a
processor that is less than the minimum selected, the installation exits.

TASK To specify processor requirements for target systems:

1. Open the Requirements view.


2. Select System Hardware Requirements.
3. In the Processor field, select the appropriate processor.

Specifying RAM Requirements for Your Application


If your product requires a certain amount of RAM in order to run properly, you can
ensure that your product is not installed on systems with insufficient memory. If the
target system does not have the minimum amount required, the installation exits.

294 InstallShield Express Edition User Guide


Chapter 20: Additional Installation Options
Specifying Target System Requirements

TASK To specify RAM requirements for target systems:

1. Open the Requirements view.


2. Select System Hardware Requirements.
3. In the RAM field, select the appropriate value.

Specifying Screen Resolution Requirements for


Your Application
If your product requires a certain screen resolution in order to run properly, you can
ensure that your product will not be installed on systems with lower screen
resolutions. If your installation is run on a machine with a lower resolution than what
you specify, the installation exits.

TASK To specify screen resolution requirements for target systems:

1. Open the Requirements view.


2. Select System Hardware Requirements.
3. In the Screen Resolution field, select the appropriate value.

Specifying Color Depth Requirements


If your product requires a certain color depth in order to run properly, you can ensure
that your product will not be installed on systems with lower color depths. If the target
system has a color depth that is less than the minimum selected, the installation exits.

TASK To specify color depth requirements for target systems:

1. Open the Requirements view.


2. Select System Hardware Requirements.
3. In the Color Depth field, select the appropriate value.

InstallShield Express Edition User Guide 295


Chapter 20: Additional Installation Options
Working with Windows Installer Properties

Specifying Software Requirements for Your


Application

TASK To specify software requirements for target systems:

1. Open the Requirements view.


2. Select System Software Requirements. The software launch conditions are
listed below System Software Requirements in the explorer.
3. To edit a condition status, click the setting next to the condition until the
appropriate icon appears next to it:
Table 20-1: Icons for the System Software Requirements Conditions

Icon Description
The software condition must be true in order for the installation to proceed.

The software condition must be false in order for the installation to proceed.

The software condition is not checked and does not affect the installation.

4. To add a new software condition to the existing requirements list, right-click the
System Software Requirements explorer and click Create New Condition
(System Wizard).

Working with Windows Installer Properties


Windows Installer properties enable you to use variables for common paths and user
information throughout your installation. These properties can be used in dialog text,
.ini file changes, custom actions, and registry entries. For a list of these properties, see
Windows Installer Properties.
Whenever these properties are used, they should be surrounded by square brackets.
For example, to display the installation directory on a dialog, you may enter the
following in the Text and Messages view:
This program will be installed to [INSTALLDIR]

To the end user, this sentence appears as follows:


This program will be installed to C:\Program Files\Your Company\Your
Product

296 InstallShield Express Edition User Guide


Chapter 20: Additional Installation Options
Working with Windows Installer Properties

Windows Installer Properties


Windows Installer properties allow you to reference certain aspects of your
installation through the Windows Installer service. These properties can be used in
custom actions, .ini file keyword values, and in dialog text. For information on how to
use these properties, see Working with Windows Installer Properties.

Table 20-2: Windows Installer Properties

Property Description
SOURCEDIR This property stores the root directory where all the source files are
located.

In the following three scenarios involving build settings,


SOURCEDIR should be referred to during installation only. In
these circumstances, the setup image runs from a temporary
location that is removed following installation.
• Custom builds when the Include Setup.exe option is set
to Yes and the Compress Media option is set to Yes
• SingleImage builds when the Include Setup.exe option
is set to Yes and the Copy Media to Target Machine
option is set to No
• WebDeployment builds when the Copy Media to Target
Machine option is set to No
SETUPEXEDIR is an alternative to the directory identifier
SOURCEDIR. A potential problem with using SOURCEDIR is that it
points to the location of the running MSI package. In the case of a
compressed installation, the MSI package is streamed to a
temporary location and run from there. Because of this, the value
of SOURCEDIR will be some temporary location on the end user’s
machine, which might not be the value you want.

InstallShield Express Edition User Guide 297


Chapter 20: Additional Installation Options
Working with Windows Installer Properties

Table 20-2: Windows Installer Properties (cont.)

Property Description
SETUPEXEDIR The SETUPEXEDIR property contains the path to Setup.exe. For
example, if the path to Setup.exe is C:\MySetups\MyApp\Setup.exe,
the value of SETUPEXEDIR is C:\MySetups\MyApp.

There are two limitations to using SETUPEXEDIR:


• SETUPEXEDIR is set by Setup.exe. If the end user runs
the MSI package directly, SETUPEXEDIR is not set. To
account for this, you could have a dual implementation in
your installation—one that uses SETUPEXEDIR and one
that uses SourceDir. You could test for the existence of
SETUPEXEDIR and, if it does not exist, you could
conditionally use your SourceDir implementation.
• SETUPEXEDIR might not be set at uninstallation. If the end
user triggers the uninstallation by running Setup.exe,
SETUPEXEDIR is set. If they run the uninstallation from
Add/Remove Programs in the Control Panel,
SETUPEXEDIR is not set.
Note that in an uncompressed installation, SOURCEDIR and
SETUPEXEDIR have the same value.
TARGETDIR The TARGETDIR property is the location where the Windows
Installer package is copied during an administrative installation.
INSTALLDIR This property sets the destination folder for your installation. All of
your application files will be installed to this folder by default.
COMPANYNAME This property stores the organization name for the user performing
the installation. This information is taken from the Customer
Information dialog.
USERNAME This property stores the name of the user performing the
installation, which is taken from the Customer Information dialog.
ProductCode The ProductCode is the GUID for this particular version of the
product. This ID must be different for different language versions
and different release versions. This property is set in the General
Information view.
ProductName This property stores the name of the product—for example,
InstallShield. This property is set in the General Information view.
ProductVersion The ProductVersion property stores the major, minor, and build
version numbers in the format AA.BB.CCCC. This property is set in
the General Information view.
AppDataFolder This property holds the full path to the current user’s Application
Data folder.

298 InstallShield Express Edition User Guide


Chapter 20: Additional Installation Options
Working with Windows Installer Properties

Table 20-2: Windows Installer Properties (cont.)

Property Description
CommonFilesFolder The value of this property is the full path to the Common Files folder
for the current user.
DesktopFolder This property is used to hold the full path to the Desktop folder for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
DesktopFolder property should hold the full path to the All Users
desktop folder.
FavoritesFolder The FavoritesFolder property retains the full path to the Favorites
folder for the current user.
FontsFolder This property holds the full path to the Fonts folder.
PersonalFolder This property holds the full path to the current user’s Personal
folder.
ProgramFilesFolder This property holds the full path to the current user’s Program Files
folder.
ProgramMenuFolder This property is used to hold the full path to the Program menu for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
ProgramMenuFolder property should hold the full path to the All
Users Program menu.
SendToFolder This property holds the full path to the current user’s SendTo
folder.
StartMenuFolder This property is used to hold the full path the Start menu folder for
the current user. If the installation is being run under NT/200/XP for
All Users, and the ALLUSERS property is set, then the
StartMenuFolder property should hold the full path to the All Users
program menu.
StartupFolder This property is used to hold the full path to the Startup folder for
the current user. If the installation is being run under NT/200/XP for
All Users, and the ALLUSERS property is set, then the
StartupFolder property should hold the full path to the All Users
program menu.
System16Folder This property holds the full path to the folder containing the
system’s 16-bit DLLs.
SystemFolder This property holds the full path to the System folder.
TempFolder This property holds the full path to the Temp folder.
TemplateFolder This property holds the full path to the current user’s Template
folder.
WindowsFolder This property holds the full path to the Windows folder.
WindowsVolume This property is set to the drive where Windows is installed.

InstallShield Express Edition User Guide 299


Chapter 20: Additional Installation Options
Implementing Serial Number Validation During the Run Time

Implementing Serial Number Validation During the


Run Time
As part of your installation, you can require end users to enter a valid serial number.
You can do this through a custom action .dll file and the Customer Information run-
time dialog.

TASK To implement serial number validation for your product:

1. Open the Dialogs view.


2. In the Dialogs explorer, click Customer Information.
3. Set the value of the Show Serial Number field to Yes.
4. In the Serial Number Template field, specify the format for your product’s serial
number. For example, type the following:
??????-####-??????????

Note the following guidelines for this field:


» Type a question mark (?) to represent each alphanumeric character.
» Type a number sign (#) to represent each number.
» Type a dash (-) between each group of characters. The dash indicates a break
in the serial number, where one group of characters ends and another begins.
5. In the Serial Number Validation DLL field, enter the location of the .dll file that
you use for serial number validation. Alternately, click the browse (...) button to
locate the .dll file.

TIP Sample code for a serial number validation .dll file can be found in the InstallShield
Program Files Folder\Samples\ValidateSerialNumber directory. For more information,
see Serial Number Validation.
6. In the Validate Function field, enter the name of the .dll file function that
performs the validation.
7. Set the Success Return Value field to a number other than 0.
8. In the Retry Limit field, specify the number of times that you want to allow an
end user to attempt to enter the serial number.
9. Configure the Show All Users Option field as appropriate.

When an end user enters a serial number in the Customer Information dialog, it is
passed to your .dll file for verification. If the serial number is successfully verified, the
installation can continue. If the serial number is invalid, the installation will end,
depending on how many retries you allow in the Retry Limit field.

300 InstallShield Express Edition User Guide


Chapter 20: Additional Installation Options
Accessing the Serial Number During and After Installation

Accessing the Serial Number During and After


Installation
The property that stores the user input for serial numbers is called
ISX_SERIALNUM.

During Installation
During installation, you can access the value of ISX_SERIALNUM by using code
such as in this VBScript sample:
' Get the value of Serial Number
Dim sSerialNo
sSerialNo= Session.Property("ISX_SERIALNUM")

' Show it.


MsgBox sSerialNo

After Installation
Following installation, you can still access the serial number. However, you must first
obtain the product code, which can be found in the General Information view. After
you have obtained the product code, use the following sample code (in C++) to obtain
the serial number.

IMPORTANT You must have the Windows Installer SDK installed, or the following sample code will not compile
correctly.

#include "stdafx.h"
#include "msi.h" //make sure the directory location of msi.h is
included in the include path
#pragma comment( lib, "msi" ) //make sure the directory location of
msi.lib in included in the library path

int APIENTRY WinMain(HINSTANCE hInstance,


HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
TCHAR chUserName[50] = {0};
TCHAR chCmpName[50] = {0};
TCHAR chSrNum[50] = {0};

DWORD dwUserName = 50, dwCmpName = 50, dwSrNum = 50;

// "{03C4D218-638B-4402-9D59-6A4B19229736}" is a sample product code

InstallShield Express Edition User Guide 301


Chapter 20: Additional Installation Options
Accessing the Serial Number During and After Installation

::MsiGetUserInfo("{03C4D218-638B-4402-9D59-6A4B19229736}",
chUserName, &dwUserName, chCmpName, &dwCmpName,
chSrNum, &dwSrNum);

::MessageBox(NULL, chSrNum, "Serial Number", MB_OK);


::MessageBox(NULL, chUserName, "User Name", MB_OK);
::MessageBox(NULL, chCmpName, "Company Name", MB_OK);

return 0;
}

302 InstallShield Express Edition User Guide


21
INTEGRATING INSTALLSHIELD WITH
MICROSOFT VISUAL STUDIO

With this version of InstallShield, you can create your installation projects directly in
Microsoft Visual Studio .NET. InstallShield enables you to create, modify, or build
your installation from within Microsoft Visual Studio .NET. It also offers wizards for
Microsoft Visual Basic .NET and Microsoft Visual C# .NET.

Integration Features
InstallShield is fully integrated within the Visual Studio .NET shell. Some of the
unique features of the integration effort include:
• All InstallShield navigation is presented within the Solution Explorer.
• Each InstallShield view is presented in a separate window so no scrolling is
necessary and side-by-side viewing options are available.
• You can run InstallShield external to Visual Studio .NET.
• Dynamic links to other Visual Studio .NET projects exist, so the new contents of
output groups are included in the installation.

Integration Benefits
Some additional benefits of using the integrated installation authoring solution with
InstallShield are:
• You can create and customize your installation without leaving the Visual Studio
.NET IDE, enabling use of familiar navigation and layout options.
• Your installation is automatically updated with your latest source files every time
your solution is built, always staying current.
• The installation reflects the Build Configuration for the solution, e.g., Debug,
Release, automatically included source files from the proper build directory.

InstallShield Express Edition User Guide 303


Chapter 21: Integrating InstallShield with Microsoft Visual Studio
Creating InstallShield Projects in Microsoft Visual Studio .NET

• .NET properties and dependencies can be scanned and included in an installation


automatically.

Creating InstallShield Projects in Microsoft Visual


Studio .NET
InstallShield is integrated with Microsoft Visual Studio .NET. From within the Visual
Studio .NET workspace, you can create InstallShield installations for solutions.

TASK To create an InstallShield project from with Microsoft Visual Studio .NET:

1. On the File menu, click New Project. The New Project dialog box opens.
2. In the Project Types window, select InstallShield Express Projects.

Opening InstallShield Projects in Microsoft Visual


Studio .NET
InstallShield is integrated with Microsoft Visual Studio .NET. From within the Visual
Studio .NET workspace, you can open InstallShield installations for solutions.

TASK To open an InstallShield project from with Microsoft Visual Studio .NET:

1. On the File menu, point to Open and then click Project. The Open Project
dialog box opens.
2. Browse to the InstallShield file you want to open.
3. Click Open.

NOTE Files created in InstallShield Professional or pre-3.x versions of InstallShield Express cannot be
opened.

Adding References to Visual Studio .NET Solutions


Use the Files view to add Visual Studio .NET references to your installation project.

304 InstallShield Express Edition User Guide


Chapter 21: Integrating InstallShield with Microsoft Visual Studio
Adding InstallShield Toolbars or Commands to the Visual Studio Toolbar

TASK To add a reference:

1. The Visual Studio Solution item in the Source computer’s folders pane contains
subitems for all projects contained in the current solution. Click a project to
display the output groups for the project. The output groups are displayed in the
Source computer’s files pane.
2. To add a reference to an output to your installation project, drag and drop the
output to the target folder in the Destination computer’s folders pane.

Adding InstallShield Toolbars or Commands to the


Visual Studio Toolbar
You can add InstallShield toolbars and individual toolbar command buttons to the
Microsoft Visual Studio .NET workspace.

Adding InstallShield Toolbars

TASK To add an InstallShield toolbar:

1. Right-click anywhere in the toolbar to display the toolbar options.


2. Select a toolbar to add it to the top of the Visual Studio workspace.

Adding InstallShield Toolbar Command Buttons

TASK To add an individual command button to the toolbar:

1. Right-click anywhere in the toolbar to display the toolbar options.


2. Select Customize from the bottom of the list. The Customize dialog box opens.
3. Click the Commands tab.
4. In the Categories list, select a category to display the commands available within
that particular category.
5. In the Commands list, click a command button and drag it to the toolbar.

Building Releases in Microsoft Visual Studio .NET


Building a release in Microsoft Visual Studio .NET is different than building a release
in the InstallShield IDE. By default, when you create an InstallShield installation

InstallShield Express Edition User Guide 305


Chapter 21: Integrating InstallShield with Microsoft Visual Studio
Building Releases in Microsoft Visual Studio .NET

project in Visual Studio .NET, the project has a default product configuration with
two default releases—Debug and Release.

Building a Release

TASK To build a release in Visual Studio .NET:

1. Ensure that the project configuration is the default configuration.


2. Use the Configuration Manager to map the correct project configurations to the
solution configurations.
3. On the Build menu, click the appropriate command:

Table 21-1: Build Menu Commands

Command Description
Build Solution Builds the entire solution, according to what is mapped in the
Configuration Manager for each project included in the solution.
Build Setup Name Build only the setup project, according to the release specified in
the Project Configuration column of the Configuration Manager.

Setting the Default Configuration


In order to build a release, it must be under the default or active product configuration.
This is indicated by a red arrow icon ( ).

TASK To make a configuration the default configuration:

Right-click the product configuration and select Default Configuration.

Using the Configuration Manager


The Configuration Manager maps a solution configuration to the different project
configurations contained in your solution.

TASK To use the Configuration Manager:

1. On the Build menu, click Configuration Manager. The Configuration


Manager opens.
2. On the Active Solution Configuration menu, select a configuration and then
select the appropriate project configurations to map to the selected solution
configuration.

306 InstallShield Express Edition User Guide


Chapter 21: Integrating InstallShield with Microsoft Visual Studio
Adding .NET Assemblies to a Project

NOTE If the Build check box is deselected and you build the solution, the deselected project
configuration is not built.

Adding .NET Assemblies to a Project


InstallShield allows you to add a .NET assembly to your installation project by adding
the .NET assembly file to a feature.

TASK The recommended way to add a .NET assembly to your installation project is as follows:

1. In the Files and Features view, create a feature to hold the .NET assembly.
2. Add the .NET assembly to the feature.
3. Set the project to scan for dependencies by running the Static Scanning Wizard.
The .NET assembly’s values are added during the scan.

Adding Project Output from Web Services or


Application
InstallShield provides enhanced Web services support. If you add a project output
(any project output) from a Web Service or Web Application project, InstallShield
will prompt you to add the project as a Web Service. If you choose No, the project
output that you have selected is added normally. If you select Yes, InstallShield
performs the following:
1. InstallShield creates a Destination Folder called IISROOTFOLDER.
2. InstallShield deploys the following Visual Studio Project Outputs into the
IISROOTFOLDER:
[Content Files] goes to the [IISROOTFOLDER]{VSIPProjectName}
[Primary Output] goes to the [IISROOTFOLDER]{VSIPProjectName}\bin"
3. InstallShield creates an IISVirtualDirectory with a target of
[IISROOTFOLDER]{VSIPProjectName}.

Adding .NET Framework Support to an Installation


Project
If your application installation requires that .NET Framework support on the target
system, you can add that support to your installation project.

InstallShield Express Edition User Guide 307


Chapter 21: Integrating InstallShield with Microsoft Visual Studio
Adding .NET Framework Support to an Installation Project

TASK To add .NET Framework support:

1. Open the Build Your Release view.


2. Configure the .NET Framework Location, .NET Framework Version, and
.NET and J# Framework URL settings for your release as appropriate.

308 InstallShield Express Edition User Guide


22
REFERENCE

Reference information for InstallShield is organized into the following sections:

Table 22-1: Reference Selections

Section Description
Menu, Toolbar, and Window Describes the various components of the InstallShield user
Reference interface, including menus, toolbars, and windows.
Dialog Box Reference Contains reference information on each of the dialog boxes that
are displayed in InstallShield.
Wizard Reference Provides details about each of the wizards that are available in
InstallShield.
View Reference Describes each of the views that are displayed in InstallShield.
Errors and Warnings Provides information about error codes and warnings that might
occur when you create, build, or run your installation. This
section also includes reference information about errors and
warnings that may occur when you migrate a project from an
earlier version of an InstallShield product to the latest version.
Command-Line Tools Introduces tools that you can use from the command line to
perform tasks such as building a release and running an
installation.
End-User Dialogs Serves as a reference for all end-user dialogs available through
the Dialogs view in InstallShield.

InstallShield Express Edition User Guide 309


23
MENU, TOOLBAR, AND WINDOW
REFERENCE

This section describes the various components of the InstallShield user interface,
including menus, toolbars, and windows.

Menus
The menus in InstallShield are located on the menu bar, which is at the top of the
InstallShield user interface. Each menu contains a list of commands. Some of these
commands have icons next to them so that you can quickly associate the command
with the icon.
Each of the menus in InstallShield is described in this section:
• File
• Edit
• View
• Go
• Project
• Build
• Tools
• Help

InstallShield Express Edition User Guide 310


Chapter 23: Menu, Toolbar, and Window Reference
Menus

File Menu
The following table lists the File menu commands, as well as associated keyboard
shortcuts and icons.

Table 23-1: File Menu Commands

Command Shortcut Icon Description


New Ctrl + N Launches the New Project dialog box, which
enables you to select a project type and
begin a new project.
Open Ctrl + O Launches the Open dialog box, which
enables you to open an existing installation
project.
Close Closes the current project.
Save Ctrl + S Saves the current project file.

Save As Saves the current project file under a


different name.
1, 2, 3, 4 Opens one of the most recently accessed
projects.
Exit Closes the current project and closes
InstallShield.

Edit Menu
The following table lists the Edit menu commands, as well as associated keyboard
shortcuts.

Table 23-2: Edit Menu Commands

Command Shortcut Description


Undo Ctrl + Z Undoes the last action that was performed.
Cut Ctrl + X Cuts the currently selected text to the clipboard.
Copy Ctrl + C Copies the currently selected text to the clipboard.
Paste Ctrl + V Pastes the clipboard contents.
Find Ctrl + F Opens the Find dialog box, which enables you to search for
folders and files that you have added to your installation
project in the Files view. For more information, see Finding
Files and Folders in Your Project.

311 InstallShield Express Edition User Guide


Chapter 23: Menu, Toolbar, and Window Reference
Menus

View Menu
The following table lists the View menu commands, as well as associated keyboard
shortcuts and icons.

Table 23-3: View Menu Commands

Command Shortcut Icon Description


Output Window Toggles the display of the Output window.
View List Toggles the View list.

View Bar F4 Toggles the View bar.

Header Bar Toggles the header bar.


Toolbar Toggles the toolbar.
Status Bar Toggles the status bar.
Project Displays the Project Assistant.
Assistant

Go Menu
The following table lists the Go menu commands, as well as associated keyboard
shortcuts and icons. Some of the view-related commands are not available from the
Go menu, depending on which project type you have open in InstallShield.

Table 23-4: Go Menu Commands

Command Shortcut Icon Description


Previous View Alt + Up Arrow Takes you to the view directly above the
current view as shown in the View List.

Next View Alt + Down Arrow Takes you to the view directly below the
current view as shown in the View List.

Back Alt + Left Arrow Takes you to the view that you last visited in
the history of your view selections. You can
use this multiple times, as long as there are
multiple entries in your view history.
Forward Alt + Right Arrow Takes you to the next view in the history of
your view selections. You can continue until
you reach the view you were at when you
first clicked Back.
Start Page Takes you to the Start Page.

InstallShield Express Edition User Guide 312


Chapter 23: Menu, Toolbar, and Window Reference
Menus

Table 23-4: Go Menu Commands (cont.)

Command Shortcut Icon Description


Help Takes you to the Help view.

Project Displays the Project Assistant.


Assistant
Organize Your Enables you to display the General
Setup Information, Features, Setup Types, Update
Service, or Upgrade Paths view.
Specify Enables you to display the Files, Files and
Application Features, Redistributables, Dependencies,
Data or Mobile Devices view.
Configure the Enables you to display the Shortcuts/
Target System Folders, Registry, ODBC Resources, INI File
Changes, File Extensions, Environment
Variables, Internet Information Services, or
Component Services view.
Customize the Enables you to display the Dialogs,
Setup Billboards, or Text and Messages view.
Appearance
Define Setup Enables you to display the Requirements,
Requirements Custom Actions, or Setup Files view.
and Actions
Prepare for Enables you to display the Build Your
Release Release, Test Your Release, or Distribute
Your Release view.

Project Menu
The following table lists the Project menu commands.

Table 23-5: Project Menu Commands

Command Description
Visual Basic 6.0 Launches the Visual Basic 6.0 Wizard.
Wizard
Perform Static Scan Launches the Static Scanning Wizard
Perform Dynamic Scan Launches the Dynamic Scanning Wizard
Import String Table Launches the Import String Table Wizard.
Export String Table Launches the Export String Table Wizard

313 InstallShield Express Edition User Guide


Chapter 23: Menu, Toolbar, and Window Reference
Menus

Table 23-5: Project Menu Commands (cont.)

Command Description
Convert to Express Converts your Compact project to an Express project. For more
Project information, see Converting Express Projects to Compact Projects and
Vice Versa.
Convert to Compact Converts your Express project to a Compact project. For more
Project information, see Converting Express Projects to Compact Projects and
Vice Versa.
DemoShield Browser Launches the DemoShield Browser Wizard.
Wizard
Settings Launches the Msi Log File Settings dialog box.

Build Menu
The following table lists the Build menu commands, as well as associated keyboard
shortcuts and icons.

Table 23-6: Build Menu Commands

Command Shortcut Icon Description


Build F7 Builds your release with default settings,
or—if you have already built your release—
rebuilds your release with your most recently
saved settings.
Quick Build Shift + F7 Rebuilds only the .msi file part of your
installation to allow you to see your changes
take effect more quickly than a complete
rebuild.
Stop Build Ctrl + Break Cancels the current build process.

Test Ctrl + T Allows you to run through the user interface


portion of your installation without making
any changes to your system. All custom
actions are executed.
Run Ctrl + F5 Allows you to run your completed installation
without leaving the IDE.
Uninstall Uninstalls the most recently run release.

Web Ctrl + W Launches the Web Deployment Wizard to


Deployment create an installation that can be launched
Wizard from a Web page.

InstallShield Express Edition User Guide 314


Chapter 23: Menu, Toolbar, and Window Reference
Menus

Tools Menu
The following table lists the Tools menu commands, as well as associated icons.

Table 23-7: Tools Menu Commands

Command Icon Description


Open Release Folder Launches Windows Explorer, and opens the release
folder.
Create QuickPatch This prompts to save and close any existing project,
and then it will launch the QuickPatch Wizard.
Check for Updates Launches the Update Service dialog box if the product
is registered with the Update Service.
Redistributable Launches the Redistributable Downloader Wizard to
Downloader quickly download third-party redistributables, merge
modules, and other files to your local machine.

Help Menu
The following table lists the Help menu commands, as well as associated icons.

Table 23-8: Help Menu Commands

Command Icon Description


Contents Displays the Contents tab of the InstallShield Help
Library.
Index Displays the Index tab of the InstallShield Help Library.
Search Displays the Search tab of the InstallShield Help
Library.
Support Central Displays Support Central on the Web.
InstallShield Community Displays the Community on the Web.
Release Notes Displays InstallShield release notes.
Feedback Connects to the Macrovision Web site to enable you to
provide feedback.
Macrovision on the Web Connects to the Macrovision Web site.
Help View Displays the Help view.

About InstallShield Displays the About InstallShield dialog box, where you
Express can find version information and register InstallShield.

315 InstallShield Express Edition User Guide


Chapter 23: Menu, Toolbar, and Window Reference
Toolbars

Toolbars
The InstallShield user interface offers the Standard toolbar, which gives you quick
access to frequently used menu commands. You can create your own custom toolbars
or customize the Standard toolbar to fit your needs. Toolbars can be resized and
repositioned, and docked and undocked.

Standard Toolbar
The following table describes all of the buttons on the Standard toolbar.

Table 23-9: Standard Toolbar Buttons

Button Name Description


New Project Launches the New Project dialog box, which enables you to select
a project type and begin a new project.

Open Launches the Open dialog box, which enables you to open an
existing installation project.
Save Saves the current project file.

Viewbar Hides or shows the viewbar, which appears on the left side of the
interface.
View List Hides or shows the View List, which shows all the views available
in the InstallShield interface.

You can also press F4 to hide or show the View List.


Previous View Displays the view directly above the current view, as shown in the
View List.
Next View Displays the view directly below the current view, as shown in the
View List.
Back Displays the view that you last visited in the history of your view
selections. You can click this button multiple times, if there are
multiple entries in your view history.
Forward Displays the next view in the history of your view selections. You
can continue clicking this button until you reach the view in which
you first clicked the Back button.
Build Builds your release with default settings, or—if you have already
built your release—rebuilds your release with your most recently
saved settings.
Stop Build Cancels the current build process.

InstallShield Express Edition User Guide 316


Chapter 23: Menu, Toolbar, and Window Reference
Output Window

Table 23-9: Standard Toolbar Buttons (cont.)

Button Name Description


Run Runs your completed installation project.

If you selected the Uninstall before installing check box,


any previously run release is uninstalled before the current
release is run. This check box is available on the Preferences
tab of the Options dialog box.
Uninstall Uninstalls the most recently run release.
Test Runs through the user interface portion of your installation project
without making any changes to your system. All custom actions
are executed.
Web Deployment Launches the Web Deployment Wizard to create an installation
Wizard that can be launched from a Web page.
Open Release Launches Windows Explorer, open in the DISK1 folder of the
Folder current release. If there is no release or if a release has not been
built, Windows Explorer opens to your default project location.
DemoShield Launches the installed version of DemoShield or offers you the
Designer opportunity to install an evaluation copy from the InstallShield CD.
Help View Displays the IDE Help view where you can find answers to many of
your questions regarding InstallShield.

Output Window
The Output window opens across the bottom of InstallShield when you build your
project. It also provides information about your project during project conversion. The
following tabs appear in the Output window:

Table 23-10: Output Window Tabs

Tab Description
Output Stores distribution output information and displays build
output; a link to the output file saved as a text file will be
active.
Tasks Provides descriptions of any errors and warnings that occur
when you build your project; each error or warning code
displayed will link to an article in the Knowledge Base.

317 InstallShield Express Edition User Guide


24
DIALOG BOX REFERENCE

Each of the dialog boxes available in the user interface of InstallShield is described in
this section:
• Application Extension Mapping Dialog Box
• Application Mappings Dialog Box
• Browse for a Destination File Dialog Box
• Browse for Directory/Set INSTALLDIR Dialog Box
• Condition Builder Dialog Box
• Dependencies Dialog Box
• Destination Folder Dialog Box
• Dialog Images Dialog Box
• Edit Binary Value Dialog Box
• Edit DWORD Value Dialog Box
• Edit Registry Data Dialog Box
• Edit String Value Dialog Box
• Error Mapping Properties Dialog Box
• File Association Properties Dialog Box
• File Details Dialog Box
• File Properties Dialog Box
• File Properties Dialog Box (Windows Mobile)
• Folder Properties Dialog Box
• Merge Module Configurable Values Dialog Box
• Merge Module Properties Dialog Box
• MSI Value Dialog Box

InstallShield Express Edition User Guide 318


Chapter 24: Dialog Box Reference
Application Extension Mapping Dialog Box

• Multi-Line String Value Dialog Box


• New Project Dialog Box
• Options Dialog Box
• Outputs Dialog Box
• Permissions Dialog Box for Files and Directories
• Permissions Dialog Box for Registry Keys
• Select Icon Dialog Box
• Set INSTALLDIR Dialog Box/Set DATABASEDIR Dialog Box
• Setup DLL Properties Dialog Box
• Setup Prerequisites Properties Dialog Box
• Shortcut Properties Dialog Box
• Update Merge Module Search Path Dialog Box
• Upgrade Express Project Name Dialog Box

Application Extension Mapping Dialog Box


Use the Application Extension Mapping dialog box to add or modify the mapping
between a file name extension and the program or interpreter that processes those
files. This dialog box is launched when you click Add on the Application Mappings
dialog box.

Table 24-1: Application Extension Mapping Dialog Box Settings

Setting Description
Executable Type the path, or click Browse to launch the Select Executable
dialog box. This enables you to specify the executable in your
project to which you want to map. Type the name of the executable
file (.exe or .dll) or use the Browse button to search for the file. The
executable file must be located on your Web server’s local hard
drive.
Extension Type the file name extension associated with your application (for
example, .abc) or an asterisk (*).
Verbs The Verbs section enables you to specify which HTTP verbs should
be passed to the application.
• All verbs—Select this option to include all verbs. This option
passes all requests to an application.
• Limit to—Select this option to specify the HTTP verbs that
should be passed to an application. Separate verbs with a
comma.

319 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Application Mappings Dialog Box

Table 24-1: Application Extension Mapping Dialog Box Settings (cont.)

Setting Description
Script Engine If you want the application to run in a directory without Execute
permissions, select this check box. This setting is intended
primarily for script-based applications, such as ASP and IDC, that
are mapped to an interpreter.
For a script-mapped application to run, either the Scripts Only or
Scripts and Executables option must be selected for the Execute
Permissions property. To allow only script-mapped applications to
run, select the Scripts Only option. To allow both script-mapped
applications and executable files (.exe and .dll) to run, select
Scripts and Executables.
Check that file exists To instruct the Web server to verify the existence of the requested
script file and to ensure that the requesting user has access
permission for that script file, select this check box.
If the script does not exist or the end user does not have
permission, the appropriate warning message is returned to the
browser and the script engine is not invoked. This option can be
useful for scripts mapped to non-CGI executable files like the Perl
interpreter that do not send a CGI response if the script is not
accessible.

Because the script is opened twice—once by the server and


once by the script engine—there is some performance cost
when this check box is selected.

Application Mappings Dialog Box


The Application Mappings dialog box lets you add, edit, and delete a mapping
between a file name extension and the application that processes those files. It also is
where you specify time-out parameters.
The Application Mappings dialog box is available from within the Internet
Information Services view. To open this dialog box, click a Web site or virtual
directory in the explorer. On the Home Directory tab (for a Web site) or the Virtual
Directory tab (for a virtual directory), click Configuration.

InstallShield Express Edition User Guide 320


Chapter 24: Dialog Box Reference
Browse for a Destination File Dialog Box

NOTE If an asterisk (*) appears in the Verbs column, all verbs will be used for the specified extension.

Table 24-2: Application Mappings Dialog Box Settings

Setting Description
Add To add an entry for mapping a file name extension and the program
or interpreter that processes those files, click this button. This
opens the Application Extension Mapping dialog box.
Edit To edit an existing application mapping, select the mapping and
click this button.
Delete To delete an existing application mapping, select the extension and
click this button.
Session timeout (minutes) Specify the number of minutes that a session can remain idle
before the server terminates it automatically. If the end user does
not refresh or request a page within the timeout period, the session
ends. The default value is 20 minutes.
ASP Script timeout Specify the length of time in seconds that .asp pages will allow a
(seconds) script to run before terminating and writing an event to the
Windows Event Log. The minimum value for this property is 1
second and the default value is 90 seconds.

Browse for a Destination File Dialog Box


When you include a custom action with your setup, and if you select “Installed with
the product” as the Source Location value, this dialog box appears when you select the
File Name property. Select the feature that includes the file you want to use in your
custom action, and then locate the file and click Open.

Browse for Directory/Set INSTALLDIR Dialog Box


Use this dialog box to browse to a directory, create a new directory, rename a
directory, or delete a directory.

Dialog Box Settings

Destination Directories
This field lists all of the currently available destination directories. You can select,
create, rename, or delete directories in this field.

321 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Browse for Directory/Set INSTALLDIR Dialog Box

Selecting a Directory

TASK To select a directory:

1. Click a directory to select it.


2. Click OK.

Creating a New Directory

TASK To create a new directory:

1. Select a directory or the Destination Computer and press INSERT. InstallShield


creates a directory beneath the selected folder or beneath the Destination
Computer.
2. Type the directory name.
3. Provide a directory identifier, if necessary.

Renaming a Directory

TASK To rename a directory:

1. Select a directory or the Destination Computer and press F2.


2. Type the new directory name. Note that you cannot rename predefined directories.
3. Rename the directory identifier, if necessary, to be consistent with the directory’s
new name.

Deleting a Directory

TASK To delete a directory:

Select a directory and press DELETE. Note that you cannot delete predefined
directories.

When you delete a directory, any subdirectories beneath the selected directory are also
deleted.

InstallShield Express Edition User Guide 322


Chapter 24: Dialog Box Reference
Condition Builder Dialog Box

Directory Identifier
You can use the Directory Identifier box to provide a user-friendly name for a
directory.

NOTE The directory identifier must be a valid MSI identifier. For features, the directory identifier must
contain all capital letters.

Condition Builder Dialog Box


The Condition Builder dialog box enables you to create operating systems and
software conditions for your project’s features and custom actions. In addition, you
can create a feature condition for custom actions.

TASK To launch the Condition Builder dialog box:

Click the ellipsis button (...) in the Condition field for either a feature or a custom
action.

NOTE You cannot create conditions for the Always Install feature.

Dialog Box Settings

Operating System Tab


On the Operating System tab, you can require that the target system run one of the
specified operating systems in order to install a feature or run a custom action. If the
target system is not running one of the specified operating systems, the feature is not
installed or the custom action is not run.

Software Tab
On the Software tab, you can create software requirement condition. If the software
specified in this tab is not found on the target system, the associated feature is not
installed or the custom action is not executed.

Setting Software Requirements


You can set a software requirement condition based on whether the software exists on
the target system. To run a custom action or install a feature when the software is

323 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Dependencies Dialog Box

found on the target system, set the check box to the green checked state . To set the
check box to this state, click it until the green check mark appears in the box.
To run a custom action or install a feature only if the software is not installed on the
target system, set the check box in front of the software to the red “X” ( ). To set the
check box to this state, click it until the red “X” appears in the box.
An empty check box ( ) indicates that the condition is not based upon the software in
any way. To void a software condition, click the check box until it is empty.

Feature Tab

NOTE The Feature tab applies only to conditions created for custom actions.

On the Features tab, you can select the feature requirements for the custom action’s
condition. The custom action will only run if the selected features are set to be
installed.

Dependencies Dialog Box


The Dependencies dialog box displays a list of dependencies when you right-click an
item in the Destination computer’s files pane of the Files view and click Scan at
build dependencies.
The dialog box provides results for assembly DLLs. If you launch the dialog box from
Microsoft Visual Studio .NET, the dialog box shows results for project outputs. If
launched from InstallShield outside of Visual Studio .NET, scan at build
dependencies is disabled for project outputs.

NOTE This is enabled only for portable executable files (for example, EXE, DLL, or OCX) and when the
.NET Scan at Build property is set to Dependencies and Properties (via the COM and .NET
Settings tab in the File Properties dialog box). If the dependency or one of its dependencies
cannot be located, a red icon is displayed.

Dialog Box Settings

Dependency
This section lists all of the dependencies with a check box next to each. To exclude a
dependency from the build, deselect the check box next to the dependency. To close
the dialog box, click OK.

InstallShield Express Edition User Guide 324


Chapter 24: Dialog Box Reference
Destination Folder Dialog Box

NOTE Any new dependencies detected at build time—for files added after closing the Dependencies
dialog box—are added to the build.

Destination Folder Dialog Box


The Destination Folder dialog box enables you to specify the folder on the Windows
Mobile device into which a file should be installed. You can select a folder pre-
defined by the Windows Mobile operating system, select the folder specified on the
Destination Folder panel (the default), or create a new folder.

Adding Folders

TASK To add a new folder to be used as the default destination:

1. Click the folder under which you want to add a new folder.
2. Click New Folder. A new folder is created directly beneath the existing folder.
3. Type a name for the new folder.

Renaming Folders

TASK To rename a folder:

1. Select the folder and click Rename.


2. Type the new name.

You can also rename a folder by right-clicking it and clicking Rename.

Removing Folders

TASK To remove a folder:

Select the folder and click Delete, or right-click a folder and click Delete.

NOTE Some folders are predefined by the Windows Mobile operating system and cannot be renamed
or removed. Only user-defined folders can be renamed or removed.

325 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Dialog Images Dialog Box

Dialog Images Dialog Box


Use the Dialog Images dialog box to add to a bitmap graphic (.bmp file) that you want
to display on your installation’s dialogs.

Full Screen Image


Browse to a graphic file that will serve as the full-screen background for your exterior
dialogs. Exterior dialogs are dialogs that appear at the beginning or end of the
installation, including InstallWelcome and SetupCompleteSuccess (the final dialog
upon successful installation). The full screen .bmp graphic should measure 499 by 312
pixels.

Banner Image
Browse to a graphic file that will run across the top of interior dialogs. Interior
dialogs, which appear between the first and last installation dialogs, include the
LicenseAgreement and CustomSetup dialogs. The banner .bmp graphic should be 499
by 58 pixels.

Edit Binary Value Dialog Box


The Edit Binary Value dialog box enables you to enter the data to be stored in a binary
registry value and to determine which types of Windows Mobile or smart device the
value should be created on.

Dialog Box Settings

Value Name
Specifies the name of the value being modified. This is a read-only property. To
rename the value, use the Registry Information panel.

Value Data
The binary data that should be stored in the registry value.

Platform
A list of platform types (Palm-size PC, Handheld PC, PocketPC, Smartphone, etc.) on
which the registry value can be created.

NOTE The Platform option is available for Windows Mobile devices only.

InstallShield Express Edition User Guide 326


Chapter 24: Dialog Box Reference
Edit DWORD Value Dialog Box

Processor
The type of processor on which the registry value can be created.

NOTE The Processor option is available for Windows Mobile devices only.

Overwrite existing value


If a registry value by the same name already exists on the device, it will be overwritten
only if this box is checked. Otherwise, the existing value will not be changed.

Edit DWORD Value Dialog Box


The DWORD Registry Entry dialog box enables you to enter the data to be stored in a
DWORD registry value and to indicate which types of Windows Mobile or smart
device the value should be created on.

Dialog Box Settings

Value Name
Specifies the name of the value being modified. This is a read-only property. To
rename the value, use the Registry Information panel.

Value Data
The DWORD data that should be stored in the registry value.

Base
Specifies whether the value to be stored is represented as a hexidecimal or decimal
number. Whenever this selection is changed, the value will automatically be
converted to the appropriate type.

Platform
A list of platform types (Palm-size PC, Handheld PC, PocketPC, Smartphone, etc.) on
which the registry value can be created.

NOTE The Platform option is available for Windows Mobile devices only.

327 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Edit Registry Data Dialog Box

Processor
The type of processor on which the registry value can be created.

NOTE The Processor option is available for Windows Mobile devices only.

Overwrite existing value


If a registry value by the same name already exists on the device, it will be overwritten
only if this box is checked. Otherwise, the existing value will not be changed.

Edit Registry Data Dialog Box


This dialog box enables you to edit the registry data within your installation project.
To launch this dialog box, right-click on a value in the Registry view and click
Modify.

Table 24-3: Edit Registry Data Dialog Box Settings

Setting Description
Value Name The value name is read-only in this dialog box. To change the name of
a value, exit this dialog box, select the value you want to rename, and
press F2.
Value Data Enter the data for this registry value as you want it to appear on the
target machine.

Edit String Value Dialog Box


The String Registry Entry dialog box enables you to enter the data to be stored in a
string registry value and to determine which types of Windows Mobile or smart
device the value should be created on.

Dialog Box Settings

Value Name
Specifies the name of the value being modified. This is a read-only property. To
rename the value, use the Registry Information panel.

Value Data
The text that should be stored in the registry value.

InstallShield Express Edition User Guide 328


Chapter 24: Dialog Box Reference
Error Mapping Properties Dialog Box

Platform
A list of platform types (Palm-size PC, Handheld PC, PocketPC, Smartphone, etc.) on
which the registry value can be created.

NOTE The Platform option is available for Windows Mobile devices only.

Processor
The type of processor on which the registry value can be created.

NOTE The Processor option is available for Windows Mobile devices only.

Overwrite existing value


If a registry value by the same name already exists on the device, it will be overwritten
only if this box is checked. Otherwise, the existing value will not be changed.

Special Notes Regarding String Values


When you are working with string registry values, consider the following rules:
• Use %% for a percent sign (%) character—for example, SomeApp.exe %%1
instead of SomeApp.exe %1.
• Entries containing commas must be enclosed within quotes—for example,"1,2,3"
instead of 1,2,3.
• If the quote marks should appear in the entry, use two quote marks ("")—for
example, ""This is quoted."" instead of "This is quoted."
• The %InstallDir% macro can be used to create an entry that specifies where the
application was installed on the Windows Mobile device. For an example, see the
default value on the Registry Information panel.

Error Mapping Properties Dialog Box


The Error Mapping Properties dialog box displays an IIS virtual directory error code
and its default properties. Use the Message Type list to set the message to a URL or a
pointer to a file on the server. When you set the error message to a URL, you must
specify the full URL. When you set the error message to a file pointer, you can browse
for the file that you want to use as the error message or you can type the full path of
the file to be used. This can include files that are not in your project but are pre-
existing on the system.

329 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
File Association Properties Dialog Box

File Association Properties Dialog Box


The File Association Properties dialog box is used to view and edit the properties of
files associations to be registered on the Windows Mobile device. It displays
information about the file type and about the application used to open files of that
type.

Table 24-4: File Association Properties Dialog Box Settings

Setting Description
Source File The full path and file name of the source file on the desktop
computer to be included in the installation.
Platform List of platform types supported by the file.
Processor The type of processor that is required to execute the file.

File Details Dialog Box


Access this dialog box by clicking the Details button in the System Search Wizard.
This button becomes active after you define a search method and specify the file you
are locating. In this dialog box, you have the ability to enhance a search by specifying
the following details:

Table 24-5: File Details Dialog Box Settings

Setting Description
Minimum Version The search is successful if the file exists on the target system and
the version is higher than the version entered.

The MinVersion property of the signature table will only find a


file that is "GREATER THAN" that version. Therefore, if you want
to find 1.00.11, the value of your MinVersion property should
be 1.00.10. The Windows Installer documentation states this
differently.
Maximum Version The search is successful if the file exists on the target system and
the version is equal to or lower than what is entered.
Minimum Date Select the check box to search by a minimum date. The search is
successful if the file exists on the target system and the date is
equal to or later than the date entered.
Maximum Date Select the check box to search by a maximum date. The search is
successful if the file exists on the target system and the date is
earlier or equal to the date entered.

InstallShield Express Edition User Guide 330


Chapter 24: Dialog Box Reference
File Properties Dialog Box

Table 24-5: File Details Dialog Box Settings (cont.)

Setting Description
Minimum Size The search is successful if the file exists on the target system and
is equal to or larger than the size indicated (in bytes).
Maximum Size The search is successful if the file exists on the target system and
is smaller than or equal to the size indicated (in bytes).
Languages Click the Browse (...) button to display the Languages dialog box.
You can select multiple languages as a condition of your search.
The search is successful if at least one of the languages listed is a
match.

NOTE The information you provide in the edit fields is optional. You can leave any field blank.

File Properties Dialog Box


This dialog box determines the properties that are set for a file when it is installed onto
the target system.
Because the individual files might not be present at build time, you cannot set file
properties for dynamically linked files.
The following tabs are available in this dialog box:
• General
• COM & .NET Settings
• Advanced

General Tab
The General tab of the Properties dialog box lets you specify the properties for a file
when it is installed onto the target system.

Table 24-6: Settings for the General Tab on the File Properties Dialog Box

Setting Description
Location This specifies the file directory.

331 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
File Properties Dialog Box

Table 24-6: Settings for the General Tab on the File Properties Dialog Box (cont.)

Setting Description
Font Title If you are installing a font, you can specify the font title here in the
format FontTitle (FontType)—for example, Roman (All res).
InstallShield provides the name of the font for you if it is registered
on your system.
Do not specify a font title for .ttf or .ttc fonts, because Windows
Installer reads the embedded font name and registers it for you.
Thus, for .ttf or .ttc files InstallShield marks this field [Title read
from file]. You must specify a title for fonts that do not have
embedded names, such as .fon files.
Override system Clear this check box to install this file using the same system
attributes properties that are currently set for this file on the development
system. Select this check box to override any of the following
properties:
• Read-only—Select the check box for this property if you
want the file to be read-only when it is installed.
• System—Select the check box for this property if you want
the file to be installed as a system file.
• Hidden—Select the check box for this property if you want
the file to be hidden when it is installed.
• Vital—Select the check box for this property to indicate that
this file is vital to the operation of its feature. A vital file’s
feature will not be installed if it cannot be installed for any
reason. The end user will see an error message with Retry and
Cancel buttons if a vital file cannot be installed, instead of the
usual Abort, Retry, and Ignore buttons.
• Use File Hash—File hashing is available for unversioned files
only. Windows Installer can use file hashing to detect and
eliminate unnecessary file copying. A file hash stored in the
MsiFileHash table can be compared to a hash of an existing
file on the target machine obtained by calling
MsiGetFileHash.
Override system size This property contains the size, in bytes, of the file. To override the
system value, select the check box and type the file size in the Size
box.
Override system version The property contains the file’s version, if any. To override the
system value, select the check box and type the version in the
Version box.
Override system language To override the system language, select this check box and type
the file’s language identifier code in the Language box. The default
language is English (1033). Separate multiple language IDs with a
comma. Font files should not be authored with a language ID
because fonts do not have an embedded language ID resource.
Leave this entry blank for font files.

InstallShield Express Edition User Guide 332


Chapter 24: Dialog Box Reference
File Properties Dialog Box

Click Permissions to launch the Permissions dialog box, where you can set
permissions for the file.

COM & .NET Settings Tab


The COM & .NET Settings tab enables you to set COM and .NET properties for files
in your installation. This tab is available only when InstallShield determines that the
file is a portable executable. You can indicate which files you want treated as portable
executables on the File Extensions tab of the Options dialog box.

Table 24-7: Settings for the COM & .NET Tab on the File Properties Dialog Box

Setting Description
Registration Type This property enables you to indicate how you want your file to be
registered. Depending on the file type, you can select from the
following options:
• None—Select this option if you do not want the selected file
to be registered on the target machine. This is the default
setting for all files.
• Extract COM Information—Select this option if you want
InstallShield to extract all COM registration data from your file
and register it on the system during setup. This is the
recommended way to register COM objects.
• Self-Registration—If your file supports self-registration, you
can choose this option. Note that self-registration is not as
reliable as having Windows Installer register and unregister the
file with extracted COM information.
Scan at Build If you want to scan for .NET dependencies or properties at build-
time, select one of the following options:
• None—Choose this if you do not want to scan for .NET
dependencies or properties.
• Properties Only—Scan only for .NET properties.
• Dependencies and Properties—Scan for both .NET
dependencies and properties. Add missing dependencies and
properties to the installation project.
Application File This property is used when your project is scanned at build time.
The scanner uses this property along with other information to
determine the value of the File Application property for the
assembly.
Installer Class Select this option to ensure that at installation time, the assembly’s
Install, Commit, Rollback, and Uninstall methods will be called at the
appropriate time.
COM Interop Select this option to enable the .NET COM interop for the assembly.
At installation, registry entries are created on the target system
that allow COM objects to call your assembly.

333 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
File Properties Dialog Box

Advanced Tab
On the Advanced tab of the File Properties dialog box, you can specify how a file will
be registered and which operating systems you want the file installed on.

Table 24-8: Settings for the Advanced Tab on the File Properties Dialog Box

Setting Description
Target operating system There may be cases where you need to install a different version of
a file depending on the operating system of the target system. With
the Target operating system property you can specify for which
operating systems your file is intended. See Specifying Operating
System Requirements for Your Application.
Select the All operating systems check box to install your file under
any supported platform. This option is selected by default. Clear
this box to select the specific operating systems your file targets.
Installation/Uninstallation In the Installation/Uninstallation Properties area, you can indicate
Properties how you want the installer to handle this file with regard to
installation and uninstallation. Valid options are:
• Permanent—Select this option if you want this file to
permanently remain on the target system. The installer does
not remove this file during an uninstallation.
• Shared—Select the Shared check box to instruct the installer
to reference count, or "refcount" this file.
When a file is marked as shared, Windows Installer creates a
refcount if one does not exist or increments it if it does. While
Windows Installer maintains a separate tally of all shared files,
the standard refcount is stored under the following registry
key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curre
ntVersion\SharedDLLs
This count is decremented when the file is uninstalled.

InstallShield Express Edition User Guide 334


Chapter 24: Dialog Box Reference
File Properties Dialog Box (Windows Mobile)

Table 24-8: Settings for the Advanced Tab on the File Properties Dialog Box (cont.)

Setting Description
File overwrite properties In the File overwrite properties area, you can indicate how you want
the installer to handle this file if it already exists on the target
system.
Windows Installer Versioning Rules (Recommended)—If you
select this option, Windows Installer versioning rules are used to
determine whether a file that already exists on the target system
should be replaced. Windows Installer enforces the following rules:
• Versioned files—In all cases, the file with the highest version
is maintained, even if the file already on the target machine
has a higher version than the one being installed. Additionally,
a file of any version is maintained over unversioned files.
• File language—All other things being equal, the file that is
the same language as the installation is maintained over
different language versions of the file. The only exception to
this rule applies to multiple language files. Files with multiple
languages are maintained over single language versions of a
file.
• Date—If the modified date of a file already present on the
target machine is later than the creation date of that file, the
file is not overwritten. This rule protects user preference files
from being wiped out during an upgrade or reinstallation.
Never Overwrite—If you select this option, the file—if it exists on
the target system—is never overwritten, regardless of the file
version.
Always Overwrite—If you select this option, the file—if it exists on
the target system—is always overwritten, regardless of the file
version.

File Properties Dialog Box (Windows Mobile)


The File Properties dialog box is used to view and edit the properties of files being
installed onto the Windows Mobile or smart device. When you first add one or more
files to the project, the settings specified on this dialog box are applied to all of the
selected files. This dialog box can also be used to edit the properties of a single file
later on, if necessary.
The following tabs are available in this dialog box:
• General
• Processor/Platform

335 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
File Properties Dialog Box (Windows Mobile)

General Tab
The General tab of the Properties dialog box lets you specify the general settings for
the files being installed onto the Windows Mobile or smart device.

Table 24-9: Settings for the General Tab on the File Properties Dialog Box

Setting Description
File The full path and file name of the original file on the desktop
computer that is to be built into the installation package.
Destination Folder The path to the folder on the Windows Mobile or smart device into
which the file should be installed. When a file is first added to the
project, the default destination folder is the path set on the
Destination Folder panel. The destination path can be changed by
clicking the Open Folder icon, which displays the Destination Folder
dialog box.
File Options These options regulate the type of file and the control given to end
users if an error is encountered while a file is being installed to the
device.
Shared File Select this option if the file is a shared DLL or system file. A
reference count will be maintained on the file so that it is removed
only when all applications that depend upon it have been
uninstalled.
Self-register Select this option if the file is a self-registering DLL or ActiveX
control that exports the DllRegisterServer and
DllUnregisterServer component object model (COM) functions.

InstallShield Express Edition User Guide 336


Chapter 24: Dialog Box Reference
File Properties Dialog Box (Windows Mobile)

Table 24-9: Settings for the General Tab on the File Properties Dialog Box (cont.)

Setting Description
Copy Options These options regulate the terms under which the files are installed
onto the Windows Mobile or smart device. Only one of the following
items can be selected:
• Always copy file to target—The source file will always be
copied onto the device. If a file by the same name already
exists, it is overwritten. This is the default behavior.
• Always update older file on target—If a file by the same
name already exists on the device, it will be overwritten only if
the source file has a more recent date. If no file by the same
name already exists, the source file will always be installed.
• Copy only if file exists on target—The source file will be
installed only if a file by the same name already exists on the
device. The original file will be overwritten. No date check is
performed.
• Copy only if file does not exist on target—The source file
will be copied onto the device only if there is not already a file
by the same name on the device.
• Warn user if file is not copied—This option is used in
combination with the "Allow user to skip file on error" option. If
both of these boxes are selected and an error occurs, the end
user can skip the file and continue after a warning message is
displayed. If this box is not selected, no warning message is
displayed.
• Allow user to skip file on error—If this option is selected
and an error occurs while the file is being installed to the
Windows Mobile or smart device, the end user is asked if they
want to skip the file and proceed with the installation.
Otherwise, the user will not be allowed to skip the file, and the
installation will abort.

Processor/Platform Tab
The Processor/Platform tab of the Properties dialog box lets you specify the processor
and platform requirements for the files being installed onto the Windows Mobile or
smart device.

337 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Folder Properties Dialog Box

NOTE There is no .NET Framework support for a smart device. Therefore, this tab applies to a
Windows Mobile device only.

Table 24-10: Settings for the Processor/Platform tab on the File Properties Dialog Box

Setting Description
Platform/Processor Select this option if the file is platform and processor independent.
Independent Only these files can be installed to the Global Assembly Cache
(GAC).

Select this option for .NET managed code.


Specific platform/ Select the platform/processor combination to target.
processor
• Platform—This property determines which types of Windows
Mobile device the file can be installed to. One or more
platform types can be selected by selecting the appropriate
boxes in the list. You should select at least one platform type.
The default is to support all platforms, enabling you to
distribute your application to the largest number of users.
• Processor—If this property is not set to "(all)", the file will be
be installed only onto a Windows Mobile device that has the
specified processor type. This property should be set to "(all)"
only for files that do not depend upon a particular processor
type.

Because of the algorithm used to name the .cab files in the


installation project, targeting a large number of platforms (in
combination with using long application and company names)
can cause problems with the installation.

If you include a platform- or processor-specific file in your


setup and there is no corresponding .NET Framework, a
warning is triggered.

Folder Properties Dialog Box


This dialog box provides information about the type and location of folders defined in
InstallShield, as well as options that determine how files are dynamically acquired
when building a setup.

InstallShield Express Edition User Guide 338


Chapter 24: Dialog Box Reference
Folder Properties Dialog Box

There are two tabs available from this dialog box:


• General
• File Linking

General Tab
The General panel of the Folder Properties dialog box displays information such as
the number of files you have placed in the selected directory as well as the overall disk
space required by those files. None of the information on this panel can be edited. To
display the Folder properties panel, right-click on a destination folder in the Files view
and select Properties.

File Linking Tab


The File Linking Tab of the Folder Properties dialog box enables you to specify
dynamic folders. This dialog box can be accessed by right-clicking on a destination
folder in the Files view and clicking Dynamic File Linking.

Table 24-11: Settings for the File Linking Tab of the Folder Properties Dialog Box

Setting Description
Source Files Enter the path to the directory that contains your source files, or click
the Browse button to navigate to that directory.
Include Subfolders Check this box if you want to add any subfolders and the files
contained within to your setup project.
Include all files in the Select this option if you want to have all the files found within the
specified folder specified directory added to your setup project. If you add new files
after the dynamic link has been established, they will automatically be
added before the next time you build your setup.
Include/exclude files If you want to filter the files that get added to your setup, you can do
based on the following so through the use of wild cards. For example, if you only want to
wild cards include executable (.exe) files in your setup, you would enter *.exe
into the “Include files with the following extensions” field. Alternately, if
you want to exclude executables from your setup, enter the same
value, *.exe into the “Exclude files with the following extension” field.
Be sure to separate multiple wild card entries with a comma.

NOTE For information on dynamic file linking limitations, see Dynamic File Linking.

339 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Merge Module Configurable Values Dialog Box

Merge Module Configurable Values Dialog Box


A configurable redistributable is a merge module or an object that has at least one row
in the ModuleConfiguration table that is referenced by at least one row in the
ModuleSubstitution table. This enables you to change a value in the redistributable.

Displaying the Merge Modules Configurable Values Dialog


Box
The Merge Module Configurable Values dialog box is displayed when you select a
merge module or object in the Redistributables view that allows configuration. If the
redistributable selected is an object, the Merge Module Configurable Values dialog
box is displayed when the object wizard finishes.
You can also right-click on a configurable merge module or object and click
Configure merge module.

Dialog Box Settings


The dialog box contains a grid in which you can modify the configurable values. The
left column contains the name of the configurable value. The right column contains
the value options. You can select a new value from the drop-down menu. Refer to the
redistributable vendor’s documentation for information about the values.
After you specify the values that you want, click OK to save the new values. When
you build your project, these values are used to build the .msi package.

Restore Defaults
Click this button to restore the redistributable’s default settings. All of the
configurable values in the redistributable are returned to their defaults.

Merge Module Properties Dialog Box


The Merge Module Properties dialog box is displayed when you right-click a selected
merge module or object in the Redistributables view and click Properties.

Dialog Box Settings

GUID
Displays the merge module’s unique GUID.

Author
Displays the merge module’s author.

InstallShield Express Edition User Guide 340


Chapter 24: Dialog Box Reference
MSI Value Dialog Box

Version
Displays the merge module version.

Destination
Specifies the destination of the merge module’s files. It is recommended you use the
default setting (Use merge module’s default destination).

MSI Value Dialog Box


The MSI Value dialog box enables you to create or modify a primary key for an entry
in the resulting Windows Installer package’s Registry table. For more information, see
Specifying a Primary Key for the Registry Table.

Multi-Line String Value Dialog Box


The Multi-Line String Value dialog box enables you to modify a selected registry
value by typing a line for each null-delimited string.

TASK To enter a multi-line string value in the Multi-Line String Value dialog box:

1. Choose how you want to modify the registry value. You can choose from the
following options:
» Append
» Prepend
» Replace
2. In the grid part of the dialog box, type a line for each null-delimited string or
modify it. Right-click the grid to display the context menu or press the following
keys in the grid below associated with the following actions:
Table 24-12: Context-Menu Commands for Entering Strings in the Grid

Action Shortcut Key


Add String Ins
Rename String F2
Delete String Del
Move Up
Move Down

341 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
New Project Dialog Box

3. Click OK when you have entered a line for each null-delimited string. The strings
are automatically concatenated.

NOTE Strings can contain only spaces, but they cannot be empty or [~], which is the delimiter for the
strings.

New Project Dialog Box


The New Project dialog box opens when you are creating a new project in
InstallShield. In this dialog box, you can select a project type, name your project, and
provide a location for the project’s files. After you select a project type and click OK,
your project opens in the InstallShield Installation Development Environment (IDE).

NOTE If you select Express Project or Compact Project, the Project Assistant is launched to help you
create your project.

Table 24-13: New Project Dialog Box Settings

Setting Description
Project Name Type a name for your project in this field.
Project Language Select the language that should be used for your installation project.
Location Type a location or click Browse to navigate to a project location. To
change the default project location displayed, change the Project
Location path, which is located on the File Locations tab in the
Options dialog box.
Create project file in Select this option if you want InstallShield to create a subfolder with
‘Project Name’ subfolder your project’s name in your Projects location.

EDITION InstallShield Premier and InstallShield Professional provide additional functionality in creating
new projects. For example, the Premier edition allows you to have multiple languages in the
same installation project.

Options Dialog Box


The Options dialog box enables you to specify preferences for creating projects and
working in the InstallShield Installation Development Environment (IDE). To view
and edit these global settings, on the Tools menu, click Options.

InstallShield Express Edition User Guide 342


Chapter 24: Dialog Box Reference
Options Dialog Box

The Options dialog box is organized into multiple task-related tabs. Click one of the
links to learn about the corresponding tab.
• General
• File Locations
• Preferences
• Configure Trialware
• Merge Module Options
• Quality
• Updates
• .NET
• Files View
• File Extensions

General Tab
The General tab on the Options dialog box is where you specify preferences for the
help system and for build errors.

Table 24-14: General Tab Settings

Setting Description
Help window on top If you would like the help window to remain on top of the Installation
Development Environment (IDE), select this check box. If you want
the help window to fall to the background when you click in the IDE,
clear this check box.
Stop build process when To abort the build process when a build error occurs, select this
first error is encountered check box.

343 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Options Dialog Box

File Locations Tab


The File Locations tab on the Options dialog box is where you set the default directory
for your project files.

Table 24-15: File Locations Tab Settings

Setting Description
Project Location In this field, type the path or browse to the location for your
installation project files.
This location is the default folder for new installation projects. All of
your source and release files, such as your project (.ise) file,
installation package (.msi file), and disk image files, are stored in
subfolders of your project location.
By default, your project is stored in the My InstallShield
Express Projects folder at the root level of your hard drive.

Preferences Tab
The Preferences tab on the Options dialog box is where you specify preferences for
run commands and for project reloads.

Table 24-16: Preferences Tab Settings

Setting Description
Uninstall before installing If you would like InstallShield to automatically uninstall your
installation project before running it when you run your installation
from the Build menu, select this check box.
Reload last opened If you would like InstallShield to automatically reload the most
project on startup recently opened project when you launch InstallShield, select this
check box.

InstallShield Express Edition User Guide 344


Chapter 24: Dialog Box Reference
Options Dialog Box

Configure Trialware Tab


The Configure Trialware tab enables you to set default values for the user name and
the corresponding password that you want to use on the Configure Trialware
Credentials panel of the Acquire New License Wizard.

Table 24-17: Configure Trialware Tab Settings

Setting Description
User name Type the user name that you use to log on to the InstallShield
Activation Service Publisher Web Site. Your user account must
have write access to the licensing part of the Web site. To obtain a
new user name or to retrieve your password, visit the InstallShield
Activation Service Publisher Web Site
Password Type the password for your user name. The password is
encrypted.

Merge Module Options Tab


The Merge Module Options tab on the Options dialog box is where you specify
preferences for merge module locations and file searching.

Table 24-18: Merge Module Options Tab Settings

Setting Description
Merge Module Locations
(Current User) and Merge
Module Locations (All
Users) The All Users option is available if you would like to run a
command-line build under a system account for which you
cannot easily update the user settings.
Enter the paths where you will be storing merge modules. For
installation projects, the Redistributables view of the InstallShield
interface displays all of the merge modules in these folders.
Separate additional paths with a comma, as in the following
example:

C:\MergeModules,C:\My Files\MergeModules

The first path you list is where InstallShield should copy merge
modules after they are built, if specified. The folder is created if it
does not exist.
The default location for copying new merge modules is the
MergeModules folder in the location that is specified in the Project
Location field on the File Locations tab.

345 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Options Dialog Box

Table 24-18: Merge Module Options Tab Settings (cont.)

Setting Description
Matching files must have When you add a file to your project, InstallShield searches the
the same version merge modules to see if there is a module that contains that file
and notifies you of any matches.
If the files must be the same version in order to be considered a
match, select this check box.
Matching files must have When you add a file to your project, InstallShield searches the
the same destination merge modules to see if there is a module that contains that file
and notifies you of any matches.
If the files must have the same destination in order to be
considered a match, select this check box.

Quality Tab
The Quality tab on the Options dialog box provides you with the option of joining the
Customer Experience Improvement Program, which works on improving the quality
and reliability of software and services from Macrovision Corporation.
Participation is not mandatory, but Macrovision Corporation appreciates your input.

Updates Tab
The Updates tab on the Options dialog box is where you specify how often the Update
Service should check for updates to InstallShield. It also lets you specify whether
automatic update notification should be enabled by default for all new projects that
you create in InstallShield.

Table 24-19: Updates Tab SettingsInstallShield

Setting Description
Check for software Select an option from this list to indicate how often you want
updates InstallShield to check for software updates.
Enable automatic update Select this check box if automatic update notification should be
notification in all new enabled in all new projects that you create in InstallShield. You can
projects override this automatic update notification setting for specified
projects if necessary.

The Update Service cannot be used to deploy an upgrade for


your installation if the Update Service was not enabled in the
original installation.

InstallShield Express Edition User Guide 346


Chapter 24: Dialog Box Reference
Options Dialog Box

.NET Tab
The .NET tab on the Options dialog box is where you specify preferences for .NET
projects. It is also where you specify the location of the Regasm.exe and
InstallUtilLib.dll files, which are utilities that are included with the .NET
Framework. These utilities are used for COM interop and .NET custom actions.

Table 24-20: .NET Tab Settings

Setting Description
Default .NET Scan At Build In this list, select how the .NET Scan at Build property should be set
File Setting for new portable executable files that are added to your project.
Regasm.exe location In this field, type the path or browse to the location of
Regasm.exe.
InstallUtilLib.dll location In this field, type the path or browse to the location of
InstallUtilLib.dll.

Files View Tab


The Files View tab on the Options dialog box is where you select the columns that you
want to be displayed in the Files view and in the Files and Features view. After you
select the columns that you want displayed, close and reopen your project to see the
changes take effect.

IMPORTANT Selecting the Version check box slows down the Files view and the Files and Features view.

File Extensions Tab


The File Extensions tab on the Options dialog box is where you specify preferences
for Portable Executable (PE) files.

Table 24-21: File Extensions Tab Settings

Setting Description
Portable Executable File In this box, type the file extensions that you would like InstallShield
Extensions to consider to be PE files. Separate extensions with a comma. The
default entry for this box is the following:
AX,EXE,DLL,OCX,VXD,CHM,HLP,TLB

347 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Outputs Dialog Box

Outputs Dialog Box


The Outputs dialog box displays information about a project output group in the File
System Editor. This dialog box is available for InstallShield projects created in
Microsoft Visual Studio .NET.

TASK To access the Outputs dialog box, do one of the following:

• Select the Outputs property in the Properties window when a project output
group is selected in the File System Editor.
• In the Files view, right-click an item in the Source computer’s files pane and
click Resolve Project Output.
• In the Files view, right-click an item in the Destination computer’s files pane
and click Resolve Project Output.

NOTE If multiple project output groups are selected, information is displayed only for the first group
selected.

Dialog Box Settings

Target Name
Displays the file name for the selected project output group as it will be displayed on a
target computer. This field is read only.

Source Path
Displays the path to the project output group files on the development computer. This
field is read only.

Permissions Dialog Box for Files and Directories


The Permissions dialog box for files and directories is used to secure individual
portions of an application in a locked-down environment. Access the Permissions
dialog box by clicking the Permissions button in a particular file’s Properties dialog
box or in a particular folder’s Properties dialog box.

NOTE Permissions require NTFS partition so they will only work on Windows NT, 2000, or XP systems.

InstallShield Express Edition User Guide 348


Chapter 24: Dialog Box Reference
Permissions Dialog Box for Registry Keys

Name(s)
In the Name(s) grid, you can enter any combination of domains and user names.

TIP When you right-click a row in the grid, you can access commands to create a new entry, modify
an entry, or delete an entry.

Permissions
For files and directories, the following set of permissions is displayed:
• Full Control
• Modify
• Read & Execute
• Read
• Write
• Special Permissions

Permissions Dialog Box for Registry Keys


The Permissions dialog box for registry keys is used to secure individual portions of
an application in a locked-down environment. Access the Permissions dialog box by
right-clicking any registry key in the Registry view and clicking Properties.

NOTE Permissions require NTFS partition so they will only work on Win NT, 2000, or XP systems.

Name(s)
In the Name(s) grid, you can enter any combination of domains and user names.

TIP When you right-click a row in the grid, you can access commands to create a new entry, modify
an entry, or delete an entry.

Permissions
For registry keys, the following set of permissions is displayed:
• Full Control
• Read
• Special Permissions

349 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Select Icon Dialog Box

Select Icon Dialog Box


The Select Icon dialog box enables you to browse for an icon in .ico files, .dll files,
and .exe files. This simplifies the process of specifying the location of the icon file and
the index of the icon within the file.

TASK To select an icon:

1. Locate a file to view by entering the path to the file in the File name box and
pressing ENTER, or by clicking Open Folder and browsing to the file. All the
icons within the file are displayed in the list.
2. When you locate an icon file, you can select the icon to be used with the mouse or
the cursor keys. Use the View large icons and View small icons options to
preview the icons in the list and see how they will appear in the standard 32x32
and 16x16 sizes.

NOTE The View large icons and View small icons radio buttons have no effect on the index of the icon
selected. They are used only to preview the icons in each size.

Set INSTALLDIR Dialog Box/Set DATABASEDIR


Dialog Box
Use these dialog box to browse to a directory, create a new directory, rename a
directory, or delete a directory. When you click OK, either INSTALLDIR or
DATABASEDIR is set to the selected directory—depending on the dialog box you
are in.

Dialog Box Settings

Destination Directories
This field lists all of the currently available destination directories. You can select,
create, rename, or delete directories in this field.

InstallShield Express Edition User Guide 350


Chapter 24: Dialog Box Reference
Set INSTALLDIR Dialog Box/Set DATABASEDIR Dialog Box

Selecting a Directory

TASK To select a directory:

1. Click a directory to select it.


2. Click OK.

Creating a New Directory

TASK To create a new directory

1. Type the directory name.


2. Provide a directory identifier, if necessary.

Renaming a Directory

TASK To rename a directory:

1. Select a directory or Destination Computer and press F2, or right-click and click
Rename.
2. Type the new directory name. Note that you cannot rename predefined directories.
3. Rename the directory identifier, if necessary, to be consistent with the directory’s
new name.

Deleting a Directory

TASK To delete a directory:

Select a directory and press DELETE, or right-click the directory and click
Delete. Note that you cannot delete predefined directories.

NOTE When you delete a directory, any subdirectories beneath the selected directory are also deleted.

Directory Identifier
You can use the Directory Identifier field to provide a user-friendly name for a
directory. For example, if you have a directory—

351 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Setup DLL Properties Dialog Box

ProgramFilesFolder\MyProgram\Graphics\Jpg—you can use just JPG to identify


the directory path. The InstallShield interface displays the path as follows:
{JPG} [ProgramFilesFolder]MyProgram\Graphics\Jpg

NOTE The directory identifier must be a valid MSI identifier.

Setup DLL Properties Dialog Box


The Setup DLL Properties dialog box is used to view and edit the properties of Setup
DLLs to be built into the Windows Mobile installation.

Dialog Box Settings

Description
This property specifies a short description of the document type; this description will
be displayed when the user views the properties of a document file in the Windows
Explorer.

Extension
The file extension used by the document type. When the user opens a file with this
extension, the application associated with it will be automatically launched to view it.
The extension is not case-sensitive, and it does not need to begin with a leading period
(.).

Application
This property contains a list of all the executables being installed into the folder
specified on the Destination Information panel. The file that is selected here will be
used to open documents with the specified file extension.

NOTE To be listed, the files must have an .exe extension, and they must be installed into the default
destination folder. If your main application executable does not appear in the list, it might not be
installed into the default destination folder.

Index Icon
This property specifies the zero-based index of an icon within the executable, which
will be displayed when the user views a document file in the Windows Explorer. By

InstallShield Express Edition User Guide 352


Chapter 24: Dialog Box Reference
Setup Prerequisites Properties Dialog Box

default, this property is set to zero (0) to display the first icon within the executable
file.

NOTE The number and order of icons in the executable are determined when it is built. InstallShield
cannot determine the icon index. If you are unsure of the correct index for your document icon,
you can begin with an index of zero and gradually increase it until the desired icon is found.

Setup Prerequisites Properties Dialog Box


The Setup Prerequisites Properties dialog box lets you specify parameters for the
selected setup prerequisite.

Build Location
Select the appropriate option from this list. You have three options:
• Download From The Web—To download the setup prerequisite files included in
your project (if necessary) from the URL specified in the setup prerequisite (.prq)
file for each prerequisite, select this option.
• Extract From Setup.exe—To compress the setup prerequisite files into
Setup.exe, to be extracted at run time, if necessary, select this option.
• Copy From Source Media—To store the setup prerequisite files at the root
directory of the source media, select this option.

TIP If you select the Extract From Setup.exe option or the Copy From Source Media option
and then build a release that includes a setup prerequisite that is not available on your
computer, one or more build errors are generated for every file that the prerequisite requires.
To avoid these build errors, either download the setup prerequisite from the Internet to your
computer or remove it from your project before building the release.

Shortcut Properties Dialog Box


The Shortcut Properties dialog box enables you to provide definition for your shortcut
that will launch a Windows Mobile/smart device application on a Windows Mobile/
smart device. The Shortcut Properties dialog box is used to view and edit the
properties of shortcuts to be created on the Windows Mobile/smart device.

353 InstallShield Express Edition User Guide


Chapter 24: Dialog Box Reference
Shortcut Properties Dialog Box

Dialog Box Settings

Display Name
This is the name of the shortcut as it will appear on the Windows Mobile/smart device.
It is not necessary to add the .lnk extension to the name of the shortcut.

Target
This property specifies the full path and file name of the file on the Windows Mobile/
smart device that is to be executed when the shortcut is clicked. The list contains the
paths to all of the files being installed onto the Windows Mobile/smart device. Select
the appropriate file from the list.

NOTE This section applies to Windows Mobile applications only.

Platform
This property determines which types of Windows Mobile device (Handheld PC,
Palm-size PC, etc.) the shortcut should be installed onto. One or more platform types
can be selected by selecting the appropriate boxes in the list; at least one platform type
must be selected to continue. The default is to support all platforms, enabling you to
distribute your application to the largest number of users.

Destination
This property specifies the destination folder on the Windows Mobile/smart device
where the shortcut is to be created. By default, all shortcuts are placed in the
\Windows\Start Menu\Programs folder.

NOTE Each time the number or types of supported platforms is changed, the destination folder list is
rebuilt to include only the folders that the different platforms have in common. For example, the
Handheld devices have a \Windows\Desktop folder, whereas the Palm-size and Pocket PC
devices do not. Therefore, the only way the Desktop folder can be selected as the destination
for the shortcut is if only Handheld platform types are selected.

Creating Shortcuts on the Start Menu


It is often useful to place a shortcut to the application in the Start menu, usually in a
subfolder of Start Menu\Programs. However, because of an issue with the Windows
Mobile operating system, it may not be possible to create new folders during
installation unless they are directly beneath the folder specified on the Destination

InstallShield Express Edition User Guide 354


Chapter 24: Dialog Box Reference
Update Merge Module Search Path Dialog Box

Folders panel. This means that unless the entire application was installed directly into
the Start Menu folder, the necessary folder cannot be created.
There are two possible workarounds to this problem:
• Using a Descriptive Name—Since the Start Menu\Programs\Company Name
folder cannot be created without installing the entire application itself into the
Start Menu folder, the easiest way to create a readily identifiable shortcut is to use
a more descriptive name. For example, instead of trying to create a shortcut
named Start Menu\Programs\Company Name\App Name, create it as Start
Menu\Programs\Company Name App Name.
• Using a Setup DLL—Another way to work around this limitation is to write a
setup .dll file that uses the SHGetSpecialFolderLocation() and SHCreateShortcut()
APIs to locate the Start Menu\Programs folder and create the subfolder and
shortcut on the device. The setup .dll file would also be responsible for the
removal of the subfolder and shortcut during uninstallation.

Update Merge Module Search Path Dialog Box


This dialog box appears when you use the Browse for Merge Module command to
add a merge module to your installation project. It displays the path that will be added
to the merge module search path (Merge Module Locations field) in the Options
dialog.
Click OK to approve the action.

Upgrade Express Project Name Dialog Box


After you have selected the InstallShield Express 2.x project that you want to import
into the current version of InstallShield, you are be prompted to enter the path and
name of the new project file you want to create.
Enter the fully qualified file name, or click the Browse button to navigate to the folder
where the file will be created.

355 InstallShield Express Edition User Guide


25
WIZARD REFERENCE

InstallShield includes many wizards to assist you in creating your installation project.

PROJECT Not all wizards are available with all project types.

The following wizards are available in InstallShield.


• Access 97 Object Wizard
• Access 2000/2002/2003 Object Wizard
• Acquire New License Wizard
• BDE Designer
• Create New QuickPatch Wizard
• Crystal Reports 8 Object Wizard
• Crystal Reports 8.5 Object Wizard
• Crystal Reports 8.5 Service Pack 3 Object Wizard
• Dynamic Scanning Wizard
• Export String Table Wizard
• Import REG File Wizard
• Import String Table Wizard
• InstallShield Merge Module for MSDE 1.0 Object
• MSDE 2000 Object for NT Platforms
• Palm OS Wizard
• Static Scanning Wizard
• System Search Wizard

InstallShield Express Edition User Guide 356


Chapter 25: Wizard Reference
Access 97 Object Wizard

• Visual Basic Wizard


• Visual Studio .NET Wizard for Visual Basic .NET, Visual C++ .NET, and C#
.NET
• Web Deployment Wizard
• Windows Mobile Wizard/Smart Device Setup Wizard

Access 97 Object Wizard


Unlike most of the redistributables included with InstallShield, the Access 97 object
requires a small amount of customization on your part in order to configure your
Access application on the target machine. If you simply want to install Access 97
without setting up an Access application, just associate the Access object (and its three
merge module dependencies) with a feature.
The following panels are associated with the Access 97 Object wizard:
• Welcome
• Access 97 Database File
• Additional Information
• Workgroup File
• Summary

Welcome Panel
This object allows you to install the files required to run an Access application. You
do not have to configure the Access 97 object if all you want to do is install the Access
run-time files, but not set up an Access application.
Click Next to begin customizing the Access object to fit your needs.

InstallShield Express Edition User Guide 357


Chapter 25: Wizard Reference
Access 97 Object Wizard

Access 97 Database File Panel


Provide the location of your Access 97 application (an .mdb file) and choose whether
to create a shortcut for it.

Table 25-1: Access 97 Database File Panel Settings

Setting Description
Database Enter the fully qualified path to the .mdb file as it is stored on the
target system. Instead of hard-coding a path, you can select a
Windows Installer folder property from the list.
For example, if you are installing MyApp.mdb to the destination
folder [DATABASEDIR], then you can safely point to the following
path as the location of your database:
[DATABASEDIR]MyApp.mdb
It is your responsibility to make sure that the database exists on the
target system or a network location. The database file is not
automatically added to your setup project when you enter its path
into the Database field.
Create shortcut Select this option to add a shortcut to your Access 97 database on
the Programs menu. Since a shortcut must belong to a feature,
after you complete the wizard a new shortcut named
AccessShortcut is added to the Shortcuts/Folders view and
associated with the same feature as the Access 97 object.
The shortcut is supplied with initial properties based on your
settings in the Access 97 Object wizard. The most complex of
these properties is the shortcut’s argument; the following table
explains how the command-line argument is constructed:
• /runtime—This command-line parameter ensures the Access
application is opened in run-time mode (as opposed to retail
mode, which allows complete access to the database’s
tables).
• [database]—[database] contains the fully qualified path to the
.mdb file that you provided in the Database field (above).
• /profile [profile name]—This parameter opens the database
with the user profile you enter in the Additional Information
panel.
• /wrkgrp [file name]—This parameter instructs Access to
use the specified workgroup information (.mdw) file.

Additional Information Panel


In this step, you can configure custom user profile information. When the Access
application is opened with this user profile, it contains customized elements, such as a
splash screen graphic with the product’s logo.

InstallShield Express Edition User Guide 358


Chapter 25: Wizard Reference
Access 97 Object Wizard

The files you specify for the icon, help, and splash screen are not automatically added
to your project. You must install them yourself if you cannot be certain that they are
present on the target system.

Table 25-2: Additional Information Panel Settings

Setting Description
User profile This is the name of the custom user profile you are creating. This
field is required if you want to use a custom user profile.
This profile applies to all users who open the Access application
with the /profile <profile name> command-line parameter. This
profile name is supplied for the shortcut’s argument if you chose to
create a shortcut.
Title bar Enter a new title for the title bar of your Access application. If you
leave this field blank, the title bar defaults to “Access 97.”
Icon Enter the path and file name of the icon (.ico) file you want to be
displayed to the left of the title bar. If you leave this field blank, the
default Access icon is used.
The path for the icon is the folder where it will be stored on the
target system. If you are installing this icon as one of your feature’s
files, use the same path as the file’s destination.
Help file Enter the path and file name of the Windows help (.hlp) file, if any,
that you have created for your Access application.
Splash screen Enter the path and name of the bitmap (.bmp) file that you want
displayed as the splash screen for your Access application. You
can leave this field blank.

Workgroup File Panel


In this step, you can select a custom workgroup information (.mdw) file and configure
how it is installed. If you are not using a custom workgroup with your Access
database, you can skip this step.

Table 25-3: Workgroup File Panel Settings

Setting Description
Workgroup file Enter the path and name of the workgroup file as it can be found on
the target system. Once you enter a value into this field, the check
boxes become enabled.
If you are installing this icon as one of your feature’s files, use the
same path as the file’s destination.
Register as the system/ Make your workgroup the default workgroup on your user’s
default workgroup file system. Any existing system workgroup information file will no
longer be the default.

InstallShield Express Edition User Guide 359


Chapter 25: Wizard Reference
Access 2000/2002/2003 Object Wizard

Table 25-3: Workgroup File Panel Settings (cont.)

Setting Description
Use the /wrkgrp The argument /wrkgrp <file name> tells Access to use the
command-line argument specified workgroup information file with your database regardless
of the registered system workgroup file. When you select this
option, the command-line argument /wrkgrp <file name>, where
<file name> stands for the path to the workgroup file (above), is
added to the Access application’s shortcut.

TIP If you choose to include a custom workgroup, you can select either, both, or neither of the
Register as the system/default workgroup file and Use the /wrkgrp command-line argument
settings for your workgroup. Selecting both of these causes your workgroup to be used for all
Access databases. If the user decides to set a different default workgroup, your workgroup is
then used only with your database.

Summary Panel
In this final step in the Access 97 Object wizard, you can review the choices you made
in the previous steps. This dialog box displays the configuration you selected for the
user profile and workgroup for your Access database application.
If these settings are incorrect, click the Back button to return to the previous steps. If
you are satisfied with these choices, click the Finish button to close the wizard.

TIP If you have not already done so, do not forget to add your database, workgroup, and other files
to your setup project.

Access 2000/2002/2003 Object Wizard


Unlike most of the redistributables included with InstallShield, the Access 2000/2002/
2003 object requires a small amount of customization on your part in order to
configure your Access application on the target machine.
The following panels are associated with the Access 2000/2002/2003 Object wizard:
• Welcome
• Redistributable Path
• Build Location
• Summary

InstallShield Express Edition User Guide 360


Chapter 25: Wizard Reference
Access 2000/2002/2003 Object Wizard

Welcome Panel
The Access 2000/2002/2003 Object wizard allows you to configure a Microsoft
Access 2000/2002/2003 object that you have added to your setup project. In the
Access 2000/2002/2003 Object wizard, you indicate the path to the Access 2000/
2002/2003 redistributable disk image and specify a build location for the
redistributable.
The wizard provides your setup project with the functionality to run the Access 2000/
2002/2003 redistributable, however it does not add specific database (.mdb) files to
your project. You can include the database (.mdb) files that your project requires in
your setup design.

NOTE At build time, the Access 2000/2002/2003 object adds the Access 2000/2002/2003
redistributable files to your setup’s disk image. The object also adds two custom actions to your
setup—InstallAccess and UninstallAccess.

TIP Your setup must be uncompressed on the source medium if you plan on including the Access
2000/2002/2003 object in your setup. If the setup is compressed, the setup cannot locate the
Access 2000/2002/2003 redistributable files.

Click Next to indicate the path to the Access 2000/2002/2003 redistributable disk
image.

Redistributable Path Panel


Microsoft requires that developers who redistribute Access 2000/2002/2003 have an
Office 2000/2002/2003 developer’s license. Because of this requirement, the Access
2000/2002/2003 redistributable files cannot be shipped with InstallShield products.
Therefore, you must have your own copy of the Access 2000/2002/2003
redistributable files.

NOTE You can find the Access 2000/2002/2003 redistributable disk image on Microsoft’s Access
2000/2002/2003 Developer CD or you can download the redistributable files from Microsoft’s
Internet site.

In the Redistributable Path panel, indicate the location of the Access 2000/2002/2003
redistributable disk image.

InstallShield Express Edition User Guide 361


Chapter 25: Wizard Reference
Acquire New License Wizard

TASK To specify the absolute path to the disk image—including the name of the main .msi
package, do one of the following:

• Type the complete path to the disk image in the text box. You can use a path
variable.
• Click the Browse button to navigate to the disk image’s location.
Click Next to indicate the build location for the Access 2000/2002/2003
redistributable.

Build Location Panel


When you build a release, the Access 2000/2002/2003 object copies the required
Access 2000/2002/2003 redistributable files to your setup project’s disk image. The
build location indicates where on the disk image the Access 2000/2002/2003
redistributable files are placed.
In the Build Location panel, indicate the Access 2000/2002/2003 redistributable’s
build location by specifying a path relative to the Disk1 folder created by the build
engine. By default, the build location for the Access 2000/2002/2003 redistributable is
AccessRT. You can indicate a different build location by deleting the default location
name and typing a new relative path in the text box.

NOTE The object will be uncompressed on your setup project’s disk image. This is the only available
release configuration for the Access 2000/2002/2003 object.

Click Next to review the Access 2000/2002/2003 Object wizard information.

Summary Panel
In the Summary panel, review the information you supplied for the Access 2000/2002/
2003 redistributable object.
If any of the information in the Summary panel is incorrect, click the Back button to
return to the previous panels. Otherwise, click the Finish button to close the wizard
and add the Access 2000/2002/2003 redistributable to your setup project.

Acquire New License Wizard


Use the Acquire New License Wizard to obtain a license for your trialware.
InstallShield uses the license to wrap a trialware shell around your product’s
executable file (.exe, .dll, .ocx, or .scr file). The executable file can be unwrapped and

InstallShield Express Edition User Guide 362


Chapter 25: Wizard Reference
Acquire New License Wizard

used only according to the license settings that you configure, such as the trial limit (a
specified number of days or a specified number of uses).
In most cases, you should acquire a unique license for each version of your product.
For more information, see Acquiring a License.
The following panels are associated with the Acquire New License Wizard:
• Welcome
• Configure Trialware Credentials
• Communicating with the License Server

Welcome Panel
The Welcome panel is where you create a user name and password to log on to the
InstallShield Activation Service Publisher Web Site if do not already have them. You
need a user name and password in order to be able to connect to the license server and
download a license. Your user name must have write access to the licensing part of the
Web site.

Configure Trialware Credentials Panel


The Configure Trialware Credentials panel is where you enter information needed to
obtain a license.

Table 25-4: Settings for the Configure Trialware Credentials Wizard Panel

Setting Description
Description Type a description for the license that you are obtaining. The
description that you enter is for your reference only; it is not
displayed to end users of your product.
Version Type the version number of your product.
User name Type your user name for the InstallShield Activation Service Publisher
Web Site. The default value for this box is the value entered on the
Configure Trialware tab of the Options dialog box.
Password Type the password for your user name. The default value for this box
is the value entered on the Configure Trialware tab of the Options
dialog box.

Communicating with the License Server Panel


The Communicating with the License Server panel shows a progress bar as the license
server is contacted and a license is created for your executable file.

InstallShield Express Edition User Guide 363


Chapter 25: Wizard Reference
BDE Designer

If you are acquiring a license for Try and Buy/Product Activation trialware, the
license and product are added to the InstallShield Activation Service Publisher Web
Site.
When you have obtained the license and closed the wizard, the new license is added to
the License(s) list for your executable file on the General tab of the Trialware view.

BDE Designer
BDE support is provided through the use of a merge module. Unlike most of the
redistributables in your gallery, the BDE module requires your customization in order
to function properly. This customization is accomplished with the BDE Designer
wizard. To launch this wizard, go to the Redistributables view and select the check
box for the BDE merge module.
The following panels are associated with this wizard:
• Welcome
• INI File Location
• Configure INI File
• Add Alias
• Summary

Welcome Panel
The BDE designer allows you to customize the BDE runtime files installed on the
target system. The customization of these files is a crucial part of your setup and
requires in-depth knowledge of BDE architecture. Use of this merge module requires
that you have Borland Delphi installed on your machine. Click the Next button to
begin customizing your BDE installation.

INI File Location Panel


Select the INI file containing your desired BDE configuration or create a new file.

Table 25-5: INI File Location Panel Settings

Setting Description
Create a new BDE Select this option if you want to create a BDE configuration file from
configuration file scratch. Click the Browse button to navigate to the directory where
you want this file created.
Open an existing BDE Select this option if you have already created a BDE configuration
configuration file file. Click the Browse button to navigate to the desired file.

InstallShield Express Edition User Guide 364


Chapter 25: Wizard Reference
BDE Designer

Configure INI File Panel


From this panel you can launch Borland/Inprise BDE merge module configuration
utility. This utility allows you to specify the types of drivers you want associated with
your BDE installation. Additionally, you can configure these drivers to suit your
needs.
If you are using an existing, preconfigured BDE Configuration file, you can skip this
step.
Click Launch to open the Borland/Inprise BDE merge module configuration utility, or
click Next to skip this step.

Add Alias Panel


The Add Alias panel allows you to create or edit aliases for use in your application.

Table 25-6: Add Alias Panel Settings

Setting Description
Alias Name Select a preconfigured alias from the list or enter the name of a
new alias.
Driver Name If you selected a preconfigured alias, this field contains the
appropriate driver. If you are creating a custom alias, select the
driver you want your alias associated with.

The driver you select here is not installed unless you check it in
the BDE Merge Module Configuration Utility.
Parameter Overrides If you selected a preconfigured alias the default parameter
overrides appear in this text box. Type in custom overrides or
accept the defaults as needed by your application. For custom
aliases, you can press the Defaults button to show the default
parameters for the driver you selected.
Defaults Click the Defaults button to revert the parameter overrides to their
default state.
Clear Click the Clear button to clear the parameter overrides text box.

InstallShield Express Edition User Guide 365


Chapter 25: Wizard Reference
Create New QuickPatch Wizard

BDE Merge Module Configuration Utility


The BDE Merge Module Configuration Utility, provided by Borland, allows you to
customize the BDE installation to fit your product’s needs.

Table 25-7: BDE Merge Module Configuration Utility Settings

Setting Description
Alias Select from the list the Alias you want to include in your setup. If
you have not yet created an alias, click the Add button.
Add Click the Add button to view the Add Alias panel and add aliases to
your setup.
Edit Click the Edit button to change the settings of an alias.
Delete Click the Delete button to remove an alias from the list.
Driver Check the box next to the driver or drivers you want to install. If you
know the necessary driver is already on the target machine you can
skip this step.

You can use standard MSI folders, such as


[ProgramFilesFolder] when specifying the driver. You can also
use [INSTALLDIR].

Summary Panel
The Summary panel displays all the configuration settings you supplied for your BDE
installation. Review these settings to ensure accuracy and click the Finish button to
have the BDE merge module added to your setup.

Create New QuickPatch Wizard


A QuickPatch project is recommended for installation authors who want to ship small,
single updates to their users. The creation of a QuickPatch project begins with the
Create New QuickPatch Wizard.
The following panels are associated with the Create New QuickPatch Wizard:
• Welcome
• Project Name
• Release to Patch
• Final

InstallShield Express Edition User Guide 366


Chapter 25: Wizard Reference
Create New QuickPatch Wizard

Welcome Panel
A QuickPatch project is recommended for setup authors who want to ship small,
single updates to their users. Running the Create New QuickPatch Wizard produces
the following deliverable types: *.msp and *.exe files.
The creation of a QuickPatch project always begins with the Create New QuickPatch
Wizard. Following through the wizard will ensure that all basic requirements for the
QuickPatch project are met.
Click Next to continue.

NOTE Anytime you click Cancel or Exit in the wizard, QuickPatch project creation will be incomplete,
and the QuickPatch project will not open in InstallShield.

Project Name Panel


Since QuickPatch projects rely on the setup author’s knowledge of what to change or
patch in the original installation or Setup.exe file, you must specify the path to the
original installation. The original setup is the base setup for the new patch. The Create
New QuickPatch Wizard will create a patch that can only update this installation.
In this panel, configure the following settings:

Table 25-8: Project Name Panel Settings

Setting Description
QuickPatch Project Name Enter a name for your QuickPatch Project or click the browse
button to open an existing project. If applicable, you will be
prompted to verify whether or not you want to overwrite an existing
project.
Built MSI package or Specify the location of your built MSI package or Setup.exe or click
Setup.exe to patch the browse button to locate an existing setup. The Create New
QuickPatch Wizard will create a project that can only validate this
setup.

Release to Patch Panel


In this panel, select a release in a project from which to build the patch. You can only
select one release which has been built. You also have the option to browse for an
external release. To activate that option, click the associated radio button, and browse
for the release.

InstallShield Express Edition User Guide 367


Chapter 25: Wizard Reference
Crystal Reports 8 Object Wizard

Final Panel
You will see this wizard panel after you have successfully completed the Create New
QuickPatch Wizard. When you see this panel, an administrative installation of your
project is about to be launched shortly. Once the administrative installation is
complete, InstallShield creates a QuickPatch project with the information you
provided in the wizard panels.

Crystal Reports 8 Object Wizard


The Crystal Reports 8 Object wizard allows you to include Crystal Reports 8
components in your setup. At build time, the modules you select in the wizard are
added to your project.
The following panels are associated with the Crystal Reports 8 Object Wizard:
• Welcome
• Engine Access Methods
• Export Formats
• Export Destinations
• Database Connections
• Additional Components
• Summary

Welcome Panel
The Welcome panel is the first panel displayed in the Crystal Reports 8 Object wizard.
Click Next to proceed to the Engine Access Methods panel.

Engine Access Methods Panel


The Engine Access Methods panel allows you to select the methods you want to
support in your setup. The following options are available:

Table 25-9: Engine Access Methods Panel Settings

Setting Description
Crystal ActiveX Control 32-bit OCX
Crystal Reports Engine Interface for C Developers
API (8.0 version)
Crystal Reports 32-bit COM object model, dispatch only
Automation Server (8.0
version)

InstallShield Express Edition User Guide 368


Chapter 25: Wizard Reference
Crystal Reports 8 Object Wizard

Table 25-9: Engine Access Methods Panel Settings (cont.)

Setting Description
Report Designer 32-bit only COM object model, dual interface, apartment model
Component (8.0
version)

TIP Crystal ActiveX Control requires Mfcans32.dll to be present on the target machine. The Crystal
Reports object does not add this file by default. You can add this file to your setup project in the
Files view.

Export Formats Panel


The Export Formats panel allows you to select the export formats required by your
Crystal Reports application. Select this option to enable export support for reports.
The following export formats are included when this option is selected:
• Export Crystal Reports Format (8.0 version)
• Export CSV Format
• Export DIF Format (8.0 version)
• Export Excel Format
• Export Lotus 1-2-3 Format
• Export ODBC (8.0 version)
• Export Record Format
• Export Report Definition Format
• Export Rich Text Format (8.0 version)
• Export Text Format

Export Destinations Panel


The Export Destinations panel allows you to select the export destinations required by
your Crystal Reports application. Select this option to provide support for standard
Crystal Report destinations (report export locations). The following destinations are
included when this option is selected:
• Export to Application
• Export to Disk (8.0 version)
• Export to Exchange Folders (8.0 version)
• Export to MAPI
• Export to Lotus Domino (8.0 version)

InstallShield Express Edition User Guide 369


Chapter 25: Wizard Reference
Crystal Reports 8 Object Wizard

• Export to VIM

Database Connections Panel


The Database Connections panel allows you to select the database connections you
want to include with your reports. Check the box to the left of the database connection
or connections that you want to include.

Additional Components Panel


The Additional Components panel allows you to select other components that your
reports may require. The following options are available:

Table 25-10: Additional Components Panel Settings

Setting Description
Print Engine Include print capabilities for your reports.
Charts You can include chart functionality in your reports. Select this
option to do so.
Maps (8.0 version) Crystal Reports supports the inclusion of geographic maps in
reports. Select this option to include this functionality.

If you need to include Map functionality, and cannot determine


the exact Map files your Crystal Reports application requires,
you can check the Non-Grid Data Files for Maps box. This will
significantly increase your setup’s size. If you can determine
the specific Map files, they must be installed to
[ProgramFilesFolder]MapInfo MapX\Maps.
SQL Expressions (8.0 Select this option if you want to support SQL expressions in your
version) Crystal reports.
User Function Libraries Select this option if you intend to support User Function Libraries (a
separate DLL or Automation server to which you add your own
custom functions).
Visual Basic 6 Runtime If your reports require Visual Basic runtime components and you
are unsure of whether your target has them installed, you can
include them by selecting this option.

Summary Panel
The Summary panel provides a summary of selections made in the previous panels of
the Crystal Reports 8 Object wizard. It provides a list of merge modules that will be

InstallShield Express Edition User Guide 370


Chapter 25: Wizard Reference
Crystal Reports 8.5 Object Wizard

added to your project, and those merge modules that will be removed. It also reports
merge modules that are needed but missing.

Crystal Reports 8.5 Object Wizard


The Crystal Reports 8.5 Object wizard allows you to include Crystal Reports 8.5
components in your setup. At build time, the modules you select in the wizard are
added to your project.
The following panels are associated with the Crystal Reports Object Wizard:
• Welcome
• Engine Access Methods
• Export Formats
• Export Destinations
• Database Connections
• Additional Components
• Summary

Welcome Panel
The Welcome panel is the first panel displayed in the Crystal Reports 8.5 Object
wizard. Click Next to proceed to the Engine Access Methods panel.

Engine Access Methods Panel


The Engine Access Methods panel allows you to select the methods you want to
support in your setup. The following options are available:

Table 25-11: Engine Access Methods Panel

Setting Description
Crystal ActiveX Control 32-bit OCX
Crystal Reports Engine Interface for C Developers
API (8.5 version)
Crystal Reports 32-bit COM object model, dispatch only
Automation Server (8.5
version)
Report Designer 32-bit only COM object model, dual interface, apartment model
Component (8.5 version)
Embeddable Designer ActiveX Control; allows design and editing Crystal Reports at
Control runtime

InstallShield Express Edition User Guide 371


Chapter 25: Wizard Reference
Crystal Reports 8.5 Object Wizard

TIP Crystal ActiveX Control requires Mfcans32.dll to be present on the target machine. The Crystal
Reports object does not add this file by default. You can add this file to your setup project in the
Files view.

Export Formats Panel


The Export Formats panel allows you to select the export formats required by your
Crystal Reports application. Select this option to enable export support for reports.
The following export formats are included when this option is selected:
• Export Crystal Reports Format (8.5 version)
• Export CSV Format
• Export DIF Format (8.5 version)
• Export Excel Format
• Export HTML Format (8.5 version)
• Export Lotus 1-2-3 Format
• Export ODBC (8.5 version)
• Export PDF Format
• Export Record Format
• Export Report Definition Format
• Export Rich Text Format (8.5 version)
• Export Text Format
• Export XML Format

Export Destinations Panel


The Export Destinations panel allows you to select the export destinations required by
your Crystal Reports application. Select this option to provide support for standard
Crystal Report destinations (report export locations). The following destinations are
included when this option is selected:
• Export to Application
• Export to Disk (8.5 version)
• Export to Exchange Folders (8.5 version)
• Export to MAPI
• Export to Lotus Domino (8.5 version)
• Export to VIM

InstallShield Express Edition User Guide 372


Chapter 25: Wizard Reference
Crystal Reports 8.5 Object Wizard

Database Connections Panel


The Database Connections panel allows you to select the database connections you
want to include with your reports. Check the box to the left of the database connection
or connections that you want to include.

Additional Components Panel


The Additional Components panel allows you to select other components that your
reports may require. The following options are available:

Table 25-12: Additional Components Panel Settings

Setting Description
Print Engine Include print capabilities for your reports.
Charts You can include chart functionality in your reports. Select this
option to do so.
Maps (8.5 version) Crystal Reports supports the inclusion of geographic maps in
reports. Select this option to include this functionality.

If you need to include Map functionality, and cannot determine


the exact Map files your Crystal Reports application requires,
you can check the Non-Grid Data Files for Maps box. This will
significantly increase your setup’s size. If you can determine
the specific Map files, they must be installed to
[ProgramFilesFolder]MapInfo MapX\Maps.
SQL Expressions (8.5 Select this option if you want to support SQL expressions in your
version) Crystal reports.
User Function Libraries Select this option if you intend to support User Function Libraries (a
separate DLL or Automation server to which you add your own
custom functions).
Page Ranged Export This is required when exporting to a format that allows you to set a
page range. These formats include Rich Text Format (.rtf) and the
Adobe Acrobat PDF format.
HTML Translation Select option if you want to include the Crystal Reports component
used for translating the report into an HTML stream.
Visual Basic 6 Runtime If your reports require Visual Basic runtime components and you
are unsure of whether your target has them installed, you can
include them by selecting this option.

InstallShield Express Edition User Guide 373


Chapter 25: Wizard Reference
Crystal Reports 8.5 Service Pack 3 Object Wizard

Summary Panel
The Summary panel provides a summary of selections made in the previous panels of
the Crystal Reports 8.5 Object wizard. It provides a list of merge modules that will be
added to your project, and those merge modules that will be removed. It also reports
merge modules that are needed but missing.

Crystal Reports 8.5 Service Pack 3 Object Wizard


The Crystal Reports 8.5 Service Pack 3 Object Wizard enables you to include Crystal
Reports 8.5 Service Pack 3 components in your installation.
The following panels are associated with the Crystal Reports 8.5 Service Pack 3
Object Wizard:
• Welcome
• Specify Engine Access Methods
• Export Formats
• Export Destinations
• Database Connections
• Additional Components
• Other Requirements
• Summary

Welcome Panel
The Welcome panel is the first panel displayed in the Crystal Reports 8.5 Service Pack
3 Object Wizard. Click Next to proceed to the Specify Engine Access Methods panel.

Specify Engine Access Methods Panel


The Specify Engine Access Methods panel enables you to select the methods that you
want to support in your installation. The following options are available:

Table 25-13: Specify Engine Access Methods Panel Settings

Setting Description
Crystal ActiveX Control 32-bit .ocx
Crystal Reports Engine Interface for C developers
API (8.5 version)

InstallShield Express Edition User Guide 374


Chapter 25: Wizard Reference
Crystal Reports 8.5 Service Pack 3 Object Wizard

Table 25-13: Specify Engine Access Methods Panel Settings (cont.)

Setting Description
Crystal Reports 32-bit COM object model, dispatch only
Automation Server (8.5
version)
Embeddable Designer ActiveX Control; allows design and editing Crystal Reports at run
Control time
Report Designer 32-bit only COM object model, dual interface, apartment model
Component (8.5 version)

TIP Crystal ActiveX Control requires Mfcans32.dll to be present on the target machine. The
Crystal Reports object does not add this file by default. You can add this file to your installation
project in the Files view.

Export Formats Panel


The Export Formats panel enables you to select the types of export formats required
by your Crystal Reports application. The following export formats are available:
• Export Crystal Reports Format (8.5 version)
• Export CSV Format
• Export DIF Format (8.5 version)
• Export Excel Format
• Export HTML Format (8.5 version)
• Export Lotus 1-2-3 Format
• Export ODBC (8.5 version)
• Export PDF Format
• Export Record Format
• Export Report Definition Format
• Export Rich Text Format (8.5 version)
• Export Text Format
• Export Word Format
• Export XML Format

Export Destinations Panel


The Export Destinations panel enables you to select the destinations to which your
Crystal Reports application exports. The following destinations are available:

InstallShield Express Edition User Guide 375


Chapter 25: Wizard Reference
Crystal Reports 8.5 Service Pack 3 Object Wizard

• Export to Application
• Export to Disk (8.5 version)
• Export to Exchange Folders (8.5 version)
• Export to Lotus Domino (8.5 version)
• Export to MAPI
• Export to VIM

Database Connections Panel


The Database Connections panel enables you to specify the database connection
drivers that you want to install with your application.

Additional Components Panel


The Additional Components panel enables you to select other components that your
reports may require. The following options are available:

Table 25-14: Additional Components Panel Settings

Setting Description
ASP ActiveX Viewer To include the ActiveX viewer with your installation, select this
check box.
ASP Java Viewer To include the Java viewer with your installation, select this check
box.
ASP Web Report Server If your application requires the ASP Web Report Server, select this
check box.
Charts To include chart functionality in your reports, select this check box.
HTML Translation If you want to include the Crystal Reports component used for
translating the report into an HTML stream, select this check box.
Maps (8.5 version) Crystal Reports supports the inclusion of geographic maps in
reports. To include this functionality, select this check box.

If you need to include Map functionality but you cannot


determine the exact Map files that your Crystal Reports
application requires, you can select the Non-Grid Data Files for
Maps check box. This will significantly increase your
installation’s size. If you can determine the specific Map files,
they must be installed to [ProgramFilesFolder]MapInfo
MapX\Maps.

InstallShield Express Edition User Guide 376


Chapter 25: Wizard Reference
Dynamic Scanning Wizard

Table 25-14: Additional Components Panel Settings (cont.)

Setting Description
Page Ranged Export This is required when exporting to a format that lets you to set a
page range. These formats include Rich Text Format (.rtf) and the
Adobe PDF.
SQL Expressions (8.5 If you want to support SQL expressions in your Crystal reports,
version) select this check box.
User Function Libraries If you intend to support User Function Libraries (a separate .dll file
or Automation server to which you add your own custom functions),
select this check box.

Other Requirements Panel


The Other Requirements panel lets you specify additional requirements that your
application requires, such as MFC, Microsoft DCOM, and MDAC.

Summary Panel
The Summary panel provides a summary of selections made in the previous panels of
the Crystal Reports 8.5 Service Pack 3 Object Wizard. It provides a listing of merge
modules that will be added to your project, and those merge modules that will be
removed. It also reports merge modules that are needed but missing.

Dynamic Scanning Wizard


The Dynamic Scanning Wizard is an easy way to add an executable’s dependency
files to your setup. This wizard scans a running executable for all .dll and .ocx
dependency files it may have and automatically adds them to your project. The
executable you want to scan can already be added to your setup, or it can be added by
the wizard.
To launch the Dynamic Scanning Wizard, go to the Dependencies view in the View
List. Then, click the Perform Dynamic Scanning button.
The following panels are associated with the Dynamic Scanning Wizard:
• Welcome
• Filter Files
• Specify the Executable
• Specify Application File
• Launch the Application
• Your Application is Running
• File Selection

InstallShield Express Edition User Guide 377


Chapter 25: Wizard Reference
Dynamic Scanning Wizard

• Scan Results
• Completing the Dynamic Scanning Wizard

Welcome Panel
The Dynamic Scanning wizard provides you with an easy path to add your
application’s dependency files to your setup. Before you begin using the scanner, it is
a good idea to add the target executable to your setup.
Click Next to begin using this wizard, or click the Cancel button to return to the IDE.

Filter Files Panel


If you want to exclude certain files from the scanner, you can do so by selecting the
Filter files option on this panel. When you select this option, all files are compared
against a list of files to be excluded from the scan. The files in that list are not added to
your setup project. There are actually two lists of excluded files. The first, called
Iswiscan.ini, contains all common system files that will already be present on a
target system. Since these files are required system files there is no need for you to
reinstall them.
The second file, Userscan.ini, does not contain any files. If you want to add files to
filter, you can insert them into this file and they will not be added to your setup. See
Filtering Files in the Dependency Scanners.

Specify the Executable Panel


In the Specify the Executable panel you can select whether you want to scan an
executable that is already associated with your setup or one that has not yet been
added.

Table 25-15: Specify the Executable Panel Settings

Setting Description
I would like to select an Select this recommended option if the executable you want to scan
executable file from my has already been added to your setup project.
project
I would like to select a Choose this option if the executable you want to scan is not
new executable currently associated with your setup project.

InstallShield Express Edition User Guide 378


Chapter 25: Wizard Reference
Dynamic Scanning Wizard

Specify Application File Panel


The Specify Application File panel enables you to select the specific executable file
you want to scan. Additionally, you can specify command-line parameters for the exe
and a working folder.

Table 25-16: Specify Application File Panel Settings

Setting Description
Application Specify which executable file you want to scan. If you choose to
scan a file that is already associated with your project, select it
from the list of executables present in your setup. If you choose to
scan a file that is not yet a part of your setup, enter the path to that
file or click the Browse button to navigate to it.
Command Line Enter any command-line parameters you want to pass to the
executable. These parameters are only used during the scanning
process and are not used after the wizard has been dismissed.
Working Folder Enter the path to the working folder for this application, or click the
Browse button to navigate to this directory. By default, this
directory is set to the same folder in which the application you
choose to scan resides.

Launch the Application


Before the wizard begins scanning your application, you should be aware that some
audience participation is required in order for the wizard to work its magic. When
your application is launched by the wizard, you should use as many of the features as
you can. This use helps to ensure that all dependency files are located and added to
your setup. Click Next to launch your application and begin scanning for
dependencies.

Your Application Is Running Panel


This panel is displayed while your application is running. When you have finished
making use of your application, click the Done button to view the results of the scan.
No files are added until you have had a chance to confirm the findings of the scan.

InstallShield Express Edition User Guide 379


Chapter 25: Wizard Reference
Export String Table Wizard

File Selection Panel


The File Selection panel allows you to choose which files you want added to your
setup. All files determined by the scanner to be dependencies are listed on this panel.

Table 25-17: File Selection Panel Settings

Setting Description
File Select which files you want added to your setup by checking the
appropriate boxes. Additional information about each of these files
is also displayed in this field such as the feature it will be added to
and the location of the dependency file.
Deselect All Select this option to have none of the displayed files added to your
setup. You can then manually check the files you want added.
Select All Select this option to add all of the displayed files to your setup. You
can then manually deselect the files you do not want included.

Scan Results Panel


The Scan Results panel displays the dependencies located by the wizard. The files
listed in this window are added to your setup project. Click Next to have these files
added or click Cancel to exit the wizard without adding any files to your setup.

Completing the Dynamic Scanning Wizard Panel


By this point the wizard has added the executable’s dependency files to your setup. If
you chose to scan an executable that was not already associated with your setup, that
.exe file has been added as well.
Click Finish to dismiss the wizard and return to the IDE.

Export String Table Wizard


The Export String Table wizard allows you to export your string table to a text (.txt)
file, which can then be imported back into InstallShield when translation has been
completed. The following panels are associated with the Export String Table wizard:
• Welcome
• File Name
• Wizard Complete

InstallShield Express Edition User Guide 380


Chapter 25: Wizard Reference
Import REG File Wizard

Welcome Panel
The easiest way to translate the run-time strings of your setup is to export them to a
text (.txt) file and then have them translated. Once the translation is complete you can
import those strings back into your setup project for a localized version of your
installation. The Export String Table wizard walks you through the task of exporting
all of your strings to a text file.

File Name Panel


This panel allows you to specify the location and filename of the text file all of your
strings will be exported to.

Table 25-18: File Name Panel Settings

Setting Description
File Name Enter the path and filename of the text (.txt) file you want all of your
strings sent to, or click the Browse button to navigate to this file.

Wizard Complete Panel


At this time all of your strings have been sent to the file you specified in the previous
panel. Click Cancel to discard your changes or click Finish to have the changes saved
and return to the IDE.

Import REG File Wizard


The Import REG File Wizard allows you to import existing registry data (.reg) into
your InstallShield project. This registry data is added to the target system’s registry
during the setup project.
The following panels are associated with the Import REG File wizard:
• Welcome
• Import Registry File
• Import Conflict Options
• Import Progress

Welcome Panel
The Import REG File Wizard allows you to import existing registry data (.reg) into
your InstallShield project. This registry data is added to the target system’s registry
during the setup project.

InstallShield Express Edition User Guide 381


Chapter 25: Wizard Reference
Import REG File Wizard

NOTE Before you begin importing registry data be sure that you selected the proper feature to which
you want this data added. To specify a feature, cancel the wizard and select the appropriate
feature from the Feature list at the top of the Registry view.

Click Next to begin importing your .reg file.

CAUTION InstallShield can only import .reg files created by exporting in Regedit, or files that follow that
exact format. Additionally, InstallShield does not support multiline registry values.

Import Registry File Panel


In this panel you can specify the .reg file you want to import.

Table 25-19: Import Regather File Panel Settings

Property Description
Registry File Enter the path to the .reg file you want to import, or click the
Browse button to navigate to this file.

InstallShield can only import .reg files created by exporting in


Regedit, or files that follow that exact format. Additionally,
InstallShield does not support multiline registry values.

Import Conflict Options Panel


Because your setup may already contain registry data that could conflict with
information stored within the .reg file you are importing, you can select how you want
to handle any conflicts.

Table 25-20: Import Conflict Options Panel Settings

Setting Description
Overwrite the registry Select this option if you want data stored within the REG file you are
data importing to overwrite any conflicting data already present in your
installation project.
Do not overwrite the Select this option if you want to retain the data already present in
registry data your installation project when a conflict arises during the import
progress. All nonconflicting registry data are still imported.

InstallShield Express Edition User Guide 382


Chapter 25: Wizard Reference
Import String Table Wizard

Import Progress Panel


This panel displays the import progress of the REG file. Click Cancel to stop the
import or wait until the wizard finishes importing your REG file and click Finish to
return to the IDE.

Import String Table Wizard


Use the Import String Table wizard to import a string table into InstallShield. This
wizard walks you through the task of importing your strings back into InstallShield
after you have had them translated. The following panels are associated with the
Import String Table wizard:
• Welcome
• File Name
• Wizard Complete

Welcome Panel
If you are creating localized versions of your setup you will find it much easier to
export all of your run-time strings for translation. Once those strings have been
translated you can import them back into your setup project. The Import String Table
wizard allows you to point to the text (.txt) file you want to import that contains all of
your translated run-time strings.
When you import a string table, all of your existing strings are overwritten by those in
the string table you are importing. Therefore, make sure you have saved a copy of
your original strings before you import the translated version.

File Name Panel


This dialog allows you to point to the specific text (.txt) file you want to import.

Table 25-21: File Name Panel Settings

Setting Description
File Name Enter the path and filename of the text (.txt) file containing the
strings you want to import, or click the Browse button to navigate
to this file.

Click the Next button to import these strings into your setup project, overwriting any
existing strings you may have.

InstallShield Express Edition User Guide 383


Chapter 25: Wizard Reference
InstallShield Merge Module for MSDE 1.0 Object

Wizard Complete Panel


At this point the strings contained within the text file you specified have been
imported into your setup project. If you want to exit the wizard without saving your
changes, click the Cancel button. Click Finish to save your changes and return to the
IDE.

InstallShield Merge Module for MSDE 1.0 Object


MSDE is the Microsoft Data Engine, a fully SQL Server-compatible data engine for
building desktop and shared solutions that provides the easiest migration path to SQL
Server 7.0. Solutions built with MSDE can be migrated to full SQL Server 7.0 without
requiring a change in a single line of code.
The MSDE object installs and launches the MSDE that Microsoft supplies. The setup
is a package that, once it is unpacked, starts the MSDE setup in silent mode. The
MSDE setup uses a response file to allow it to run silently with one single command
line statement.

System Requirements
Platforms supported are Windows 95, Windows 98, and Windows NT 4.0 Service
Pack 4 and later. Disk space requirement is 30 MB for the redistributable CAB file.
Approximately 40 MB is typical for an installation of the full MSDE engine.

Launching the MSDE 1.0 Object Wizard


The MSDE 1.0 Object Wizard allows you to configure the way MSDE is installed and
run on your end users’ systems. The MSDE 1.0 Object Wizard launches automatically
when you add this object to your project.

TASK To configure the MSDE object, launch the MSDE 1.0 Object Wizard:

1. Go to the Redistributables view in the View List.


2. Select the box next to the InstallShield Merge Module for MSDE 1.0 object to
launch the MSDE 1.0 Object Wizard.
3. Follow the instructions in the wizard panels to add your copy of the MSDE 1.0
redistributable to your setup.

InstallShield Express Edition User Guide 384


Chapter 25: Wizard Reference
InstallShield Merge Module for MSDE 1.0 Object

Welcome Panel
This panel provides a brief introduction to the MSDE 1.0 Object Wizard. This wizard
walks you through all the necessary steps required to configure how the MSDE 1.0
object is installed and run on your end users’ systems.

SQL Data Paths Panel


In the first step in the MSDE Wizard, you specify the SQL Data Root and SQL Data
Path folders.

Table 25-22: SQL Data Paths Panel Settings

Setting Description
Enter the SQL Data Root Specify the path that will be entered as the string data in the target
directory system’s
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup\S
QLDataRoot registry value. You can specify a path explicitly or in
terms of an InstallShield system variable. To specify a path in terms
of a system variable, you can select a system variable from the
drop-down menu and, optionally, type a subpath after it.
Enter the SQL Data Path Specify the path that will be entered as the string data in the target
directory system’s
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup\S
QLPath registry value. You can specify a path explicitly or in terms
of an InstallShield system variable. To specify a path in terms of a
system variable, you can select a system variable from the drop-
down menu and, optionally, type a subpath after it.

Launcher Options Panel


In this panel, you specify your custom InstallShield Silent response file (.iss file), if
any, and whether the -SMS command-line switch is passed to the MSDE setup.

Table 25-23: Launcher Options Panel Settings

Setting Description
Use Custom Response File Select this check box if you want to specify a custom response
(.iss) file. Specify the fully qualified file name of your custom
InstallShield Silent response file (.iss file) or click Browse to
navigate to the file. If you leave this field empty, the MSDE setup
uses the default response file, Unattend.iss. You can specify a path
explicitly or in terms of an InstallShield system variable.

InstallShield Express Edition User Guide 385


Chapter 25: Wizard Reference
MSDE 2000 Object for NT Platforms

Table 25-23: Launcher Options Panel Settings (cont.)

Setting Description
Add the -SMS switch to If this check box is selected, the MSDE object passes the -SMS
the command line of the command-line switch to the MSDE setup. If the check box is not
MSDE setup selected, the object does not pass the switch. This switch prevents
network connections from closing before the MSDE setup is
complete.

Summary Panel
Review the MSDE 1.0 redistributable information summary. Click Finish to close the
wizard and add the MSDE object to your setup, or click Back to return to previous
panels and change your selections.

MSDE 2000 Object for NT Platforms


The MSDE 2000 object enables the installation of support for MSDE 2000.

TASK To add the object to your installation project:

1. Open the Redistributables view.


2. Select the InstallShield MSDE 2000 Object for NT Platforms check box. This
launches the MSDE 2000 Object Wizard.
3. Customize the MSDE 2000 object by selecting options in the MSDE 2000 Object
Wizard.

NOTE The InstallShield MSDE 2000 Object for NT Platforms works only on Windows NT-based
operating systems. If end users run the installation on a Windows 9X platform (and MSDE 2000
needs to be installed), they receive a message saying that the setup cannot install the MSDE
2000 object on the machine. Then the installation exits. The end user will have to install the
MSDE 2000 object and then rerun the setup.
This limitation is because of a incompatibility of Windows Installer and the MSDE 2000 setup
itself. The MSDE 2000 setup is a Windows Installer (.msi) setup. The only way one .msi can
launch another .msi is as a nested .msi custom action. However, the MSDE 2000 readme file
specifically says that you cannot install MSDE 2000 as a nested .msi custom action.
The only other option is to launch it is in the InstallUISequence. With this method, the
InstallUISequence installs the MSDE 2000 object and the InstallExecuteSequence installs your
application. This works on Windows NT-based machines because each sequence is run in a
separate thread. However, on Windows 9x systems, both sequences are run in the same
thread. This makes the MSDE 2000 setup fail with an error of "another setup is currently in
progress." Therefore, end users cannot install the MSDE 2000 object on a Windows 9x machine
as part of your installation (if your installation is Windows Installer based). This would be the case

InstallShield Express Edition User Guide 386


Chapter 25: Wizard Reference
MSDE 2000 Object for NT Platforms

even if you tried to create your own custom action to install the MSDE 2000 object on Windows
9X machines.

Welcome Panel
The MSDE 2000 Object Wizard allows you to configure an MSDE 2000 object that
you have added to your setup project. In the MSDE 2000 Object Wizard, you can
customize MSDE installation locations, alter default instance and collation settings,
and indicate upgrade settings.

NOTE The InstallShield MSDE 2000 Object for NT Platforms works only on Windows NT-based
operating systems. If end users run the installation on a Windows 9X platform (and MSDE 2000
needs to be installed), they receive a message saying that the setup cannot install the MSDE
2000 object on the machine. Then the installation exits. The end user will have to install the
MSDE 2000 object and then rerun the setup.
This limitation is because of a incompatibility of Windows Installer and the MSDE 2000 setup
itself. The MSDE 2000 setup is a Windows Installer (.msi) setup. The only way one .msi can
launch another .msi is as a nested .msi custom action. However, the MSDE 2000 readme file
specifically says that you cannot install MSDE 2000 as a nested .msi custom action.
The only other option is to launch it is in the InstallUISequence. With this method, the
InstallUISequence installs the MSDE 2000 object and the InstallExecuteSequence installs your
application. This works on Windows NT-based machines because each sequence is run in a
separate thread. However, on Windows 9x systems, both sequences are run in the same
thread. This makes the MSDE 2000 setup fail with an error of "another setup is currently in
progress." Therefore, end users cannot install the MSDE 2000 object on a Windows 9x machine
as part of your installation (if your installation is Windows Installer based). This would be the case
even if you tried to create your own custom action to install the MSDE 2000 object on Windows
9X machines.

Functionality Panel
In the Functionality panel, you can select the optional MSDE 2000 functionality that
your application requires. There are three options:
• Data Management Objects (DMOs)
• Replication
• Core Functionality

NOTE An option appears only if all of the corresponding merge modules exist on the development
system.

InstallShield Express Edition User Guide 387


Chapter 25: Wizard Reference
MSDE 2000 Object for NT Platforms

Directories Panel
This panel allows you to customize the MSDE 2000 installation locations.

Table 25-24: Directories Panel Settings

Setting Description
Customize SQL Server Select this option to customize the SQL Server system database
system database location location. Type the path to the database in the edit field.
Customize Desktop Select this option to customize the Desktop Engine executable files
Engine executable files location. Type the path to the executable files in the edit field.
location

Instance and Collation Settings Panel


This panel allows you to change the instance and collation settings from their defaults.

Table 25-25: Instance and Collation Settings Panel Settings

Setting Description
Specify instance name (if Select this option to specify an instance name other than the
unspecified, instance is default. Type the instance name in the edit field.
installed as a default
instance)
Specify default collation Select this option to specify a default collation for the instance.
for instance Type the default collation name in the edit field.

Upgrade and Security Panel


This panel allows you to provide settings for upgrading MSDE 1.0. In addition, you
can select SQL security.

Table 25-26: Upgrade and Security Panel Settings

Setting Description
Upgrade an instance of Select this option if you want the MSDE 2000 object to update an
MSDE 1.0 instance of MSDE 1.0 if it is installed on the target system.
Specify MSDE 1.0 Select this option to specify an MSDE 1.0 username. Type the
username username in the edit field.
Use SQL security mode Select this option to enable SQL security mode.

InstallShield Express Edition User Guide 388


Chapter 25: Wizard Reference
MSDE 2000 Object for NT Platforms

Service Pack 3 Panel


In the Service Pack 3 panel, you can set the following new switches for the Setup.exe
in the Desktop Engine (MSDE) setup and customize the Microsoft Data Engine
(MSDE) installation that uses merge modules. By selecting options in this wizard
panel, InstallShield allows you to assign specific internal properties used in the SQL
Server 2000 SP3 MSDE merge modules to a specific value. Internally, InstallShield
edits the Property table of the .msi file and sets the Internal Property to a specific value
when you select or deselect one of the following options:

Table 25-27: Service Pack 3 Panel Settings

Setting Description
Enable cross-database Selecting this check box enables a new security enhancement-
ownership chaining related option for configuring cross-database ownership chaining.
This internally sets the SqlAllowXDBChaining property value to 1
and enables cross-database ownership chaining across all
databases. By default, this option is deselected.
According to Microsoft, cross-database ownership chaining occurs
when the source object depends on objects in another database. A
cross-database ownership chain works in the same way as
ownership chaining in a database, except that an unbroken
ownership chain is based on all the object owners being mapped to
the same login account. Therefore, in a cross-database ownership
chain, if the source object in the source database and the target
objects in the target databases are owned by the same login
account, SQL Server does not check permissions on the target
objects.
Enable network protocols If this check box is not selected, SP3a will turn off the network
support when new instances of MSDE 2000 are installed. If you
disable the network support when installing an instance of MSDE
2000 SP3a, you can later reconfigure the instance to enable the
support. For more information about disabling and restoring
network access, see Microsoft Knowledge Base article 814130. If
no application running on another computer will connect to your
instance of MSDE 2000, the instance has no need for network
support and it is prudent to turn off a resource that is not being
used.
Set an upgrade password When you select this option and enable the text field, you will be
able to specify the password for the logon that is used when you
upgrade Desktop Engine by using SQL Server Authentication.

InstallShield Express Edition User Guide 389


Chapter 25: Wizard Reference
MSDE 2000 Object for NT Platforms

Table 25-27: Service Pack 3 Panel Settings (cont.)

Setting Description
Allow installation to If you select this option, you can perform an installation with a blank
proceed with a blank sa sa password. Regardless of whether an instance of Desktop Engine
password is using Microsoft Windows or Mixed Mode authentication, the
installation cannot continue if a blank password is detected for the
sa logon. A warning message appears if a blank password is
detected. If you have a blank password for the sa logon, before you
continue you must change the password by using the sp_password
stored option. See the Set an sa password option below.
Set an sa password Selecting this option allows you to specify the sa password. You
can use this option for new installations. Unlike other properties,
this property is hidden and the value is not written to the log file.

NOTE • If you specify both the Set an sa password and Allow installation to proceed with a blank sa
password, setting an sa password takes precedence and the blank sa password is ignored.
• If you are using an .ini file during setup, avoid storing credentials in the .ini file.

Setup Options Panel


The Setup Options panel allows you to specify installation and uninstallation settings
for the MSDE 2000 object.

Table 25-28: Setup Options Panel Settings

Setting Description
Disable uninstall of MSDE Select this check box to prevent the end user from uninstalling the
from Add/Remove MSDE 2000 object from Add/Remove Programs in Control Panel.
Programs An entry for MSDE 2000 will appear in Add/Remove Programs but
the Remove button will be disabled if this check box is selected. If
this check box is cleared, the end user will be able to uninstall
MSDE 2000 even though your application might still need it.
Uninstall MSDE 2000 Select this check box if the MSDE 2000 object should be
during this application’s uninstalled when your program is uninstalled. This uninstallation of
uninstall MSDE will take place only if your application installed MSDE 2000.
That is, if the target machine already had an instance of MSDE that
your program requires, uninstalling your program will not uninstall
this previously installed instance.

InstallShield Express Edition User Guide 390


Chapter 25: Wizard Reference
Palm OS Wizard

Table 25-28: Setup Options Panel Settings (cont.)

Setting Description
Disable Remove button of If you do not select this check box but you do select the Uninstall
this application in Add/ MSDE 2000 during this application’s uninstall check box, it is quite
Remove Programs possible that MSDE 2000 will not be uninstalled when your
(Recommended) application is uninstalled. This is because on Windows XP and
Windows 2000 machines, by default, each application has a
Change and Remove button in Add/Remove Programs. Clicking the
Remove button performs a silent uninstall of your application.
MSDE 2000 cannot be installed or uninstalled when your installation
is run silently. This is due to a limitation in the Windows Installer and
the MSDE 2000 installation itself. Setting this property will
accomplish the same result as selecting the Disable Remove
Button option in the General Information view. This option is
provided here for your convenience and to stress its importance
with regard to MSDE 2000.
Suppress the MSDE 2000 MSDE 2000 requires a reboot on some operating systems. By
reboot (if one is required) default, if a reboot is required, it will be done once your
application’s installation is complete. If you would like to suppress
this reboot, select this check box. If you want to always reboot the
machine after the installation completes, add a custom action that
sets ISSCHEDULEREBOOT to 1.

Summary Panel
The Summary panel lists the selections that you made in the previous MSDE 2000
Object Wizard panels.
Click Finish to exit the wizard and commit the changes to your setup project. If you
need to change any of your selections, click Back until you arrive at the appropriate
panel.

Removing the MSDE 2000 Object


To remove the MSDE 2000 object from your installation project, run the MSDE 2000
Object Wizard again and deselect all options. You must also deselect the MSDE 2000
option in the Redistributables view.

Palm OS Wizard
Use the Palm OS Wizard to create and configure an installation package for Palm OS
devices. The application files can be deployed via HotSync to the Palm OS device.
You can target either the device’s memory or a storage card.
Before you can use the Palm OS Wizard, you must create a new installation project
and add the Palm application files to it.

InstallShield Express Edition User Guide 391


Chapter 25: Wizard Reference
Palm OS Wizard

TASK To open the Palm OS Wizard:

1. Open the Mobile Devices view.


2. Right-click Mobile Device Installations and select New Palm OS. The Palm OS
Wizard opens.
When you add an installation for a Palm OS device to your project, InstallShield
automatically adds it to all of the features that you selected to associate with the Palm
OS application.
The following panels are associated with the Palm OS Wizard:
• Welcome
• Palm Application Files
• Features
• Summary

Welcome Panel
This panel welcomes you to the Palm OS Wizard and briefly describes the wizard’s
function. Click Next to begin using the wizard.

Palm Application Files Panel


The Palm Application Files panel is where you add your application files to your Palm
OS installation. The files you add must already exist in your main installation. You
must add at least one file in order to continue with the wizard.

Adding Palm Application Files

TASK To add a file:

1. Click Add or right-click anywhere in the Files box and select Add. The Browse
for Shortcut Target dialog box opens.
2. Browse to the file that you want to add and click Open. The Destination dialog
box opens.
3. Select the Handheld option or the Storage Card option, depending on the target
location.
4. Click OK.

InstallShield Express Edition User Guide 392


Chapter 25: Wizard Reference
Static Scanning Wizard

Modifying the Destination of a Palm Application File

TASK To modify the destination of one of the files:

1. In the Files box, select the file whose destination you would like to change.
2. Click Properties. The Destination dialog box opens.
3. Select the Handheld option or the Storage Card option.
4. Click OK.

Removing a Palm Application File

TASK To remove a file:

1. In the Files box, select the file that you would like to remove.
2. Click Remove.

Features Panel
In the Features panel, select the feature or features to which your Palm OS installation
belongs.

Summary Panel
In the Summary panel, you can review the settings for your Palm OS installation
before you add it to your project. If you need to change any of the settings, click Back
until you reach the appropriate panel, and then make the necessary changes.
When you are done, click Finish. Your Palm OS installation is added to all of the
features that you selected to associate with the Palm OS application in the Features
panel.

Static Scanning Wizard


The Static Scanning wizard allows you to scan the files already added to your project
for any dependencies they may require. This wizard scans all .exe, .dll, .ocx, .sys,
.com, .drv, .scr, and .cpl files in your project and add any dependencies it detects to
your setup.
The new files added to your project are added to the same feature as the file that
depends upon them, thereby ensuring they get installed when needed.

InstallShield Express Edition User Guide 393


Chapter 25: Wizard Reference
Static Scanning Wizard

To launch the Static Scanning wizard, go to the Dependencies view in the View List.
Then, click the Perform Static Scanning button.
The following panels are associated with the Static Scanning wizard:
• Welcome
• Filter Files
• Scanning Progress
• Scan Results
• File Selection
• Completing the Static Scanning Wizard

Welcome Panel
The Static Scanning wizard is a quick and painless way to add dependency files to
your setup. This wizard scans any .exe, .dll, .ocx, .sys, .com, .drv, scr, and .cpl files in
your project and add their dependencies to your setup. These dependency files are
added to the same feature as the files that require them, ensuring that all necessary
files are installed when needed.
Click the Next button to begin scanning your setup files for any dependencies.

Filter Files Panel


If you want to exclude certain files from the scanner, you can do so by checking the
Filter files option on this dialog. When you check this option all files are compared
against a list of files to be excluded from the scan. The files in that list are not added to
your setup project.
There are actually two lists of excluded files. The first, called Iswiscan.ini, contains all
common system files that will already be present on a target system. Since these files
are required system files there is no need for you to reinstall them. The second file,
Userscan.ini, does not contain any files. If you want to add files to filter, you can
insert them into this file and they will not be added to your setup. See Filtering Files in
the Dependency Scanners.

Scanning Progress Panel


The wizard is currently scanning all .exe, .dll, .ocx, .sys, .com, .drv, scr, and .cpl files
in your setup project for dependencies. These files are not added to your setup until
later in the wizard. Click Next to view the results of the scan.

InstallShield Express Edition User Guide 394


Chapter 25: Wizard Reference
Static Scanning Wizard

Scan Results Panel


The Scan Results panel lists all of the dependency files found by the wizard. These
files are added to your setup when you click the Next button. If you do not want to
have these files added to your setup, click Cancel to exit the wizard.

File Selection Panel


The File Selection panel allows you to choose which files you want added to your
installation. All files determined by the scanner to be dependencies are listed on this
panel. Note that the files are displayed in a flat list rather than a nested tree control.

Table 25-29: File Selection Panel Settings

Setting Description
File Indicate which files you want added to your installation by selecting
the appropriate check boxes. Additional information about each of
the files—such as the feature it will be added to, the location of the
dependency file, and the file that requires it—is also displayed. The
meaning of each type of icon is as follows:

• —This icon indicates that the file is a system or driver file.


This type of file is normally not redistributed as part of an
installation, and it can potentially cause destination machines
to become inoperable. Ensure these files are necessary before
including them.
• —This icon indicates a non-system file. Select the check
box to the left of the icon to include the file in your installation.
• —This icon indicates a merge module. Select the check
box to the left of the icon to add the specified merge module
to your project.
• —This is the icon for a .NET assembly in your installation
project.
• —This icon identifies a file that the Static Scanner has
detected but that is already in the project.
Deselect All Click this button to have none of the displayed files added to your
installation. You can then manually check the files that you would
like added.
Select All Click this button to have all of the displayed files added to your
installation. You can then manually deselect the files that you would
not like to be included.

InstallShield Express Edition User Guide 395


Chapter 25: Wizard Reference
System Search Wizard

Completing the Static Scanning Wizard Panel


This panel signifies the end of the Static Scanning wizard. All dependencies located
by the wizard have been added to your setup project. To dismiss the wizard and return
to the IDE, click the Finish button.

System Search Wizard


The Requirements view in InstallShield enables you to specify target system
requirements in your installation project. When you specify system software
requirements, you must run through the System Search Wizard. The System Search
Wizard provides the Windows Installer capability to search for a particular file, folder,
Registry Key or .ini value on a target system prior to installation.

TASK To launch the System Search Wizard:

1. Open the Requirements view.


2. In the explorer, right-click an item and click Create New Launch Condition
(System Search Wizard).
The System Search Wizard consists of the following panels:
• Welcome
• What do you want to find?
• How do you want to look for it?
• What do you want to do with the value?

Welcome Panel
The Welcome panel is the first panel displayed in the System Search Wizard, which
allows you to add or modify a system search in your setup project. Click Next to add
or modify a system search.

InstallShield Express Edition User Guide 396


Chapter 25: Wizard Reference
System Search Wizard

What do you want to find? Panel

TASK In this panel, specify the item you want to search for on the target system and the location
of that item. To do so:

1. Choose the appropriate item/search method combination in the dialog. This


indicates what type of item you are searching for and where to conduct that search
on the target system.
2. Click Next to continue.

How do you want to look for it? Panel (Defining Your


System Search Method)
Provide information to customize your search in this wizard panel. The information
you provide in this panel will vary depending on your search methodology.

How do you want to look for it?


In this panel, you need to provide the following information:

Table 25-30: How do you want to look for it? Panel Settings

Setting Description
File Name Enter the full name and extension of the file or application you want
to locate.

Once you have entered a file name, the Details button is


enabled. To modify your search to include any particular
version, date, size or language, click Details to display the File
Details dialog box.
Look In The information in this field references where your setup will look
for items on the target system.
Number of subfolder Specify the number of subdirectory levels to search for the file on
levels to search the target system.

Click Next to continue to the next panel.

InstallShield Express Edition User Guide 397


Chapter 25: Wizard Reference
System Search Wizard

How do you want to look for it?


In this panel, you need to provide information for the following fields:

Table 25-31: How do you want to look for it? Panel Settings

Setting Description
File Name Enter the full name and extension of the file or application you want
to locate.

Once you have enter a file name, the Details button next to
that field is enabled. If you want to modify your search to
include any particular version, date, size or language, click the
Details button to enhance your search.
Look In In this section, you can either specify a full path or choose a path
found in a previous search. When specifying a full path, the browse
button next to the edit field is enabled. Clicking the browse button
will bring up the "Browse for Directory" dialog in which you can
select an existing directory or create a new one. When specifying a
path from a previous search, make a selection from the drop-down
list.
Number of subfolder In this field, specify the number of subdirectory levels to search for
levels to search the file on the target system.

Click Next to continue to the next panel.

How do you want to look for it?


In this panel, you need to provide the following information:

Table 25-32: How do you want to look for it? Panel Settings

Setting Description
Folder Name Enter the full name and extension of the folder you want to locate.
Look In The information in this field references where your setup will look
for items on the target system.
Number of subfolder In this field, specify the number of subdirectory levels to search for
levels to search the file on the target system.

Click Next to continue to the next panel.

InstallShield Express Edition User Guide 398


Chapter 25: Wizard Reference
System Search Wizard

How do you want to look for it?


In this panel, you need to provide information for the following fields:

Table 25-33: How do you want to look for it? Panel Settings

Setting Description
Folder Name Enter the full name and extension of the folder you want to locate.
Look In In this section, you can either specify a full path or choose a path
found in a previous search. When specifying a full path, the browse
button next to the edit field is enabled. Clicking the browse button
launches the "Browse for Directory" dialog, in which you can select
an existing directory or create a new one. When specifying a path
from a previous search, select from the drop-down list.
Number of subfolder Specify the number of subdirectory levels to search for the file on
levels to search the target system.

Click Next to continue to the next panel.

How do you want to look for it?


In this panel, you need to provide the following information:

Table 25-34: How do you want to look for it? Panel Settings

Setting Description
File Name Enter the full name and extension of the file or application you want
to locate.

Once you have entered a file name, the Details button is


enabled. To modify your search to include any particular
version, date, size or language, click Details to display the File
Details dialog box.
Look In The information in this field references where your setup will look
for items on the target system.
Number of subfolder Specify the number of subdirectory levels to search for the file on
levels to search the target system.

Click Next to continue to the next panel.

InstallShield Express Edition User Guide 399


Chapter 25: Wizard Reference
System Search Wizard

How do you want to look for it?


In this panel, you need to provide information for the following fields:

Table 25-35: How do you want to look for it? Panel Settings

Setting Description
File Name Enter the full name and extension of the file or application you want
to locate.

Once you have enter a file name, the Details button next to
that field is enabled. If you want to modify your search to
include any particular version, date, size or language, click the
Details button to enhance your search.
Look In In this section, you can either specify a full path or choose a path
found in a previous search. When specifying a full path, the browse
button next to the edit field is enabled. Clicking the browse button
will bring up the "Browse for Directory" dialog in which you can
select an existing directory or create a new one. When specifying a
path from a previous search, make a selection from the drop-down
list.
Number of subfolder In this field, specify the number of subdirectory levels to search for
levels to search the file on the target system.

Click Next to continue to the next panel.

How do you want to look for it?


In this panel, you need to provide the following information:

Table 25-36: How do you want to look for it? Panel Settings

Setting Description
Registry Root Choose the appropriate Registry root on the target system to
locate the search item.
Registry Key Type in the exact Registry Key associated with the item you are
locating. Be sure you have the correct syntax.
Registry Value This field is optional. If you want to add this to your search, enter
the Registry value precisely as it appears in the Registry. If you
leave this entry blank, then the system search will look for the
default value.

InstallShield Express Edition User Guide 400


Chapter 25: Wizard Reference
Visual Basic Wizard

How do you want to look for it?


Specify the following information in this panel:

Table 25-37: How do you want to look for it? Panel Settings

Setting Description
INI File Name Specify the INI file name as it should appear on the target system.
INI Section Name Obtain this information from the INI file. If you need to add a section
to an INI file, see Specifying a Section in an .ini File.
INI Key Name Enter the INI file key that can be found within the section.
Read entire line checkbox This option will search for data in the field column of an .ini file’s
IniLocator table if it is null or 0.

What do you want to do with the value? Panel


In this panel, you can determine whether or not you want an installation to proceed if
the search condition is not found. You also have the option to enter the text you want
to display when the installation is halted as a result of the search condition not being
met.
Click Finish when you are done making your selections. Click Back to edit previous
settings.

Visual Basic Wizard


The Visual Basic Wizard allows you to import Visual Basic projects into your
InstallShield installation. The wizard scans your project to determine any file
dependencies and displays the results of the scan, showing the files that can be added
to your installation. You then have the option of adding that Visual Basic project and
its dependencies to your installation.

CAUTION Macrovision Corporation recommends that you use this wizard only if you already have Visual
Basic installed on your computer. Otherwise, if you launch the Visual Basic Wizard without Visual
Basic, the scanner might not find some of the controls or files that are referenced in the Visual
Basic project. This could occur if the controls or files are installed as part of Visual Basic.

TASK To launch the Visual Basic Wizard, do one of the following:

• If you have a project open in InstallShield:


1. On the Project menu, click Visual Basic 6.0 Wizard.

InstallShield Express Edition User Guide 401


Chapter 25: Wizard Reference
Visual Basic Wizard

2. In the Dependencies view, click Import Visual Basic Project.


• If you do not have a project open InstallShield:
» On the File menu, click New. The New Project dialog box appears. Select the
Visual Basic 6.0 Wizard project type.

Welcome Panel
The Visual Basic wizard allows you to import Visual Basic projects into your setup
project. The wizard scans your Visual Basic project, detects any dependencies, and
then adds all the necessary files to your setup.

NOTE In scanning for dependencies, the Visual Basic wizard recursively searches .dep files. It also
scans the vb6dep.ini file for additional dependencies, and uses the [Do Not Redistribute] section
to filter files that Microsoft recommends you not redistribute.

Click Next to begin using the wizard.

Specify Visual Basic Project File Panel


This panel allows you to specify the Visual Basic project (.vbp or .vbg) that you want
to import into your setup project.

Table 25-38: Specify Visual Basic Project File Panel Settings

Setting Description
Visual Basic Project File There are three different ways to specify the project that you want
to import:
• Select a recently used project from the list by clicking the
arrow next to the list.
• Enter the fully qualified path to the project you want to import.
• Click the Browse button and navigate to the project.
Rebuild project before Select this option if you want to rebuild your project before the
scanning wizard scans it for dependencies. It is a good practice to rebuild
the project just in case you have made changes since the last time
you rebuilt it.
Filter files Select this option to filter out two sets of file dependencies: one set
of files recommended by InstallShield and one set of files that you
have specified. The InstallShield-recommended files are in the
iswiscan.ini file and the user-specified files are in the userscan.ini
file. Both of these files are located in the Support folder within your
InstallShield program installation folder.
For more information, see Filtering Files in the Dependency
Scanners.

InstallShield Express Edition User Guide 402


Chapter 25: Wizard Reference
Visual Basic Wizard

Table 25-38: Specify Visual Basic Project File Panel Settings (cont.)

Setting Description
Add files from Microsoft’s Select this option to add files from a specified .dep file. Enter the
Package and Deployment fully qualified path to the .dep file or use the browse button to
Wizard navigate to the .dep file.

Location of Visual Basic Panel


If the wizard cannot detect Visual Basic on your system, but it is installed, you can
manually locate the Visual Basic executable.

Table 25-39: Local of Visual Basic Panel Settings

Setting Description
Visual Basic executable Enter the full path to the Visual Basic executable or click the
Browse button to navigate to the file.

In order to recompile Visual Basic projects, Visual Basic must


be installed on your system.

Scanning Progress Panel


The Scanning Progress panel displays the progress of the wizard. When the wizard has
completed its action, the Scanned Dependencies panel opens.

Scanned Dependencies Panel


This panel lists all of the dependencies found by the Visual Basic Wizard. The list
contains the file name, the path, and the dependency relationship. You can select the
files that you want to add to your setup project.

Table 25-40: Scanned Dependencies Panel Settings

Setting Description
File To add dependency files to your setup, select the check boxes in
front of the appropriate files. If you did not deselect Filter Files in
the Specify Visual Basic Project File panel, you should be able to
safely include all files listed.
For more information, see Filtering Files in the Dependency
Scanners.
Deselect All Click this button to clear the selection of all displayed files. You can
manually select the files you want added to your setup.

InstallShield Express Edition User Guide 403


Chapter 25: Wizard Reference
Visual Studio .NET Wizard for Visual Basic .NET, Visual C++ .NET, and C# .NET

Table 25-40: Scanned Dependencies Panel Settings (cont.)

Setting Description
Select All Click this button to select all of the displayed files. You can
manually deselect the files you do not want added to your setup.

Click Next to view the Scan Results panel.

Scan Results Panel


This panel displays the results of the scan the wizard performed on your Visual Basic
project. It lists all the files that will be added to your setup, as well as any components
that will be created.
Click Add to have this project and all its dependencies added to your setup project.

Completing the Visual Basic Wizard Panel


This panel provides a confirmation that your Visual Basic project was added to your
setup project. Click Finish to return to the IDE.

Visual Studio .NET Wizard for Visual Basic .NET,


Visual C++ .NET, and C# .NET
The Visual Studio .NET Wizard creates a new InstallShield installation project and
adds it to a Microsoft Visual Studio .NET solution.

NOTE The Visual Studio .NET Wizard is available only if Microsoft Visual Studio .NET is installed on your
system.

When you are creating the InstallShield installation project, the Visual Studio .NET
Wizard does the following:
• Creates a new InstallShield project (with the file name specified on the New
Project dialog box) and adds it to the solution (.sln file).
• Adds all dependencies to your project at build time if you have the Scan at Build
option set to Dependencies and Properties (on the .NET tab of the Options dialog
box).
• Adds the primary outputs from every project in the solution to the InstallShield
project.
• Updates the release settings to deploy the appropriate version of the .NET
Framework via download.

InstallShield Express Edition User Guide 404


Chapter 25: Wizard Reference
Web Deployment Wizard

To launch the wizard, click the appropriate icon in the New Project dialog box.

Welcome Panel
The Visual Studio .NET Wizard allows you to add an InstallShield installation project
to a Microsoft Visual Studio .NET solution.
The Visual Studio .NET Wizard is available only if Microsoft Visual Studio .NET is
installed on your system.
Click Next to select a solution.

Solution Panel
In the Solution panel, type the path or browse to the Visual Studio .NET solution to
which you want to add the InstallShield installation project.
Click Finish to create a new InstallShield project and add it to the selected solution.

Web Deployment Wizard


The Web Deployment Wizard enables you to build a setup for Web deployment.
Using this wizard, you can create a Web page automatically to link to your setup,
specify whether you want to include the Windows Installer engine, and provide digital
signature and security information. The following panels are included in this wizard:
• Welcome
• Web Page Option
• Browser(s) to Target
• Link Type
• Windows Installer Engine
• Windows Installer Engine Options
• Windows Installer Location
• Advanced Settings
• Digital Signature and Security for Targeting Internet Explorer
• Digital Signature and Security for Targeting Netscape Communicator
• Summary

Welcome Panel
The Web Deployment Wizard enables you to build a setup for Web deployment.
Using this wizard, you can create a Web page automatically to link to your setup,
specify whether you want to include the Windows Installer engine, and provide digital

InstallShield Express Edition User Guide 405


Chapter 25: Wizard Reference
Web Deployment Wizard

signature and security information. Click Next to proceed to the Web Page Options
panel.

Web Page Option Panel


The Web Deployment wizard is able to create a Web page containing a link to your
release. From the Web Page Option panel, you can specify whether you want this Web
page created automatically or not. If you select Yes to create a Web page, you can
modify it as necessary outside of InstallShield. The page created is only in English.

Browser(s) to Target Panel


The Browser(s) to Target panel allows you to specify whether your Web setup will
target both Internet Explorer and Netscape Communicator, Internet Explorer only, or
Netscape Communicator only. Depending on your selection, different settings can be
configured in subsequent panels.

Link Type Panel


If you selected to have this wizard automatically create a Web page for deployment,
the Link Type panel is displayed. From this panel, you can select the type of link to
your release you want on the Web page. The link can either be one that relies on One-
Click Install technology to automatically begin the installation, or one that displays a
dialog from which the end user is prompted to run or save the installation.
Select Yes to create a One-Click Install link; select No to display the standard Save/
Run dialog when the user clicks on the link.

NOTE If your link is used for a Netscape Communicator page, the Save/Run dialog can only save the
setup. You can only run a Web setup from a hyperlink in Netscape Communicator by using the
One-Click Install technology option. Additionally, you must provide digital signature information
to avoid an error during the build.

Windows Installer Engine Panel


If you are unsure of whether your target system has the Windows Installer engine
installed, you should include the engine in your installation. If you know that your
target systems already have the engine, then it is unnecessary to include it with your
setup. Select Yes to include it, or no to exclude it.

NOTE The Windows Installer engine is installed with Windows 2000, Windows Me, and Windows XP.

InstallShield Express Edition User Guide 406


Chapter 25: Wizard Reference
Web Deployment Wizard

Windows Installer Engine Options Panel


If you select to include the Windows Installer engine with your setup, then Windows
Installer Engine Options panel is displayed. You can configure the following options:

Table 25-41: Windows Installer Engine Options Panel Settings

Setting Description
Include Windows 9x MSI The Windows Installer engine is different for Windows 9x and
engine/Include Windows Windows NT systems. Check the appropriate box(es) to include the
NT MSI engine correct engine(s) in your installation.
Suppress Launcher If the operating system has a version of the Windows Installer
Warning service that cannot be updated by the installation, you can
suppress the warning that is displayed to the end user.
Delay Windows Installer In some circumstances, the installation of the Windows Installer
reboot engine requires a system reboot. If you want to delay this reboot,
check this box.

Windows Installer Location Panel


If you have selected to include the Windows Installer engine in your setup, you have
two options as to where the installation will look for the setup for the engine:

Table 25-42: Windows Installer Location Panel Settings

Setting Description
Download engine from the If you select this option, provide the full URL to the appropriate
Web as specified below executable. The engine will be downloaded from this Web site when
required. The advantage in selecting this option is that it reduces
the size of your setup; however, the end user must have an Internet
connection if the Windows Installer engine is needed, and it may
take time to download the engine’s setup executable.
Extract engine from Although it increases the size of the Setup.exe, you can include the
Setup.exe executable(s) for the Windows Installer engine(s) within your
installation. This results in a quicker installation, and does not
require an Internet connection.

InstallShield Express Edition User Guide 407


Chapter 25: Wizard Reference
Web Deployment Wizard

Advanced Settings Panel


There are two additional options available in the Advanced Settings panel:

Table 25-43: Advanced Settings Panel Settings

Setting Description
Optimize for media size If this option is selected, the size of the Setup.exe will be reduced.
However, this takes more time during the build process.
Copy media to target Windows 2000, Windows Me, and Windows XP provide many
machine advanced functions, such as feature advertisement and application
repair. If you want to take advantage of these, you can
automatically copy your setup to the target machine during
installation by selecting this option and selecting the appropriate
location from the drop-down menu.
Password protect You can also password-protect your setup to restrict who can use
Setup.exe with the it. Click the check box, and provide a password in the Password
following password field.

Digital Signature and Security for Targeting


Internet Explorer Panel
The Digital Signature and Security panel allows you to digitally sign and password
protect your setup. The signature assures your customers that your code is authentic
and has not been altered since publication. Following is a brief descriptions of the
option on this panel:

Table 25-44: Digital Signature and Security for Targeting Internet Explorer Panel Settings

Setting Description
Sign Media for Internet When you check this box, the URL, SPC file, and PVK file fields are
Explorer enabled. Enter the URL for your company (or information about
your product) in the URL field. Provide the location of your Software
Publishing Credentials (.spc) file in the SPC field by either entering
the fully qualified path to it or clicking Browse to navigate to it.
Provide the location of your Private Key (.pvk) file in the PVK field by
either entering the fully qualified path to it or clicking Browse to
navigate to it.

InstallShield Express Edition User Guide 408


Chapter 25: Wizard Reference
Web Deployment Wizard

Digital Signature and Security for Targeting


Netscape Communicator Panel
The Digital Signature and Security panel allows you to digitally sign and password
protect your setup. The signature assures your customers that your code is authentic
and has not been altered since publication.

NOTE If you are building a One-Click Install setup, and you target Netscape, you must provide digital
signature information.

Following are brief descriptions of the options on this panel:

Table 25-45: Digital Signature and Security for Targeting Netscape Communicator Panel Settings

Setting Description
Sign Media for Netscape When you check this box, the Certificate ID, Certificate Database
Communicator Path, and Certificate password fields are enabled. These fields are
described below:
Certificate ID Provide the ID for the certificate. For instructions on how to
determine the ID, see Netscape Certificate IDs.
Certificate Database Path Provide the path to the databases updated when you imported the
certificate into Netscape. The path is typically the Users folder,
which is within the folder in which Netscape is installed, and then is
the user under which you were logged in when importing the
certificate. For example, if you were logged in as JohnSmith when
you imported the certificate, and if Netscape Communicator was
installed in the default location, the path you would browse to is
C:\Program Files\Netscape\Users\JohnSmith\.
Certificate Password If you set a password when you imported the certificate, enter it
here. This is not the password you received from the certification
authority.

Summary Panel
The Summary panel displays the configuration settings you supplied in the previous
panels for your Web Deployment. Review these settings to ensure accuracy.
Depending on the option selected, clicking Finish either exits the Web Deployment
wizard and builds the release, or only exits.

InstallShield Express Edition User Guide 409


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Windows Mobile Wizard/Smart Device Setup


Wizard
When you launch this wizard from the Mobile Devices view, it is called the Windows
Mobile Wizard. When you launch this wizard by creating a new Smart Device project,
it is called the Smart Device Setup Wizard.

Using the Windows Mobile Wizard


Use the Windows Mobile Wizard to create an installation package for Windows
Mobile devices such as the Microsoft Smartphone or a handheld PC. The package
installs the necessary Windows Mobile .cab files to the end user’s desktop computer
first, and then either launches the Windows Mobile Application Manager or uses
Microsoft ActiveSync to copy the correct files onto the Windows Mobile device. It
can also optionally register an icon file on the desktop computer with ActiveSync, so
that the icon is displayed within the Windows Mobile Application Manager window.

NOTE Microsoft ActiveSync 3.x or later must be installed on the desktop computer in order to provide
a desktop-to-device installation. Active Sync 4.x is required for Windows Mobile 5.x devices.

Using the Smart Device Setup Wizard


Use the Smart Device Setup Wizard to create a dedicated installation for a smart
device application. This installation type should be used only for straight-to-device
installations that do not use ActiveSync or any other desktop component.

NOTE You can also use the Smart Device Setup Wizard with purely native code if you are targeting a
storage card.

Wizard Panels
The following panels are associated with the Windows Mobile Wizard and the Smart
Device Setup Wizard:
• Welcome
• Application Information
• Desktop Settings (Windows Mobile Wizard only)
• Add CABs (available only if Existing Mobile Device Cabinets is selected in the
Project Type list of the Application Information panel in the Windows Mobile
Wizard)
• Destination Folder

InstallShield Express Edition User Guide 410


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

• Project Outputs (available only if either wizard is launched from Microsoft Visual
Studio .NET and the solution contains one or more Smart Device Application
projects)
• Device Files (called Additional Files if the Project Outputs panel is displayed)
• Shortcuts
• Setup DLLs
• File Associations (available only if an .exe file is selected to be installed)
• Registry Information
• Desktop Icon Information (Windows Mobile Wizard only)
• Sign the cab files
• .NET Compact Framework
• XML Files (available only if one of the Smartphone options is selected in the
Project Type list of the Application Information panel)
• Features (Windows Mobile Wizard only)
• Summary

Welcome Panel
This panel provides a brief introduction to the Windows Mobile Wizard. The wizard
helps you build and customize installations for Windows Mobile devices.

NOTE When you launch this wizard from the Mobile Devices view, it is called the Windows Mobile
Wizard. When you launch this wizard by creating a new Smart Device project, it is called the
Smart Device Setup Wizard.

Click Next to begin using the wizard.

InstallShield Express Edition User Guide 411


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Application Information Panel


The Application Information panel is used to specify information needed to install the
application onto the Windows Mobile or smart device.

Table 25-46: Application Information Panel Settings

Setting Description
Project Type Select the type of application that you want to support in your
project.

You cannot change this option once you complete the wizard.
You will have to create a new application via the wizard to add
to your project.
Application Name Provide the name of your application for Windows Mobile devices or
smart devices.
Company Name Provide the name of your company or the company that produced
the application.
Application Description Provide a brief description of your application.

Because of the algorithm used to name .cab files in the


installation, using very long application names and/or
company names can cause problems with the installation,
especially if you are targeting numerous platforms.

Desktop Settings Panel

NOTE The Desktop Settings panel is not displayed if you are using the Smart Device Setup Wizard.

Select the location to which you want to copy the Windows Mobile or Smartphone
application files.

Table 25-47: Desktop Settings Panel Settings

Setting Description
Target Desktop Directory Select a target directory from this list or click the folder button to
launch the Browse for Directory dialog box.

InstallShield Express Edition User Guide 412


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Table 25-47: Desktop Settings Panel Settings (cont.)

Setting Description
Delete device media from Select this check box to delete the Windows Mobile media files
desktop during desktop from the desktop when the desktop installation is uninstalled.
setup uninstall

Add CABs Panel


The Add CABs panel enables you to add cabinet (.cab) files to your Windows Mobile
installation. You must add at least one file in order to continue with the wizard.

NOTE If you would like to add more than one .cab file to a single Windows Mobile installation, see
Special Considerations for Adding Multiple .cab Files.
This panel is displayed only if you select Existing Mobile Device Cabinets in the Project Type list
on the Application Information panel of the Windows Mobile Wizard. It is not displayed if you are
using the Smart Device Setup Wizard.

Adding Existing .cab Files for a Windows Mobile Device

TASK To add a .cab file:

1. Click Add or right-click anywhere in the .cab box and click Add. The Open
dialog box opens.
2. Browse to the file you want and click Open. The file is added to the list of .cab
files.

Removing Existing .cab Files for a Windows Mobile Device

TASK To remove a .cab file, do one of the following:

• Select the file and click Remove.


• Right-click the file and click Remove.

Destination Folder Panel


In the Destination Folder panel, you specify a default destination folder on the
Windows Mobile or smart device. This is usually the folder in which your main
executable resides. Specifying a destination directory gives end users control over the

InstallShield Express Edition User Guide 413


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

entire directory structure under the default destination folder and enables them to
choose to install your application to a storage card, thus conserving device resources.

LOGO The recommended location for the destination folder is the following:
Program Files Folder\Company Name\Application Name
where Company Name and Application Name are the values set on the Application
Information panel. This folder is created and selected by default for new Windows Mobile
installations.

Specifying Folders

TASK To specify a destination folder:

Select the folder that you want to serve as the destination and then click Next.

The folder that is highlighted when you click Next becomes the destination folder for
your application.

Adding Folders

TASK To add a new folder to be used as the default destination:

1. Select the folder under which you want to add a new folder.
2. Click New. A new folder is created directly beneath the existing folder.
3. Type a name for the new folder.

NOTE You can also add a new folder by right-clicking an existing folder and clicking New Folder.

Renaming Folders

TASK To rename a folder:

1. Select the folder and then click Rename.


2. Type the new name.

InstallShield Express Edition User Guide 414


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

NOTE You can also rename a folder by right-clicking it and clicking Rename.

Removing Folders

TASK To remove a folder, do one of the following:

• Select the folder and click Delete.


• Right-click the folder and click Delete.
Some folders are predefined by the Windows Mobile operating system and cannot be
renamed or removed. Only user-defined folders can be renamed or removed.

Project Outputs Panel


The Project Outputs panel enables you to include outputs from your Microsoft Visual
Studio .NET solution in your installation project.

NOTE This panel is displayed only if the Windows Mobile Wizard or Smart Device Setup Wizard is
launched in Visual Studio .NET and the solution contains one or more Smart Device Application
projects.

Table 25-48: Project Outputs Panel Settings

Setting Description
Project Outputs Use this box to specify which project output groups you want to
associate with your smart device installation. In most cases, you
would select the Primary output group.
For each output group, click Properties to display the property
sheet for the selected group. The property sheet lets you to set
various attributes for the installation, including whether the
application should be installed to the Global Assembly Cache (GAC).

Device Files Panel

NOTE This panel is called Additional Files if the Project Outputs panel is displayed.

The Files box on this panel is where you add application files to your Windows
Mobile installation or your Smart Device project. When you add a file to this box, you

InstallShield Express Edition User Guide 415


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

also need to specify its properties, such as which platforms and processors support it.
You must add at least one file in order to continue with the wizard.

NOTE Each file added should be at least 1 byte in size.

Adding Files

TASK To add a file:

1. Click Add or right-click in the Files box and click Add. The Open dialog box
opens.
2. Browse to the file that you want to add and click Open. The File Properties dialog
box opens.
3. Specify the properties for the file you are adding and then click OK.

NOTE To change the properties of a file after you have added it, select the file and then click
Properties. The File Properties dialog box opens.

NOTE Microsoft ActiveSync has a 4-MB limit on file transfers. If your application files exceed this limit,
you may need to break your installation into smaller subcomponents in order to get it to transfer
and install correctly.

Modifying File Properties

TASK To modify the properties of a file, do one of the following:

• In the Files box, select the file and click Properties.


• Right-click the file and click Properties.
The File Properties dialog box opens, enabling you to change any of the settings for
the file.

Removing Files

TASK To remove a file from the Files box, do one of the following:

• In the Files box, select the file and click Remove.

InstallShield Express Edition User Guide 416


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

• Right-click the file and click Remove.

Shortcuts Panel
The Shortcuts panel lets you specify shortcuts to your application files. Although you
are not required to create any shortcuts during installation, it is recommended that you
create a shortcut to your main application executable file on the Start menu. This will
make it easier for the end user to locate and start the application.

Adding Shortcuts

TASK To add a shortcut:

1. Click Add or right-click in the Shortcuts box and select Add. The Shortcut
Properties dialog box opens.
2. Specify the settings for the shortcut that you are adding and then click OK.

NOTE It is recommended that shortcuts not be created on the desktop unless the application is
included in ROM; this may also be a future Designed for Windows logo requirement.

Modifying Shortcut Properties

TASK To modify the properties of a shortcut, do one of the following:

• In the Shortcuts box, select the shortcut and click Properties.


• Right-click the file and click Properties.
The Shortcut Properties dialog box opens, enabling you to change any of the settings
for the shortcut.

Removing Shortcuts

TASK To remove a shortcut from the Shortcuts box, do one of the following:

• In the Shortcuts box, select the shortcut and click Remove.


• Right-click the shortcut and click Remove.

InstallShield Express Edition User Guide 417


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Setup DLLs Panel


The Setup DLLs panel is where you to add a custom ISV setup .dll file to your
installation. An ISV setup .dll file lets you perform custom actions during installation
to and uninstallation from a Windows Mobile or smart device.
For more information about how to write these setup .dll files, refer to the Windows
Mobile SDK.

Adding .dll Files

TASK To add a setup .dll file:

1. Click Add or right-click in the Setup DLLs box and select Add. The Open dialog
box opens.
2. Browse to the file that you want to add and click Open. The Setup DLL Properties
dialog box opens.
3. Specify the properties for the file you are adding and then click OK.

Modifying .dll File Properties

TASK To modify the properties of a .dll file, do one of the following:

• In the Files box, select the file and click Properties.


• Right-click the file and select Properties.
The Setup DLL Properties dialog box opens, enabling you to change any of the
settings for the file.

NOTE The Properties button is available for Windows Mobile devices only.

Removing .dll Files

TASK To remove a file from the Setup DLLs box, do one of the following:

• In the Setup DLLs box, select the file and click Remove.
• Right-click the file and click Remove.

InstallShield Express Edition User Guide 418


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

File Associations Panel


A file association is actually nothing more than a series of registry entries. When the
end user double-taps a file, the Windows Mobile operating system looks in the
registry to determine which application—if any—should be used to open it, based on
the file extension. The operating system also looks in the registry to determine what
icon to display for the file when it is displayed in the Windows Explorer or Open
dialog boxes, for example.
The File Associations panel lets you easily create the registry entries needed to
associate your application executable with a file extension. This enables your
application to be launched whenever an end user opens a file with the associated
extension. For example, if you double-tap a file with a .pwd file extension, Pocket
Word is launched to view the document. This is because Pocket Word has been
associated with the .pwd file extension.

NOTE Only executable files with an .exe file extension can be associated with a document type. This
panel is displayed only if you have at least one executable file set to be installed into the folder
specified on the Destination Folder panel.

When you add a file association to your project, a series of registry entries is
automatically created on the Registry Information panel under
HKEY_CLASSES_ROOT. You could make all the necessary registry entries
yourself, but it is much easier to create them using this panel.

CAUTION Windows CE Version 2.x has a limit on the amount of registry data that can be created in a
single installation. If you experience problems with registry entries being created incorrectly,
you may need to decrease the number of file associations and other registry entries. You can
also use a setup .dll file with your installation to create the registry entries.

Adding Associations

TASK To add a file association to the File Associations box:

1. Click Add or right-click in the File Associations box and select Add. The File
Association Properties dialog box opens.
2. Specify the properties for the file association that you are adding and then click
OK.

InstallShield Express Edition User Guide 419


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Modifying Associations

TASK To modify the properties of a file association, do one of the following:

• In the File associations box, select the file association and click Properties.
• Right-click the file association and click Properties.

Removing Associations

TASK To remove a file association from the File associations box, do one of the following:

• In the File associations box, select the file association and click Remove.
• Right-click the file association and click Remove.

Registry Information Panel


The Registry Information panel has been designed to closely resemble the widely
recognized Windows Registry Editor (Regedit.exe). This panel simplifies the
process of creating registry keys and setting registry values during installation onto a
Windows Mobile device. Since this panel lacks buttons, all configuration is
accomplished using context menus available by right-clicking various items, as
detailed below.

CAUTION Windows CE Version 2.x has a limit on the amount of registry data that can be created in a
single installation. If you experience problems with registry entries being created incorrectly,
you may need to decrease the number of file associations and other registry entries. You can
also use a setup .dll file with your installation to create the registry entries.

NOTE Some registry keys and values are created by the Windows Mobile installation mechanism, or by
any file associations you have added to your project. Since these keys and values are created
automatically, you will not be able to delete, rename, or modify them in this panel.

Working with Registry Keys


As with the standard Windows registry editor, the explorer window on the left side of
this panel displays the hierarchy of keys in the Windows Mobile device’s registry.
Registry keys can be added or removed by right-clicking and selecting the appropriate
item on the context menu.

InstallShield Express Edition User Guide 420


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Adding Keys

TASK To add a registry key:

Right-click an existing key, point to New, and click Key. A new key is added
under the selected key, and you are prompted for the key name.

Removing Keys

TASK To remove a registry key:

Right-click the key that you would like to remove and click Delete. The selected
key, all of its values, and all of its subkeys are removed.

Renaming Keys

TASK To rename a key:

Right-click the key and click Rename. Type the new name.

Working With Registry Values


The box on the right side of this panel displays information about the values that will
be created under the currently selected key. It is divided into two columns—one for
the name of the value, and the other for the data that the registry value contains.

Adding Values

TASK To add a value under a registry key, do one of the following:

• Right-click the appropriate key, point to New, and click String Value, Binary
Value, or DWORD Value.
• Right-click an empty area in the box on the right, point to New, and select the
appropriate type of value.
Depending on which type of value you select, the Edit String Value dialog box, the
Edit Binary Value dialog box, or the Edit DWORD Value dialog box opens.

InstallShield Express Edition User Guide 421


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Removing Values

TASK To remove a value:

Right-click the value and click Delete.

Renaming Values

TASK To rename an existing value:

Right-click the value and click Rename.

Modifying Values

TASK To modify a value:

Right-click the value and click Modify. Depending on which type of value you
select, the Edit String Value dialog box, the Edit Binary Value dialog box, or the
Edit DWORD Value dialog box opens.

Desktop Icon Information Panel


The Desktop Icon Information panel enables you to specify an icon to be associated
with your application. This icon will be installed on the desktop computer so that it
can be displayed in the Windows Mobile Application Manager and Mobile Devices
Explorer windows.

NOTE Since the icon must be installed onto the desktop computer before it can be displayed in the
Windows Mobile Application Manager and Mobile Devices Explorer windows, this option is useful
for desktop-to-device installations only.

Specifying the Application Icon


You can either click the Select Icon and then select a custom icon using the Select
Icon dialog box, or you can use the default icon provided. If the icon you select resides
within a .dll or executable file, it will be extracted and saved as an .ico file in the
project’s output folder to save space.
When the application is installed, the icon you have selected is displayed next to the
application name in the Windows Mobile Application Manager window.

InstallShield Express Edition User Guide 422


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

Associating a File with the Application Icon


In the Device file list, you can specify a file on the Windows Mobile device to be
associated with the icon. When the file is viewed in the Mobile Devices Explorer on
the desktop computer, the icon will be displayed.

NOTE Only files with an .exe extension can be associated with the icon.

Sign the cab files Panel


To provide a secure method of packaging and delivering applications, mobile devices
support .cab files signed with Authenticode certificates. Certificates are attached to
signed .cab files as a certificate chain when the file goes through the signing process.
To sign a .cab file for use on a device, you must have an Authenticode certificate that
is already installed on, or will be distributed to, the device on which the .cab file is to
be installed.

NOTE The options in the Sign the cab files panel are not mandatory but recommended for security.

Panel Settings

Sign CAB
To sign a .cab file, select this check box.

Software Publishing Credentials File (.spc) or Certificate


File (.cer)
Click the folder button to select the software publishing credentials (.spc) file or the
certificate file (.cer).

Corresponding Private Key File (.pvk)


Click the folder button to select the private key (.pvk) file.

Generate setup launcher (Autorun.exe)


Select the Generate setup launcher (Autorun.exe) check box to include
Autorun.exe, which provides you with the ability to run installations from storage
cards. The Autorun.exe file that InstallShield generates is currently limited to
running on Pocket PC devices only.

InstallShield Express Edition User Guide 423


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

NOTE The Generate setup launcher (Autorun.exe) check box is available in the Smart Device
Setup Wizard for Smartphone only.

.NET Compact Framework Panel


The .NET Compact Framework panel enables you to specify .NET Compact
Framework information, SQL information, or both types of information for your
mobile device installation.

CE .NET and SQL support


Select the .NET Compact Framework and SQL redistributables that you want to
include in your installation.

Generate Setup Launcher (Autorun.exe)

NOTE This Generate Setup Launcher (Autorun.exe) option is available in the Smart Device Setup
Wizard only.

Select this option to include Autorun.exe, which provides you with the ability to run
installations from storage cards. The Autorun.exe file that InstallShield generates is
currently limited to running on Pocket PC devices only.

Advanced
You can include the .NET Compact Framework and SQL redistributables for only
specific processor and platform combinations. Click this button to launch the Target
Devices dialog box, which lists the processor and platform combinations. Select the
combinations that you want your installation to support and click OK.

XML Panel

NOTE The XML files panel is displayed only if you select one of the Smartphone options in the Project
Type list on the Application Information panel of the Windows Mobile Wizard or the Smart Device
Setup Wizard.

In the XML Files panel, you have the option to add acceptable configuration XML to
the .cab file. The XML must follow the appropriate WAP provisioning format for the
Smartphone 2002 or 2003 development environment.

InstallShield Express Edition User Guide 424


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

The /prexml and /postxml flags are useful if the metabase needs to be updated during
the installation of an application.

Panel Settings

Specify Pre XML and Post XML files


To add XML to the .cab file, select this check box.

Pre XML file


Click the folder button to specify the appropriate file. The file that you select is placed
before the translated instructions in the .inf file.

Pre XML file


Click the folder button to specify the appropriate file. The file that you select is placed
after the translated instructions in the .inf file.

No Uninstall
Select this check box only if you are performing an upgrade of an existing installation.
Never select this check box if you are not upgrading.

Features Panel

NOTE The Features panel is not displayed if you are using the Smart Device Setup Wizard.

In the Features panel, select the feature or features to which your Windows Mobile
installation belongs.

Summary Panel
In the Summary panel, you can review the settings for your Windows Mobile or smart
device installation before you add it to your project. If you need to change any of the
settings, click Back until you reach the appropriate panel, and then make the necessary
changes.
When you are done, click Finish. If you are creating a desktop-to-device installation,
your mobile device installation is added to all of the features that you selected to
associate with the mobile device application in the Features panel.

InstallShield Express Edition User Guide 425


Chapter 25: Wizard Reference
Windows Mobile Wizard/Smart Device Setup Wizard

The appropriate installation files are automatically generated the next time that you
build your InstallShield project.

InstallShield Express Edition User Guide 426


26
VIEW REFERENCE

The InstallShield installation development environment (IDE) is organized into views


that incorporate various areas of functionality. The View Reference section describes
each of those views in the InstallShield interface.

Organize Your Setup View


The first step in building anything is to lay a solid foundation. The base of your
installation is formed by specifying application information through the General
Information view, creating features in the Features view, specifying setup types in the
Setup Types view, and preparing for update notification in the Update Services view.
Each view under Organize Your Setup is described below:

Table 26-1: Views Under the Organize Your Setup View

View Description
General Information The General Information view is where you set global project
properties such as the application name and support information.
Most of the properties in this view are optional. Your setup will work
properly if you accept the defaults or do not provide any values for
the optional properties. However, the following properties are
required: Subject, Product Name, Publisher, Product Code, Upgrade
Code, and Destination Folder.
Features Features are the building blocks of your setup. They represent a
distinct piece of your application—such as program files, help files,
or clip art—to your end users. You can create features and
subfeatures in the Features view.
DIM References Manage all references to your Developer Installation Manifest files in
the DIM References view.

InstallShield Express Edition User Guide 427


Chapter 26: View Reference
Organize Your Setup View

Table 26-1: Views Under the Organize Your Setup View (cont.)

View Description
Setup Types Setup types offer different configurations of your applications to your
customers. These configurations can be useful if you distribute large
features that are not required in order for the application to run.
Upgrade Paths If you have distributed previous versions of your application and want
the current version to update the end user’s system if the previous
version is installed, you can indicate upgrade information in the
Upgrade Paths view.
Update Service The Update Service view is where you enable automatic notification
for your original installation.

Enabling automatic update notification in your project adds about


600 KB of files to your installation. These files must be
distributed with your application in order for the Update Service
to work. If you cannot afford to include these files in your
installation because of bandwidth limitations or other reasons,
you can select No to disable automatic update notification.
However, the Update Service cannot be used to deploy an
update unless automatic notification is enabled in the original
installation when you distribute it to your end users. Therefore, if
you select No, you will not be able to later take advantage of the
automatic update notification features.
Trialware In the Trialware view, you can protect your product from piracy by
including a license with it. The license enables you to create a fully
functional trial version of your product that expires after a
predetermined number of days or uses. No changes to your
product’s source code are required.

The Try and Die type of trialware is available in the Premier


edition of InstallShield only. For more information about the
Premier edition, visit the Macrovision Web site.

General Information View


The General Information view contains basic information about your setup, your
company, and the application that you are installing. Some of the information you
enter in this view is for your reference only, some is necessary to comply with
Windows logo requirements, and the rest is for setting basic setup properties.
The General Information view provides three property grids:

428 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

• Product Properties—This section provides information about the application


that you are installing.
• Summary Information Stream—Windows Installer databases (.msi and .msm
files) are implemented as COM structured storage, and COM structured storage
files usually contain a Summary Information Stream. The Summary Information
Stream section contains information about your company and the application
being installed.
• Add/Remove Programs—This section allows you to indicate whether you want
your application to appear in the Add/Remove Programs applet for systems
running Windows 2000, Windows Me, or Windows XP. You can also provide
information to display.
When you create a new project, you must set its General Information properties.

General Information Settings


The General Information settings are divided into three different areas:
• Product Properties
• Summary Information Stream
• Add/Remove Programs

InstallShield Express Edition User Guide 429


Chapter 26: View Reference
Organize Your Setup View

Product Properties
A default product is created for you when you start a new installation project. The
Product Properties grid contains information such as the product name, the product
code (GUID), and the application version.

Table 26-2: Product Properties

Setting Description
Product Name Enter the name for this product. The name you enter here should
be the same as the actual application for which this installation is
being created. This value is used throughout your project. For
example:
• As the name of the source file folder under the project location
• As the name of the setup package (.msi file) that is built
• In dialog boxes of the installation’s end-user interface
• Under the informational registry key in accordance with
Windows logo requirements. These informational values are
found in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curre
ntVersion\Uninstall\Product Code
These values are used in Add or Remove Programs in the
Control Panel.

Since it will be incorporated into the paths for your source


files, the product name cannot contain any of the following
characters: \ / : * ? " < > | . -
Product Version Enter the complete version number for this product. This version
number must contain only numbers, and must be in the format of
aa.bb.cccc, where a represents the major version number, b
represents the minor version number, and c represents the build
number. The value in aa or bb must be less than 255, and cccc
must be less than 65,535. Examples of valid product versions are:
• 4.00.0000
• 3.03.1752
• 10.53.7754
The installation registers the major and minor version numbers as
required by the Windows logo guidelines, and the entire version
string is displayed in Add or Remove Programs in the Control Panel.
The version number is important because Windows Installer uses it
in part to determine whether to apply a patch.

430 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-2: Product Properties (cont.)

Setting Description
Product Code Enter a GUID that uniquely identifies this product. To generate a
new GUID, you can click this field, and then click the Generate GUID
that is displayed in the help pane.

The installation registers this GUID as required by Windows


logo guidelines.
Upgrade Code Enter the string GUID that can be used to upgrade this product. To
generate a new GUID, you can click this field, and then click the
Generate GUID that is displayed in the help pane.
If this installation is an upgrade to an earlier version of the product,
the upgrade code must match the earlier version’s upgrade code.

The installation registers this GUID as required by Windows


logo guidelines.

InstallShield Express Edition User Guide 431


Chapter 26: View Reference
Organize Your Setup View

Table 26-2: Product Properties (cont.)

Setting Description
INSTALLDIR Enter the default product destination folder. This serves as the
default folder for all of your application’s files, and it is represented
by the Windows Installer folder property INSTALLDIR.

According to Windows logo requirements, you must install


your application’s files to a subfolder of the \Program Files
folder, regardless of the language of the target system. If you
use ProgramFilesFolder as the parent folder for your product’s
Destination Folder property, your files will be installed to the
correct location. The initial value for this property is as follows:
[ProgramFilesFolder]Company Name\Product
Name

When specifying a destination folder, you cannot include a


space after the closing square bracket (]), or before or after a
backslash (\). For example, the following paths are not valid:
[ProgramFilesFolder] \YourCompany\default
[ProgramFilesFolder]YourCompany\ default
It is important to keep in mind when using an installer folder
property such as INSTALLDIR that you are specifying a default
value. An end user could change this value by setting a property
when launching Msiexec.exe at the command line or by
selecting a new destination folder for a feature in the Custom Setup
dialog.
DATABASEDIR Specify the default destination folder for all of your application’s
database files.

When specifying a destination folder for your application’s


database files, you cannot include a space after the closing
square bracket (]), or before or after a backslash (\). For
example, the following paths are not valid:
[ProgramFilesFolder] \MyApp\Bin
[ProgramFilesFolder]MyApp\ Bin
It is important to keep in mind when using an installer folder
property such as DATABASEDIR that you are specifying a default
value. An end user could change this value by setting a property
when launching Msiexec.exe at the command line or by selecting a
new destination folder for a feature in the Database Folder dialog.

432 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-2: Product Properties (cont.)

Setting Description
Default Font Select the font your setup uses in its user interface. If you do not
select a font, the installer uses the default system font.

Summary Information Stream


Windows Installer databases (.msi and .msm files) are implemented as COM
structured storage, and COM structured storage files usually contain a Summary
Information Stream. The Summary Information Stream contains information about
your company and the software being installed.

Table 26-3: Summary Information Stream

Property Description
Author Specify your name or name of the person who is creating the setup
package. When you build a release, the author’s name supplies the
value for the Author field in the Summary Information Stream.
Authoring Comments Enter any comments you may have about this project. These
comments are used for your reference only and are not displayed
to the end user.
Subject Enter the name of the software application for which this installation
is being created.
Keywords Type in any keywords that help describe your product. Separate
multiple keywords with a semicolon (;). Information entered into this
field is displayed when you right-click on your setup package (.msi
file), select Properties, and click the Summary tab.
Schema The Schema property contains the minimum installer version—as
an integer—required for your installation package. For example if
your package requires at least the 1.0 version of the installer, set
this property to 100.
If the user’s system has a Windows Installer version earlier than the
minimum requirement you specify in the Schema property—for
example, if you specify a Schema value of 120 and the user has
Windows Installer version 1.0—the installation will display an error
message and then exit.

Add/Remove Programs
End users with Windows 2000 or later can see information in Add or Remove
Programs that was not available on earlier platforms. With this information, it is easier
for end users to find technical support links and telephone numbers, product update

InstallShield Express Edition User Guide 433


Chapter 26: View Reference
Organize Your Setup View

information, and information about your company. You can provide this information
to end users by setting the Add/Remove Programs properties.

Table 26-4: Add/Remove Programs

Property Description
Use Add/Remove Select Yes if you want your application to appear in the Add/
Programs Remove Programs applet. For target systems running Windows
2000, Windows Me, and Windows XP, if you set this property to
Yes, you can optionally set the other Add/Remove Programs
properties

Setting the Use Add/Remove Programs property to No sets


the ARPSYSTEMCOMPONENT property to 1. Setting the
property to Yes removes it from your installation project.
Disable Change Button Set this option to Yes if you want to hide the Change button on the
Add/Remove Programs control panel. This button allows your users
to change the installation options after the product has been
installed.
Disable Remove Button The Remove button allows your users to remove the product by
clicking one button in the Add/Remove Programs control panel.
This substantially reduces interaction during the uninstallation.
Select No to have this button displayed, or Yes to hide it.
Disable Repair Button Select Yes to have this button hidden in the Support Information
dialog of the Windows 2000/Windows Me/Windows XP Add/
Remove Programs control panel. This button allows your users to
run the Windows Installer repair option if any files have been
deleted or become corrupted.
Display Icon Select the icon that is displayed for this product in the Add/Remove
Programs control panel on Windows 2000/Windows Me/Windows
XP. Once you click in the Display Icon value to edit it, a button (...)
appears to allow you to browse to the .ico or .exe file that contains
the icon resource.
Readme Enter the name of the readme file for this product. This name
appears in the Support Information dialog box of the Add/Remove
Programs control panel in Windows 2000, Windows Me, and
Windows XP. Alternately, you can link a readme file located on the
Internet by specifying a valid URL.

You do not need to use a backslash (\) between a directory


identifier selected from the drop-down menu and the file or
folder name. For example, [INSTALLDIR]MyFolder\Readme.txt
is a valid path format.

434 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-4: Add/Remove Programs (cont.)

Property Description
Publisher/Product URL Enter a general URL for your company or product—for example,
http://www.macrovision.com.
When you click the Support Information link in Add or Remove
Programs in the Control Panel for Windows 2000, Windows Me, or
Windows XP, the Publisher/Product URL is provided as a hyperlink.

This URL is required for Windows logo compliance.


Product Update URL The Product Update URL should point to the Web site where your
users can get information about product updates, or download the
latest version. This URL appears as a hyperlink on the Support
Information dialog in the Windows 2000/Windows Me/Windows XP
Add/Remove Programs control panel.

This field must be set to a valid URL to achieve Windows logo


compliance.
Publisher Enter the name of the company or organization that created the
setup project. This information is displayed to your users on the
Support Information dialog of the Windows 2000/Windows Me/
Windows XP Add/Remove Programs control panel.

This field must be set to achieve Windows logo compliance.


Support Contact Enter the name of the person or department that your customers
should contact for technical support. This information is displayed
to your users on the Support Information dialog of the Windows
2000/Windows Me/Windows XP Add/Remove Programs control
panel.

This field must be set to achieve Windows logo compliance.

InstallShield Express Edition User Guide 435


Chapter 26: View Reference
Organize Your Setup View

Table 26-4: Add/Remove Programs (cont.)

Property Description
Support URL Enter the Web site address where your users can find technical
support information about your product. This information is
displayed to your users on the Support Information dialog of the
Windows 2000/Windows Me/Windows XP Add/Remove Programs
control panel.

This field must contain a valid URL to achieve Windows logo


compliance.
Support Phone Number Enter the technical support phone number for this product. This
information is displayed to your users on the Support Information
dialog of Add or Remove Programs in the Control Panel for
Windows 2000, Windows Me, and Windows XP.

This field must be set to achieve Windows logo compliance.

Features View
Features and subfeatures give you almost limitless flexibility in packaging your
application and related accessories for setup. You can create and configure Features
from the Features view.
A feature is a building-block of an application from the end user’s perspective. That
is, they represent a specific capability of your product, such as its help files or a part of
a product suite that can be installed or uninstalled based on the end user’s selections.
Your entire application should be divided into features that perform a specific
purpose.
To make it easier to lay out a complex application, InstallShield allows you to create
both features and subfeatures. Subfeatures are further divisions of a feature. Since
features should be self-contained elements of an application or application suite that a
user can selectively install, it might make the most sense for you to organize portions
of your application as subfeatures of a “parent” feature. Assuming that the features are
all visible, your end user can then select which portions of a feature to install in the
Custom Setup dialog box.
The default feature Always Install cannot be renamed or removed from your project,
nor can you add any subfeatures to it. This feature should contain files that must be
installed as part of your setup.
Although you can create up to 15 levels of subfeatures, you should keep the design as
simple as possible for organizational purposes.

436 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

NOTE You can refresh the Features view by pressing F5.

Feature Settings
Feature settings are as follows.

Table 26-5: Feature Settings

Setting Description
Description A feature’s description is displayed in the Custom Setup dialog box when the
end user clicks on a feature or subfeature.
Required When you set a feature’s Required property to Yes, the end user cannot
deselect it in the Custom Setup dialog, and the feature is installed. If you set it
to No, the feature is installed by default, but the user can choose to not install
it.
Remote This feature property determines whether this feature’s files are installed on
Installation the target system or run from the source medium, such as a CD-ROM or
network server. The default value for a new feature is Favor Local, which
means that the files in the selected features are installed on the target
system.
Select an option from the drop-down menu:
• Favor Source—The files belonging to this feature are run directly from
the source medium, such as a CD-ROM or network server.
• Favor Local—All of the feature’s files are installed onto the target
system.
• Favor Parent—Gives a subfeature the Remote Installation property of
its parent feature.

For uncompressed CD-ROM builds, you can set this property to Favor
Source. All the files in that feature do NOT get installed to the local
machine. For example, if you do not want to install your primary .exe file
on the local machine and you want the shortcut to point to the file on the
CD, use the Favor Source value to do this. Previously this involved
making the shortcut point to [SourceDir]MyFile.exe. When the end user
installs the application and launches the shortcut, it resolves the source
and runs the .exe file from the installation CD.

InstallShield Express Edition User Guide 437


Chapter 26: View Reference
Organize Your Setup View

Table 26-5: Feature Settings (cont.)

Setting Description
Visible By setting a feature’s Visible property, you specify how you want it presented
to the end user in the Custom Setup dialog. Select an option from the drop-
down menu:
• Visible and Collapsed—The feature is displayed in the Custom Setup
dialog with its subfeatures collapsed by default.
• Visible and Expanded—The feature is displayed in the Custom Setup
dialog with its subfeatures expanded by default.
• Not Visible—The feature is be displayed to the end user in the Custom
Setup dialog.

Although an end user cannot select or deselect an invisible feature, this


property does not have any direct bearing on whether a feature is
installed. This depends on whether the feature is required to be installed.

438 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-5: Feature Settings (cont.)

Setting Description
Advertised By setting a feature’s Advertisement property, you can selectively enable or
disable a feature for advertisement. End users can change this from the
Custom Setup dialog.
Advertised features are not immediately installed during setup. If the feature
is advertised, the feature appears to be already installed. A published feature
does not appear on the target system until it is requested from the installer.
Select an advertisement option from the drop-down menu:
• Disallow Advertise if not supported—Advertisement works only on
systems with Internet Explorer 4.01 or higher. If the target system does
not meet this criterion, advertising is disallowed. If the target system can
support advertisement, advertising is allowed.
• Disallow Advertise—Advertising is not allowed for this feature. End
users cannot elect to have the feature advertised in the Custom Setup
dialog.
• Favor Advertise—The feature is advertised by default. End users can
change the advertisement option for a feature in the Custom Setup
dialog.
• Allow Advertise—Enables advertisement on this feature. Although
advertisement is allowed, it is not the default option when the setup is
run.
Feature advertisement usually requires support from the application. For
example, if you want to advertise a spell check feature, the application would
have to check the feature’s installation state when the end user clicks the
Spell Check toolbar button. If the feature is already installed, the Spell
Checker launches. If it is advertised, the spell check feature must be installed
prior to launching it
When you allow advertisement of a feature, the feature is advertised,
regardless of the mode in which the installation is running, as long as no other
factors prevent it from being advertised. The end user can control which
features are immediately installed and which will be available later in the
Custom Setup dialog.

InstallShield Express 3.53 and older projects migrate the Advertised


property as follows:
• Yes—Favor Advertise
• No—Allow Advertise
If No was selected in an earlier version, InstallShield did not set any feature
properties (or 0). This corresponds to the Allow Advertise option.

InstallShield Express Edition User Guide 439


Chapter 26: View Reference
Organize Your Setup View

Table 26-5: Feature Settings (cont.)

Setting Description
Condition The Condition property shows whether any conditions are set for this feature,
and allows you to create additional conditions. If this feature has conditions,
the property field contains the “Has Conditions” value.
To view the conditions, click the property field. The conditions are displayed in
the inline help directly below the property grid. To create or modify conditions,
click the ellipsis button to launch the Condition Builder dialog.
Comments Use comments to help you keep track of the changes you make to a feature,
or for any future reference. The feature’s comments are stored only in the
project file and are not used in the setup at any time.
REG File to Specify the complete path or click the ellipsis button to browse to a .reg file
Merge at Build to merge it with the feature’s registry entries at build time.

DIM References View


The InstallShield collaboration solution is an alternative to the traditional model of
installation authoring in which a single release engineer creates an installation for an
entire team of software developers. In the traditional model, the burden is on the
release engineer to understand the requirements for the overall installation
architecture and user experience. However, the release engineer must rely on each
developer to provide the installation requirements of the developer’s software module
after the design phase.
Collaboration enables software developers to contribute at an earlier stage of the
installation process. Now, developers can communicate installation requirements in
an XML-structured file that is authored and maintained alongside other source code
that make up a software module. These files are Developer Installation Manifest files
(.dim) and can be authored using InstallShield Collaboration, a module that is
available for the Eclipse and Visual Studio development environments. Each module
enables a developer to create or edit a .dim file in the built-in editor. The software
developer can also edit a .dim file using a third party XML editor. In any case, once
the developer creates a .dim file, then you, the release engineer, can reference it in an
installation and wrap the package with a chosen installer technology.
Within InstallShield, you can use the DIM References view to manage all DIM
references in your project. DIM references are a grouping of similar application data
items such as files, shortcuts, and registry entries organized from the developer’s
perspective. Your users will never see DIM references during the installation; the data
will be set up on their systems depending on which features are selected for
installation.
Several tabs are associated with the DIM reference selected in the DIM References
view:

440 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

• General
• Variables
• Meta Info
• Data
• Dependencies

General Tab
The General tab in the DIM References view displays the following settings
associated with a particular DIM reference:

Table 26-6: Settings on the General Tab in the DIM References View

Setting Description
Name This required property represents the name of the feature or subsystem that
this DIM represents. The name of your DIM defaults to the value of this
property, that is, Name.dim.
UUID This property is required. A default universally unique identifier (UUID) is
automatically generated in this field for the DIM.
Version This required property represents the version of this DIM. The default value is
1.0, which means that this is the first version. You can specify up to four places
for this value, for example, 1.0.0.0.
Description This optional property is a description of the functionality or subsystem that this
DIM represents.
Author This optional property is the name of the author of this DIM.
Company This optional property is the name of your company.

NOTE You will need to virtual directories that you have defined in a DIM to your installation project and
maintain them in the Internet Information Series view.

Variables Tab
The Variables tab in the DIM References view displays all of the build and run-time
variables defined in a DIM. All of the values in the Value field are writable and should
be set in order for them to be resolved properly. Changing the value overrides the
value for the Unit Test Value setting. The Unit Test Value setting is read-only and is
the value set by the DIM author in the DIM.

InstallShield Express Edition User Guide 441


Chapter 26: View Reference
Organize Your Setup View

Meta Info Tab


The Meta Info tab in the DIM References view displays all of the meta tags defined in
a DIM. The information on this tab is read-only.
Meta information is optional and can describe the content, dependencies, and version
of the DIM. The information you specify here is added to the metaInfo element, which
is a child of the root element in the DIM.

Data Tab
The Data tab in the DIM References view displays a listing of all installation elements
included in a particular DIM. It shows the name of an element and the total number of
records associated with it. The information in this tab is read-only.

Dependencies Tab
The Dependencies tab in the DIM References view displays all of the DIMs that are
required by a particular DIM reference. Each dependency is identified by its UUID
and Version property values.
On this tab, you must browse for the corresponding source file for each required DIM
or dependency.

Setup Types View


From the Setup Types view, you can configure the setup types that appear during the
installation, the setup type names, and the features associated with each setup type.
Below is an explanation of how these setup types are typically defined:

Table 26-7: Setup Types

Setup Type Description


Typical This setup type normally includes most, if not all, of a program’s
features. For example, if your setup includes multimedia tutorials,
they would be included as part of the Typical setup.
Minimal This setup type usually includes those features absolutely necessary
in order for your application to run. This setup type is designed for
those people who have limited disk space, such as notebook
computers.

442 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-7: Setup Types (cont.)

Setup Type Description


Custom This setup type allows your users to select which features they want
to install. Of course, those features that are required should be
marked as such, thereby ensuring they are always installed. However,
features such as the online help may not need to be installed. In these
cases, the end user can select which of the unnecessary features to
install.

Upgrade Paths View


In the Upgrade Paths view, you can indicate information specific to how you want
your product to be updated. For example, you can provide the upgrade code (product
GUID), minimum and maximum versions, language identifiers, and other information
for any previous versions of your product for which you want the current version to
update.

Upgrade Path Settings


By specifying upgrade path settings, you indicate how you want to affect an end user’s
system if a previously released version of your product that uses Windows Installer is
installed—and that installed version has a different product code and a different

InstallShield Express Edition User Guide 443


Chapter 26: View Reference
Organize Your Setup View

version number than your current release. Each upgrade entry setting is described
below:

Table 26-8: Upgrade Path Settings

Setting Description
Upgrade Code This property contains as its value the upgrade code GUID of the
product version that you want this version of your application to
replace. When the installation of your current version begins, the
MSI engine searches the target system for the upgrade code
specified. Upon finding a matching upgrade code—along with other
matching upgrade properties—the MSI engine upgrades the target
system by installing the new version.
If you added an upgrade entry to the Upgrade Paths tree by
browsing for and selecting an .msi file on your system, the upgrade
code of that .msi file automatically populates the Upgrade Code
property. If the .msi file for the product version that you want to
upgrade is not on your system, you can type the upgrade code in
this property field.
You can also use the ellipsis (...) button to navigate to an .msi file
on your system and populate the Upgrade Code property.

The upgrade code must be the same as that of the previous


version of your product that was installed using MSI
technology.

444 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-8: Upgrade Path Settings (cont.)

Setting Description
Min Version The Min Version property further defines the MSI engine’s search
for installed versions to upgrade. The previously installed version’s
upgrade code must first match the value specified in the Upgrade
Code property. Once a matching upgrade code match is detected,
the search can be narrowed by the minimum and/or maximum
version specified and whether the versions are included or
excluded (indicated in the Include Min Version and Include Max
Version properties).
This property contains the minimum version number of the product
that you want your current version to update. The field can be
populated in one of the following ways:
• If you added an upgrade entry to the Upgrade Paths tree by
browsing for and selecting an .msi file on your system, the
version of that .msi file automatically populates the Min Version
property.
• You can also type the minimum version in this property field in
the format 0.00.0000 or 00.00.0000 (where the zeros
represent the version number).

You must specify a value for at least one of the Version


properties: Min Version and/or Max Version.
Include Min Version Indicate whether or not you want to include the minimum version—
specified in the Min Version property—in the upgrade. Select Yes if
you want the MSI engine to include the minimum version in the
search for previously installed versions of your product on the
target system.

InstallShield Express Edition User Guide 445


Chapter 26: View Reference
Organize Your Setup View

Table 26-8: Upgrade Path Settings (cont.)

Setting Description
Max Version The Max Version property further defines the MSI engine’s search
for installed versions to upgrade. The previously installed version’s
upgrade code must first match the value specified in the Upgrade
Code property. Once a matching upgrade code match is detected,
the search can be narrowed by the minimum and/or maximum
version specified and whether the versions are included or
excluded (indicated in the Include Min Version and Include Max
Version properties).
This property contains the maximum version number of the product
that you want your current version to update. The field can be
populated in one of the following ways:
• If you added an upgrade entry to the Upgrade Paths tree by
browsing for and selecting an .msi file on your system, the
version of that .msi file automatically populates the Max
Version property.
• You can also type the maximum version in this property field in
the format 0.00.0000 or 00.00.0000 (where the zeros
represent the version number).

You must specify a value for at least one of the Version


properties: Min Version and/or Max Version.
Include Max Version Indicate whether or not you want to include the maximum version—
specified in the Max Version property—in the upgrade. Select Yes if
you want the MSI engine to include the maximum version in the
search for previously installed versions of your product on the
target system.

446 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-8: Upgrade Path Settings (cont.)

Setting Description
Language Identifiers The Language Identifiers property further defines the MSI engine’s
search for installed versions to upgrade. The previously installed
version’s upgrade code must first match the value specified in the
Upgrade Code property. Once a matching upgrade code match is
detected, the search can be narrowed by the languages specified
and included or excluded (indicated in the Lang Search Criterion
property).
This property provides the decimal language identifier(s) for the
product version that you want to upgrade.

To select the languages of the target setups you want to


upgrade:
1. Click the ellipsis (...) button to display the Select Languages
dialog.
2. In the dialog, click the box in front of the language(s) you want
to include in the upgrade.
3. Click OK.INDENTEDYou can also type the decimal value(s) in
the field. To indicate more than one language, separate the
language identifiers with a semicolon.

If you added an upgrade entry to the Upgrade Paths tree by


browsing for and selecting an .msi file on your system, the
decimal language value for that .msi file automatically
populates the Language Identifiers property.
Lang Search Criterion This property indicates whether or not you want to include the
language identifier(s) specified in the Language Identifiers property
in the MSI engine’s search for product versions previously installed
on the target system. Leave this blank to include all languages.
Ignore Remove Failure Select Yes to ignore failure and continue installation of the current
version upon failure to remove a previous version of your
application. If this property is set to No, the installation of the
current version aborts upon failure to remove a previous version
from the target system.

InstallShield Express Edition User Guide 447


Chapter 26: View Reference
Organize Your Setup View

Table 26-8: Upgrade Path Settings (cont.)

Setting Description
Migrate Feature States When installing the previous version of your application, your end
user may have selected to install certain features, and not install
others. During upgrade to a new version of your product, these
original selections can be retained as the default selections by
setting the Migrate Feature States property to Yes.
For example, if your original product contained Feature1, Feature2,
and Feature3, and your end user installed only Feature1 and
Feature3, then by default Feature1 and Feature3 will be selected
for installation when your upgraded setup is run. Feature2 will, by
default, remain unselected.

Update Service View


The Update Service provides a mechanism that enables you to automatically notify
your Web-connected end users when patches, updates, and product information for
your application are ready for release. The Update Service view is where you enable
automatic notification for your original installation.
Using the Update Service is simple. When you enable the Update Service,
InstallShield includes the Update Manager in your installation. This desktop tool ships
with your application and provides a tool for your users to view available updates. To
publish updates to your users, you will use a Web-based management portal called the
Publisher Web site.
The Update Service Starter Edition is included with InstallShield. To learn more about
the capabilities of the Starter Edition, visit the Macrovision Web site. To access the
Update Service documentation, see the Update Service Help Library.

Trialware View

PROJECT This view does not apply to the following project types:
• QuickPatch
• Compact

NOTE Try and Die technology is available in the Premier edition of InstallShield only. For more
information about the Premier edition, visit the Macrovision Web site.

With the Trialware view, you can configure a license for trialware. InstallShield uses
the license to wrap a trialware shell around your product’s executable file (.exe, .dll,

448 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

.ocx, or .scr file). The file can be unwrapped and used only according to the license
settings that you configure, such as the trial limit (a specified number of days or a
specified number of uses).
To obtain a license for an executable file in your project, you begin by right-clicking
the Trialware Files explorer in the Trialware view and then clicking New File
Configured for Trial Usage.
Two tabs are associated with the file selected in the Trialware Files explorer:
• General
• Advanced
Two different types of icons are available for files in the Trialware Files explorer:

Table 26-9: Icon Types in Trialware Files Explorer

Icon Description
InstallShield displays this icon for a file in the Trialware Files explorer if a
corresponding executable file (.exe, .dll, .ocx, or .scr file), trialware type, and
license have been specified on the General tab.
InstallShield displays this warning icon for a file in the Trialware Files explorer if
the file still needs to be configured: a corresponding executable file (.exe, .dll,
.ocx, or .scr), trialware type, or license needs to be specified on the General tab.
If you build your project when this warning icon is displayed, a build error occurs
(unless you have chosen to exclude trialware protection from the release).

General Tab
The Trialware view has a General tab. InstallShield displays this tab when an item is
selected in the Trialware Files explorer.
The General tab is where you select an executable file (.exe, .dll, .ocx, or .scr file), a
trialware type, and a corresponding license for your trialware.

Table 26-10: Trialware View General Tab Settings

Setting Description
Trialware File (.exe, .dll, .ocx, or .scr) Select the .exe, .dll, .ocx, or .scr file in your
project that you would like to protect.
InstallShield will wrap a trialware shell around
this file. The file can be unwrapped and used
only according to the license settings that you
configure on the Advanced tab.
Trialware Type Select the type of trialware. For detailed
information about the different types, see
Types of Trialware.

InstallShield Express Edition User Guide 449


Chapter 26: View Reference
Organize Your Setup View

Table 26-10: Trialware View General Tab Settings (cont.)

Setting Description
License(s) Select the license that should be used to
protect the selected executable file. If you do
not have a license, click the Acquire button to
obtain one.

Once you have configured the above settings for a trialware file, the icon in the
Trialware Files explorer changes from a warning icon ( ) to a protected trialware
icon ( ). If you build your project when the warning icon is displayed, a build error
occurs (unless you have chosen to exclude trialware protection from the release).

Advanced Tab
The Trialware view has an Advanced tab. InstallShield displays this tab when an item
is selected in the Trialware Files explorer.
The Advanced tab is where you configure settings such as the trial limit (number of
trial days or number of uses) for your trialware. It is also where you set the hyperlinks
for the trialware run-time dialogs and access the InstallShield Activation Service
Publisher Web Site.

NOTE The default values for the URL-related properties listed below are for pages on the Macrovision
Web site. You must change these default values or delete them before releasing your trialware.

450 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Otherwise, hyperlinks to the Macrovision Web site will be included in your trialware run-time
dialogs.

Table 26-11: Trialware View Advanced Tab Settings

Property Description
Manage Licenses Online Double-click the Manage Licenses Online property to access
the Publisher Web Site for the InstallShield Activation Service.
The Publisher Web Site is a Web-based tool that enables you to
configure license settings for Try and Buy/Product Activation
trialware.
Visit this Web site to perform tasks such as the following:
• Add to your licenses the serial numbers that end users will
use to activate your product.
• Modify license and serial number properties such as
number of activations allowed and enabled vs. disabled
status.
• Perform offline activations for your end users.
• Run reports to track the number of activations, gather
metrics on the success of a new product introduction,
identify serial numbers that end users might be abusing,
and much more.
Product Name Specify the name that you want to be displayed for your
product in the trialware run-time dialogs.
If you leave this property blank, the name that is listed in the
Product Properties view is used in the trialware run-time
dialogs. The Product Properties view is available from the
General Information view.
Type of Trial Limit Select the type of trialware limit: either number of days or
number of uses.
The type of trial limit that you select here is used as the unit of
measure for the Trial Limit Quantity and Extension Limit
Quantity properties. Note that it is impossible to have an
extension trial limit type that does not match the standard trial
limit type. For example, if you set the trial limit to a specific
number of days, you cannot set the extension trial limit to a
specific number of uses.
For the Try and Buy/Product Activation type of trialware, end
users need to activate the product if they have not already
done so once they have reached the trial limit. End users can
extend the trial only if trial extensions are allowed and if they
enter the correct extension serial number.
For the Try and Die type of trialware, end users can continue
using the product only if trial extensions are allowed and they
enter the correct extension serial number.

InstallShield Express Edition User Guide 451


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Trial Limit Quantity Specify the number of days or the number of uses (depending
on the value of the Type of Trial Limit property) for the trial
limit:
• If the Type of Trial Limit property is set to Days, the trial
period starts on the day that the end user launches your
trialware product for the first time. The trial period starts
on that first day even if the end user clicks the Cancel
button on one of the trialware run-time dialogs and does
not start using the product.
• If the Type of Trial Limit property is set to Uses, the
countdown for the number of trial uses starts with the first
time that the end user launches your product. If an end
user clicks the Cancel button on one of the trialware run-
time dialogs and does not start using the product, the
number of uses does not change.

Note that it is impossible to have an extension trial limit


type that does not match the standard trial limit type. For
example, if you set the trial limit to a specific number of
days, you cannot set the extension trial limit to a specific
number of uses.

452 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Serial Number Format Specify the format for your product’s trialware serial number
and—if trial extensions are allowed—the extension serial
number:
• Type a question mark (?) to represent each character in
your product’s trialware serial number. For example, if a
serial number consists of seven characters, type seven
question marks in this field.
• To split the serial number into groups of characters, type
a dash (-) between each group of question marks. The
dash indicates a break in the serial number, where one
group of characters ends and another begins.
For a serial number format of ???-????, the serial number field
on the trialware run-time dialog would consist of two boxes;
end users would be able to type only three characters in the
first box and only four characters in the second box.
If the type of trialware is Try and Buy/Product Activation, the
format for the serial numbers entered at the InstallShield
Activation Service Publisher Web Site must match the format
specified in the Serial Number Format property. Note that the
Publisher Web Site does not check to make sure that the serial
numbers match the format specified in InstallShield.
If you allow trial extensions, the serial number that you specify
for the Extension Serial Number property must fit the format
specified in the Serial Number Format property.
Allow Trial Extension Specify whether end users are allowed to extend the trial for
your product. If you select Yes, enter values for the Extension
Limit Quantity and Extension Serial Number properties.

Note that if you allow trial extensions, end users can


extend the trial only once. They cannot continually extend
the trial.

InstallShield Express Edition User Guide 453


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Extension Limit Quantity Specify the number of days or the number of uses (depending
on the value of the Type of Trial Limit property) that an end
user is allowed to extend the trial if they enter the correct
extension serial number.
If the Type of Trial Limit property is set to Days, the countdown
for the number of days in the trial extension period starts the
day after the initial trial period ends. This occurs even if the
end user does not immediately extend the trial, but instead
waits several days after the trial period is over to extend it. For
more details, see Trial Limits and Extensions.

Note that it is impossible to have an extension trial limit


type that does not match the standard trial limit type. For
example, if you set the trial limit to a specific number of
days, you cannot set the extension trial limit to a specific
number of uses.
Extension Serial Number Specify the serial number that end users need to enter if they
want to extend the trial. Use a dash (-) to indicate a break in the
serial number, where one group of characters starts and
another begins. The serial number that you specify must fit the
format specified in the Serial Number Format property.

454 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Expiration Date You can set an expiration date to prevent evaluations or
activations of your product after a certain date. To specify an
expiration date, double-click this property, select the I want
my trial to expire on this date option, and then select the
appropriate date.
If you do not want the trialware version of your product to
expire after a predetermined date when end users have not yet
activated it, leave the default value of (Does not expire) for
this field.
Expiration dates are often used for beta versions of a product.
For example, you may want to set the expiration date to the
last day of the beta trial period. When the beta trial period is
over, end users can no longer use the trialware version of your
product, even if they have additional days or uses remaining in
their trial.

The expiration date does not affect how long the Try and
Buy/Product Activation type of trialware can remain
activated. Activating this type of trialware before the
expiration date will make it permanently activated, unless
end users deactivate the product by uninstalling it. If they
deactivate the product after the expiration date, they will
not be able to reactivate it.
Product Purchase URL Specify the URL for a page on your Web site that end users
can visit to find information about purchasing your product.
Note that the default value for this property is a page on the
Macrovision Web site. You must change this default value or
delete it before releasing your trialware.
When an end user clicks the hyperlink for more information on
purchasing your product on one of the trialware run-time
dialogs, this Web page is opened in a Web browser. If you
delete the URL in this box, the purchasing link is not displayed
in the trialware run-time dialogs.
To learn about the e-commerce solution, visit the Macrovision
Web site.

InstallShield Express Edition User Guide 455


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Feedback URL Specify the URL for a page on your Web site that end users
can visit to submit feedback to you. Note that the default value
for this property is a page on the Macrovision Web site. You
must change this default value or delete it before releasing
your trialware.
When an end user clicks the Feedback hyperlink on one of the
trialware run-time dialogs, this Web page is opened in a Web
browser. If you leave this box empty, the Feedback link is not
displayed in the trialware run-time dialogs.
If you want end users to submit feedback through email
messages instead of through your Web site, you can configure
this property with a mailto URL. If an end user clicks a mailto
URL hyperlink in one of the trialware run-time dialogs, a new
email message is opened in the end user’s email application,
and the destination address is populated in the To field.
For example, if you type the following text in this property, an
email message will open with feedback@mycompany.com in
the To field.

mailto:feedback@mycompany.com

You can also specify the text for the Subject line with the
following code, using %20 in place of spaces:

mailto:feedback@mycompany.com?Subject=My%20
Subject
Serial Number Information Specify the URL for a page on your Web site that end users
URL can visit to read information about where they can find their
serial number.
When an end user clicks the Where is my serial number?
hyperlink on one of the trialware run-time dialogs, this Web
page is opened in a Web browser. If you leave this box blank,
the Where is my serial number? hyperlink is not displayed in
the run-time dialogs.
This property applies to the Try and Buy/Product Activation
type of trialware only.
Help URL Specify the URL for a page on your Web site that end users
can visit to learn more about the trial of your product. Note
that the default value for this property is a page on the
Macrovision Web site. You must change this default value or
delete it before releasing your trialware.
When an end user clicks the Help hyperlink on one of the
trialware run-time dialogs, this Web page is opened in a Web
browser. If you delete the URL in this box, the Help link is not
displayed in the trialware run-time dialogs.

456 InstallShield Express Edition User Guide


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Privacy Policy URL Specify the URL for a page on your Web site that end users
can visit to learn more about your company’s privacy policy.
Note that the default value for this property is a page on the
Macrovision Web site. You must change this default value or
delete it before releasing your trialware.
When an end user clicks the Privacy Policy hyperlink on one of
the trialware run-time dialogs, this Web page is opened in a
Web browser. If you delete the URL in this box, the Privacy
Policy link is not displayed in the trialware run-time dialogs.
Offline Activation Email If you want end users to be able to activate your product by
email, specify the email address that end users should use to
request an offline activation. This email address is typically a
distribution-list email address that your customer support staff
monitors often. Note that the default value for this property is a
sample email address. You must change this default value or
delete it before releasing your trialware.
If you do not want end users to be able to activate your
product by email, leave this property blank. The Activate by
Email option will not be displayed on the trialware run-time
dialogs.
For details on how to set this property, see Allowing Offline
Email Activations.
This property applies to the Try and Buy/Product Activation
type of trialware only.

InstallShield Express Edition User Guide 457


Chapter 26: View Reference
Organize Your Setup View

Table 26-11: Trialware View Advanced Tab Settings (cont.)

Property Description
Offline Activation Phone If you want end users to be able to activate your product by
phone, specify the phone number that end users should call to
request an offline activation. The phone number that you enter
should be your own organization’s phone number—typically,
the phone number for your customer support staff. For more
information about the offline activation, see Overview of the
Activation Process.
If you do not want end users to be able to activate your
product by phone, leave this property blank. The Activate by
Phone option will not be displayed on the trialware run-time
dialogs.

The request codes and response codes that are used with
phone activations are shorter than the ones that are used
with offline email activations; the shorter length of the
codes makes it possible to read the codes over the
phone. However, short codes are not as secure as the
longer codes used with email activations. Therefore,
Macrovision recommends that you carefully consider the
security risks associated with offline phone activation
before offering it as an offline activation method. Use of
this option is at your own risk, and Macrovision accepts
no responsibility if your company experiences security
issues.
This property lets you specify the following:
• One or more phone numbers.
• One or more locations. For example, if you have offices in
North America and Europe, you might want to provide one
phone number for customers calling from North America
and a different phone number for customers calling from
Europe.
• Other text strings, such as hours of operation.
For details on how to set this property, see Allowing Offline
Phone Activations.
This property applies to the Try and Buy/Product Activation
type of trialware only.

458 InstallShield Express Edition User Guide


Chapter 26: View Reference
Specify Application Data View

Specify Application Data View


Application data includes any and all files you are adding to your installation. Files
can be added in the Files view, through redistributables, by scanning for
dependencies, or by adding mobile device installations.

Table 26-12: Views Under the Specify Application Data View

View Description
Files The Files view is the main way you add files to your installation
project. This view behaves similarly to the Windows Explorer, allowing
you to drag-and-drop files into your installation project.
Files and Features Although you can select which feature you want to add your files to in
the Files view, if you want to change which feature a file is associated
with after the file has been added to your installation, you need to do
so in the Files and Features view.
Redistributables Redistributables—objects and merge modules—allow you to add
distinct pieces of functionality to your installation project. Examples
of these types of functionality include Visual Basic run-time DLLs and
the Microsoft C run-time libraries.
Dependencies The Dependencies view includes three different scanners that add
dependency files to your installation. These scanners include a Visual
Basic project scanner, a static scanner that scans files already
included in your project and adds their dependencies, and a dynamic
scanner that scans a running application for any dependencies.
Mobile Devices Use the Mobile Devices view if you are creating an installation that
requires a desktop component to be installed along with a mobile
device component. When you add a mobile device installation to your
project through this view, InstallShield automatically adds it to all of
the features that you selected to associate with the mobile device
application.

Files View
Files are the core of any installation. The main purpose of an installation program is to
transfer files from the source medium to the target destination. The Files view is
divided into four panes: The two left panes contain folders and the two right panes
display the files located within those folders. Above these four panes is the Feature
list. Before you add files to your installation, you need to select the feature with which

InstallShield Express Edition User Guide 459


Chapter 26: View Reference
Specify Application Data View

you want to associate your files. The feature that appears in the box is the feature to
which your files are added.

Table 26-13: Panes in the Files View

Pane Description
Source Folders (Top The Source Folders frame is analogous to the left frame in Windows
Left) Explorer. This view contains folders located either locally or on a
network. From here you can navigate to the folder that contains the
files you want to add to your installation.
Source Files (Top Right) The Source Files frame displays the files contained in the currently
selected folder of the Source Folders frame. You can drag files from
this frame to a destination folder in the lower-left frame. The files you
drop into the bottom frames are added to your installation project.
Destination Folders The Destination Folders frame contains a list of predefined
(Bottom Left) destinations.
Destination Files The Destination Files frame displays all the files you have added to the
(Bottom Right) currently selected destination folder. By right-clicking on a file in this
view you can cut, copy, paste, delete, or edit its properties.

You can add files to your installation project in one of three different ways. Each of
these methods is described below:

Table 26-14: Methods for Adding Files to a Project

Method Description
Drag and Drop The most straightforward way to add files to your installation project
is by using the Files explorer in the Files view. The top two panes in
this view are functionally equivalent to Windows Explorer. The bottom
two panes represent the destination for your files. Simply drag source
files from the top frame to the destination folder in the bottom frame.

If you drag and drop a folder from the Source Folders to the
Destination Folders, a dialog will prompt you to indicate whether
you want to make the folder a dynamic link to the folder.
Dynamic File-Linking Another way to add files to your installation is by linking to the
contents of an entire folder, or to specific files in the folder. This
method allows you to point to a specific folder, either locally or on a
network, that contains files for your installation. Every time you build
your installation, the selected contents of the folder are added to your
feature. Additionally, you can use wild cards to filter which files are
added to your installation.

460 InstallShield Express Edition User Guide


Chapter 26: View Reference
Specify Application Data View

Table 26-14: Methods for Adding Files to a Project (cont.)

Method Description
Dependency Scanning A third way to add files to your installation is accomplished through
the Dependencies view. This view contains three wizards that can
scan your installation project, a running application, or a Visual Basic
project for all dependency files and add them to your installation. All
three of these wizards can also be launched from the Tools menu.

NOTE To refresh any of the panes in the Files view, give focus to the pane you want to refresh and
press F5.

Destination Folders
When you add files to your installation, you do so by placing them in a destination
folder. The following predefined destination folders are provided by default in the
Files view. Each one is dynamic, meaning that they do not rely upon hard-coded
paths. Instead, the value for each destination folder is obtained from the operating
system of the target machine.
The following properties hold the fully qualified path to many of the folders on the
end user’s system.

Table 26-15: Predefined Destination Folders

Property Description
AdminToolsFolder Points to the folder where administrative tools are located.
AppDataFolder This property holds the full path to the current user’s Application
Data folder. By default, this property is none.
CommonAppDataFolder Full path to the folder containing application data for all users. A
common path is C:\WINNT\Profiles\All Users\Application Data.
CommonFilesFolder The value of this property is the full path to the Common Files folder
for the current user.
DATABASEDIR This property stores the destination for your installation’s database
files. You can set the initial value for DATABASEDIR in the General
Information view and end users can modify this value at run time in
the Database Folder dialog—if you display the Change button.
DesktopFolder This property is used to hold the full path to the Desktop folder for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
DesktopFolder property should hold the full path to the All Users
desktop folder.

InstallShield Express Edition User Guide 461


Chapter 26: View Reference
Specify Application Data View

Table 26-15: Predefined Destination Folders (cont.)

Property Description
FavoritesFolder The FavoritesFolder property contains the full path to the Favorites
folder for the current user.
FontsFolder This property holds the full path to the Fonts folder.
INSTALLDIR This property stores the destination folder for your installation. You
can set an initial value for INSTALLDIR in the General Information
view.
IISROOTFOLDER This property is an InstallShield directory variable that is used to
determine the root directory of the Web server on a target system.
If you are using IIS functionality in your installation project and you
have added a Web site, then IISROOTFOLDER is automatically
added to your project so that you can deploy files to the IIS root
folder.

All of the files that you add to the IISROOTFOLDER directory in


the Files view are installed to the Web server’s root directory
on the target machine. If IIS is not on the target machine, the
files are copied to the root folder.
LocalAppDataFolder The location of locally stored application data. A common value for
this property is C:\WINNT\Profiles\MyName\Local
Settings\Application Data.
MyPicturesFolder Full path to MyPicturesFolder, which is commonly located at
C:\WINNT\Profiles\MyName\My Documents\My Pictures.
PersonalFolder This property holds the full path to the current user’s Personal
folder.
ProgramFilesFolder This property holds the full path to the current user’s Program Files
folder.
ProgramMenuFolder This property is used to hold the full path to the Program menu for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
ProgramMenuFolder property should hold the full path to the All
Users Program menu.
SendToFolder This property holds the full path to the current user’s SendTo
folder.
StartMenuFolder This property is used to hold the full path the Start menu folder for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
StartMenuFolder property should hold the fully qualified path to the
All Users program menu.

462 InstallShield Express Edition User Guide


Chapter 26: View Reference
Specify Application Data View

Table 26-15: Predefined Destination Folders (cont.)

Property Description
StartupFolder This property is used to hold the full path to the Startup folder for
the current user. If the installation is being run under NT/2000/XP
for All Users, and the ALLUSERS property is set, then the
StartupFolder property should hold the full path to the All Users
program menu.
System16Folder This property holds the full path to the folder containing the
system’s 16-bit DLLs.
SystemFolder This property holds the full path to the Windows system folder.
TempFolder This property holds the full path to the Temp folder.
TemplateFolder This property holds the full path to the current user’s Templates
folder.
WindowsFolder This property holds the full path to the Windows folder.
WindowsVolume This property holds the volume of the Windows folder. It is set to
the drive where Windows is installed.

Files and Features View


The best time to associate files with a feature is when you first add those files to your
setup project. After a file has been added, the only way to change the feature with
which it is associated is through the Files and Features view.

TASK To change the feature with which a file is associated:

1. Click the feature that currently contains the file to display a list of all the files
associated with that feature.
2. Select the file you want to move and drag it onto its new feature.

NOTE You can also cut and paste files—both in large groups or individually—rather than using the
drag-and-drop method.

Redistributables View
The Redistributables view contains all of the InstallShield objects and third-party
merge modules that are included with InstallShield. This view also contains setup
prerequisites that you can add to your project.

InstallShield Express Edition User Guide 463


Chapter 26: View Reference
Specify Application Data View

TIP To see only the redistributables that are included in your installation project, right-click any
redistributable and select Show Only Selected Items. To specify which types of
redistributables—all types, merge modules, objects, or setup prerequisites—should be
displayed, select the appropriate option in the Object types to display list.

Merge Modules
A merge module (or .msm file) contains all of the logic and files needed to install
distinct pieces of functionality. For example, many applications require Microsoft
Visual Basic run-time .dll files. Instead of having to include the file in a feature and
figure out its installation requirements, you can simply attach the Visual Basic Virtual
Machine merge module to one of your project’s features.

NOTE Many of the merge modules included in the Redistributables view are authored by Microsoft or
another third party. Macrovision distributes these modules as a courtesy to assist you in
creating your installation project. However, Macrovision cannot modify or fix any problems that
may exist within third party-authored modules. You are encouraged to contact the vendor
regarding issues with specific third party-authored modules.

Objects
Like merge modules, objects contain logic and files needed to install distinct pieces of
functionality. Some objects, such as the Microsoft Access object included with
InstallShield, require customization through a wizard. As soon as you add such an
object to your installation, its customization wizard opens. You can either customize
your object at the time you add it, or cancel the wizard and customize your object later
by right-clicking the object and selecting Change Objects Settings.

Setup Prerequisites
A setup prerequisite is a base application or component that must be installed on the
target machine before your application can be installed. Including setup prerequisites
in your project enables you to chain multiple .msi files together into a single
Setup.exe file, bypassing the Windows Installer limitation that enables only one .msi
file to be executed at a time. If your installation is Web based, you can configure the
setup prerequisite so that it is downloaded to the target machine only if it is actually
needed. InstallShield includes a base set of setup prerequisites.

EDITION InstallShield Premier Edition and InstallShield Express Edition include the Setup Prerequisite
Editor, which enables you to modify and create setup prerequisites.

464 InstallShield Express Edition User Guide


Chapter 26: View Reference
Specify Application Data View

Live Redistributables Gallery


When you installed InstallShield on your computer, you may have installed only some
of the available redistributables. For example, if you selected the Minimal installation
type, some of the objects and merge modules are not installed on your computer to
help conserve disk space. However, these redistributables are still listed in the
Redistributables view, and they are available for download to your computer. The
check box list in the Redistributables view shows the name, version, and type of each
redistributable. It also contains a column that specifies whether the redistributable
needs to be downloaded from the Internet to your machine.
In addition, a newer version of a redistributable that you have on your computer may
be available for download.

Configurable Redistributables
A configurable redistributable is a merge module or an object that has at least one row
in the ModuleConfiguration table that is referenced by at least one row in the
ModuleSubstitution table. This enables you to change a value in the redistributable.
When you select a configurable module in the Redistributables view, the Merge
Module Configurable Values dialog box is displayed to enable you to configure the
module at the time you add it. To customize the merge module later, right-click it and
select Configure merge module.

Dependencies View
Very often a file relies on functions in other files to perform a task. However, you may
not always be aware of these other files, known as dependencies, when it comes time
to include your application’s files in your setup project. This might cause your
application to function incorrectly.
To help you identify dependencies, InstallShield offers three dependency scanners
that automatically add these files to your setup:

Table 26-16: Dependency Scanners in InstallShield

Scanner Function
Static Scanner Looks at portable executable (.exe, .ocx, .com, .tlb, .hlp, and .chm)
files you have in your setup and checks for any dependencies they
may require.
Dynamic Scanner Monitors your system while an executable file is running and then
adds to your setup any .dll or .ocx files that are required by the
application.
Import Visual Basic Scans your Visual Basic project for all dependencies and adds them
Project to your setup project.

InstallShield Express Edition User Guide 465


Chapter 26: View Reference
Configure the Target System View

Mobile Devices View


Use the Mobile Devices view if you are creating an installation that requires a desktop
component to be installed along with a mobile device component. When you add a
mobile device installation to your project through this view, InstallShield
automatically adds it to all of the features that you selected to associate with the
mobile device application.
This view enables you to do the following:
• Create an installation package for a Windows Mobile device such as the Microsoft
Smartphone or a handheld PC. You can use Microsoft eMbedded Visual Tools 3.0
or Microsoft eMbedded Visual C++ 4 to author your application. The package
installs the necessary Windows Mobile .cab files to the end user’s desktop
computer first, and then either launches the Windows Mobile Application
Manager or uses Microsoft ActiveSync to copy the correct files onto the Windows
Mobile device. It can also optionally register an icon file on the desktop computer
with ActiveSync, so that the icon is displayed within the Windows Mobile
Application Manager window.
• Create an installation package for Palm OS devices. The application files can be
deployed via HotSync to the Palm OS device. You can target either the device’s
memory or a storage card.
• Add .cab files that have already been built to an Express project. The .cab files can
be created by using the Windows Mobile Wizard/Smart Device Setup Wizard, or
they can be some other Windows Mobile–compatible .cab files that you have on
your machine.
The Windows Mobile Wizard/Smart Device Setup Wizard or the Palm OS Wizard
launches when you add a mobile device installation to your project. These wizards
help you to customize the settings for the devices that you want to target.

NOTE Microsoft ActiveSync 3.x or later must be installed on the desktop computer in order to provide
a desktop-to-device installation. Active Sync 4.x is required for Windows Mobile 5.x devices.

TIP To create a dedicated installation for a smart device application, use the Smart Device project
type.

Configure the Target System View


Every installation changes the target system in some way. The simplest installations
merely copy files. More in-depth installations make registry changes, edit .ini files, or

466 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

create shortcuts. InstallShield provides the following subviews for making advanced
configurations:

Table 26-17: Views Under the Configure the Target System View

View Description
Shortcuts/Folders Shortcuts offer quick access to your installed application. You can
create shortcuts and folders on the desktop, the Start menu, and
various other locations.
Registry Through the Registry view, you can create registry entries or import
existing registry data into your installation.
ODBC Resources In the ODBC Resources view, you can add drivers, translators, and
data sources to one or more of your application’s features. Select
from installed ODBC resources or add new ones to the list, associate
them with features, and then customize their attributes.
INI File Changes Although editing system .ini files is not recommended in Windows
2000, XP, or Me, you can edit these files in the INI File Changes view.
This view allows you to create sections and keywords or edit an .ini
file on the target system.
File Extensions If your application requires file extension associations, you can create
these associations in the File Extensions view.
Environment Variables If you need to create, modify, or remove environment variables from
the target system, you can define their properties in the Environment
Variables view.
Internet Information The Internet Information Services view enables you to create and
Services configure IIS Web sites and virtual directories on the target system
when you are deploying Web applications.
Component Services The Component Services view enables you to manage COM+ server
applications and components for your installation package.

Shortcuts/Folders View
You can create shortcuts as well as program folders on the Windows desktop using the
InstallShield Shortcuts explorer. It is important to note that folders and shortcuts can
only be created on the Explorer shell (that is, under Windows XP, Windows 2000,
Windows Me, Windows 98, Windows NT 4.0, and Windows 95).

Shortcut Locations
The Shortcuts/Folders view contains a set of predefined folders under which you can
create shortcuts and subfolders. All of the available shortcut destinations are defined
below.

InstallShield Express Edition User Guide 467


Chapter 26: View Reference
Configure the Target System View

Programs and Startup Menus


By default, InstallShield offers four standard shortcut destinations for you to choose
from. The first two, Programs and Startup menus, are located in the Start menu. The
Programs folder is the logical place to put a shortcut, as this seems to be the industry
standard, and Microsoft’s suggested method. The Startup folder should only contain
shortcuts to those items that need to be launched whenever Windows starts.

Send To Folder
The Send To folder is accessed when a user right-clicks on a file. In the right-click
menu is a folder called Send To. If you create a shortcut for your program in this
folder, an end-user can click on any file and send it to your program.
For instance, if you wanted to open an HTML page in Notepad and you created a
shortcut to Notepad in the Send To menu in the Shortcuts explorer, you could then
right-click on an HTML file and choose Notepad from your Send To menu. The
source for that page would open in Notepad.

NOTE A shortcut created in the Send To Folder is set to the SendTo folder for the user running the
installation. This is because Windows Installer sets the SendToFolder property to the full path to
the SendTo folder for the current user.

NOTE Shortcuts in the Send To folder cannot be advertised.

Desktop
The final shortcut location is the end user’s desktop. Creating a shortcut on the
desktop folder results in your program’s icon’s being displayed on the end user’s
desktop. The desktop is the most visible place to put a shortcut, but it can clutter your
user’s desktop, so use this option sparingly.

468 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Shortcut Settings
Once you have created your shortcuts, you need to configure their settings. Shortcut
settings enable you to link your shortcut to a file, provide a description of the shortcut,
or pass arguments. A brief description of each setting is provided below.

Table 26-18: Shortcut Settings

Setting Description
Description You can provide a description of your shortcut in this field. In a
Windows 2000 or Windows XP environment, this text is displayed in
the Description field of the shortcut’s property sheet.
Feature Select which feature this shortcut belongs to. To ensure that your
shortcut is installed with its target file, you need to include the
shortcut in the same feature as the target file.
Arguments Enter the command-line arguments for this shortcut. The
arguments are added to the Target value of the shortcut’s property
sheet. These arguments work in the same way as any other
command-line arguments. For example, you can link a file to an
executable or cause an executable to run silently by passing
command-line arguments. Be sure to check your syntax because
InstallShield does not do this for you.
Use %1 in the argument for the selected file name. For example, if
you right-click C:\File.ext and -p %1 is the argument for this
shortcut, the command-line argument becomes -p
C:\File.ext. In some cases, it is necessary to enclose the %1
argument in quotation marks—as in "%1"—to correctly handle file
names that contain spaces.
Target The target property is the path to the file that your shortcut
launches. Instead of hard-coding a path, you can use a Windows
Installer folder property in square brackets—for example,
[INSTALLDIR]MyApp.exe.
The target can be any file you choose—either part of your
installation project or a file you know is on the target system. To
specify a file that is already installed on the target system, you
need to select New Shortcut to Preexisting File when you create
your shortcut. If your shortcut points to a file that is installed with
your installation, you can select from the files in the drop-down
menu. Any portable executable files (for example, .exe or .chm) in
your installation project are listed in this field.
Provide the path and file name for this shortcut’s target.

InstallShield Express Edition User Guide 469


Chapter 26: View Reference
Configure the Target System View

Table 26-18: Shortcut Settings (cont.)

Setting Description
Icon File Enter the fully qualified path or browse to the executable file that
contains the icon for the shortcut you are creating. Note that this
file must be an executable file (.exe), a standalone .ico file, or a .dll
file. Because Windows Installer requires a separate icon file,
InstallShield extracts the first icon in the executable file unless an
icon index is specified.

Due to operating system limitations, icon extraction will not


succeed on Windows 95, 98, and Me. Use an .ico file or build
the release on another operating system.
Icon Index Enter the index for the specified icon if there is more than one icon
resource in the executable file.
• A positive integer refers to the order of the icon resources in
the executable. For example, 0 is for the first icon in the file, 1
for the second, 2 for the third, and so on.
• Use a negative number to refer to a specific resource ID. For
example, the icon index -12 points to the icon with a resource
ID of 12.
Run Select a run command to specify how the item is displayed when
the shortcut is double-clicked. The options are described below:
• Normal Window—This option causes the program to launch
in a normal-sized window.
• Maximized Window—This option causes the program to
launch in full-screen view.
• Minimized Window—This option launches the program in a
minimized window, visible only on the taskbar.
Working Directory The working directory is the directory to which common open and
save dialogs default. Enter the path to the directory that you want
to specify as the working directory for this shortcut, or select a
property from the list and customize it to your needs.
For example, if you want your working directory to be set to a
subset of [INSTALLDIR] called Files, select [INSTALLDIR] from
the list and add Files to the end of it: [INSTALLDIR]Files.

470 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Table 26-18: Shortcut Settings (cont.)

Setting Description
Hot Key Shortcut hot keys allow you to access shortcuts with keyboard
combinations, such as CTRL+ALT+A. These combinations enhance
keyboard support of your product.
Click in this field and then click the ellipsis button (...). The Hot Key
dialog box opens, enabling you to enter the keyboard combination
you want to use for this shortcut. The keys you press are
automatically converted into a decimal number that InstallShield
can use when creating the shortcut. For more information, see
Adding Shortcut Hot Keys.
Comments Enter comments for this shortcut. Your comments are saved in the
project file for your reference and are not used in the setup at any
time.

Registry View
InstallShield makes the task of modifying the end user’s registry more familiar with
the InstallShield Registry view. Use this view to create keys and values in a way that
is similar to how you use the Windows Registry Editor.
Additionally, the installer automatically creates certain registry entries based on
values you provide for your General Information properties. These “informational
keys” are required by Windows logo guidelines.

TIP To see all of the registry data in your installation project, select All Application Data (Modify/
Delete)” in the Feature list at the top of the view. You can modify or delete registry data, but
cannot add new keys or values when this option is selected.

ODBC Resources View


One of the more complex areas of system configuration involves setting up ODBC
drivers, data source names (DSNs), and translators. The ODBC resource must be
properly registered on the system with all of the required attributes and, in the case of
drivers and translators, install the necessary files, including any setup DLL. This
process is greatly simplified in the ODBC Resources view, in which you can simply
check off the drivers, data sources, and translators installed on your development
system.
All of the ODBC drivers, data source names (DSNs), and translators registered on
your system are displayed in the ODBC Resource view. DSNs are shown as children
of their associated driver. Expand the tree to view all of the existing ODBC resources.
Like most of the data in your setup project, ODBC resources must be associated with

InstallShield Express Edition User Guide 471


Chapter 26: View Reference
Configure the Target System View

a feature. Then, when that feature is installed, the ODBC resource is installed as a part
of the overall feature.

TIP The ODBC Resources view is exclusively for installing ODBC-related resources. To install the
core ODBC files, select the MDAC merge module in the Redistributables view.

ODBC Resource Settings


There is no universal list of ODBC resource attributes and their possible values.
Check with the file’s vendor or author if you are unsure about what to specify for its
installation. Nonetheless, a few of the attributes are common to each type of ODBC
resource, as described below.

NOTE You can add your own ODBC attribute by clicking in the last row of the grid in the ODBC
Resources view and specifying the property and value.

Drivers
In addition to the required attributes below, the driver must have a name in the tree.
This name is registered as the driver’s description. The driver’s name cannot be
localized, which means that you cannot translate it through the Text and Messages
view and the same value must be used regardless of the system’s language.

Table 26-19: ODBC Driver Attributes

Attribute Expected Value


Driver The complete path to the file on the development system that
serves as the ODBC driver. Enter the value, or click the ellipsis (...)
button to browse to the DLL.
Setup The complete path to the setup DLL for this driver. Enter the value,
or click the ellipsis (...) button to browse to the DLL. You can leave
this property empty if the driver file is also the setup DLL.

Data Sources
In addition to the required attributes below, the DSN must have a name in the tree.
This name is registered as the DSN’s description. The DSN’s name cannot be

472 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

localized, which means that you cannot translate it through the Text and Messages
view and the same value must be used regardless of the system’s language.

Table 26-20: ODBC Data Source Attributes

Attribute Expected Value


Registration Select one of the following values:
• System data source—The data source is available to all
users on the system.
• User data source—The data source is registered only for the
current user.

Translators
In addition to the required attribute below, the translator must have a name in the tree.
This name is registered as the translator’s description. The translator’s name cannot be
localized, which means that you cannot translate it through the Text and Messages
view and the same value must be used regardless of the system’s language.

NOTE You cannot add an attribute to a translator.

Table 26-21: ODBC Translator Attributes

Attribute Expected Value


Translator The complete path to the file on the development system that
serves as the ODBC translator. Enter the value, or click the ellipsis
(...) button to browse to the file.
Setup The complete path to the setup DLL for this translator. Enter the
value, or click the ellipsis (...) button to browse to the DLL. You can
leave this property empty if the translator file is also the setup DLL.

INI File Changes View


Editing .ini files found on the target system can be hazardous, especially if those .ini
files are used by the operating system for standard functionality, such as Boot.ini.

InstallShield Express Edition User Guide 473


Chapter 26: View Reference
Configure the Target System View

With InstallShield, .ini file changes can be performed right in the InstallShield
interface. Editing an .ini file involves three tasks, which are described below.

Table 26-22: Tasks for Editing an .ini File

Task Description
Adding an .ini File The first step in creating an .ini file change is to create a reference to
the file you want to edit. In order to do this you need to know the
name and location of the file you want to edit. If the file is not in the
location you specify, no changes to this file can be made. You can
also import an .ini file.
Specifying a Section in Once you have specified the .ini file you want to edit, the next step is
an .ini File to specify which section of that file you want to change. INI files are
divided into sections, each section containing keywords. Sections are
identified by the square brackets surrounding them—[SectionName],
for example.
Specifying a Keyword INI File keywords are the lowest level of organization in an INI file.
and its Value in an .ini These keywords store data that must persist between uses of an
File application.

Settings for .ini Files


When you add an .ini file change to your installation, target and feature settings
should be configured. To access these settings, open the INI File Changes view, and in
the INI Files explorer, select the .ini file.

Table 26-23: .ini File Settings

Setting Description
Target Enter the path to the folder where the .ini file you want to edit is
stored, or click the Browse button to navigate to this directory.
Rather than hard-coding a path, you can choose one of the
Windows Installer folders properties from the list.
Feature Select the feature with which you want this .ini file change to be
associated. When the selected feature is installed, the change to
the .ini file occurs. If the selected feature is not installed, the
change does not take place.

474 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Settings for .ini File Keywords


A keyword is the lowest level of organization in an .ini file. The keywords store data
that must persist between uses of an application. The settings for keywords are
described below.

Table 26-24: .ini File Keyword Settings

Setting Description
Action Select the action you want to perform from the list. These define
how you will edit the .ini file.
• Replace Old Value—Select this option if you want your new
value to replace the existing value. If no value previously
existed, your new value is added.
• Do Not Overwrite—Your value is added to the .ini file if the
keyword does not already exist. No changes are made if the
keyword is already present in the .ini file.
• Append Tag—Select this option to append your new value to
the existing value. The new value is separated from the
existing value by a comma.
• Remove Whole Value—Select this option if you want to
remove an entire keyword and its value. If the specified
keyword does not exist, no changes are made. No entry is
required in the value field if this option is selected.
• Remove Tag—Only the tag you specify in the Value field is
removed from this .ini entry.
Data Value Enter the value for the keyword. If you are adding or appending a
value, enter the new value here. If you are removing a tag, enter the
tag you want to remove.
Windows Installer properties can be used in your keyword’s value.
To do this, surround the property with square brackets—
[INSTALLDIR], for example.

File Extensions View


File extensions allow you to link a certain type of file to your application. When that
file is double-clicked, your application launches and open that file. When you open a
text (.txt) file, you are actually sending a message to the operating system, telling it to
launch Notepad so you can view the contents of that text file. If you want to provide
similar functionality for your application and its files, you can create a file extension
association.

InstallShield Express Edition User Guide 475


Chapter 26: View Reference
Configure the Target System View

File Extension Settings


File extension settings enable you to specify detailed information about the associated
file type. To access these settings, open the File Extensions view, and in the File
Extensions explorer, select the file extension that you want to edit.
Each file extension setting is described below:

Table 26-25: File Extension Settings

Setting Description
Feature Select the feature that you want this file type association to be a
part of. If the selected feature is installed, the file type association
will be made.
File Select from the list the executable file for which you are creating a
file extension association. If you have not yet added the necessary
file to your installation project, it is not displayed in the list.

You should not use a dynamically linked file to create a file


extension. With dynamically linked files, the selection defaults
to the top file in the dynamically linked folder’s file list, so you
cannot select a specific file.
Command Enter the text that you want displayed on the context menu for the
Open verb. If you leave this field blank, the word Open appears as
the first command on the context menu for this type of file. If you
prefer it to say Edit with MyProduct, enter &Edit with
MyProduct into this field.
Arguments Enter any command-line arguments that you want to pass to your
application when a file of this type is opened. You can use %1 in
your argument to pass the currently selected file name as part of
the argument. For example, -p %1 might be resolved to -p
C:\MyFile.ext.
ProgID Enter the progID of the application with which you are associating
the file extension.
ProgID Description This description is registered as the default value for the ProgID in
the target system’s registry.
Icon File Enter the path to the icon (.ico) or executable file that contains the
icon you want to use for files of this type. You can browse to this
file by clicking the ellipsis (...) button.
Icon Index If your icon file is stored within an executable file, enter the index
number of that file.

476 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Environment Variables View


Environment variables are name and value pairs that can be set on the target system
with your installation program and can be accessed by your application and by other
running programs.
Using InstallShield, you can create, set (or modify), and remove environment
variables on the target system via your installation program. To specify environment
variable properties, go to the Environment Variables view in the View List.

NOTE For target systems running Microsoft Windows 95, 98, or Me, the environment variables are
modified in, created in, or removed from autoexec.bat.

Environment Variable Settings


By specifying environment variable settings, you indicate how you want to affect
existing variables on the target system or create new variables. Each environment
variable setting is described below:

Table 26-26: Environment Variable Settings

Setting Description
Feature Select the feature with which you want to associate this
environment variable. If the selected feature is installed or
uninstalled, the environment variable is created, modified, or
removed from the target system—depending on the values you
provide for the other environment variable properties.

To ensure that this environment variable is created, modified,


or removed when your application is installed, select Always
Install from the drop-down menu. If you want the environment
variable to be associated with only a particular feature, select
that feature instead.

InstallShield Express Edition User Guide 477


Chapter 26: View Reference
Configure the Target System View

Table 26-26: Environment Variable Settings (cont.)

Setting Description
Value Enter the path or value for this environment variable. You can use a
predefined folder as part of this value—such as [INSTALLDIR]bin.
To enter multiple paths, separate the paths with a semicolon

If you set the On Install property to Remove, the Value property


is cleared and becomes read-only.

If the value contains spaces, put quotes around the value to


ensure it is correctly resolved in Windows 9x.
On Install Indicates the action that you want to take place when the
associated feature is installed to the target system. Select one of
the following from the drop-down menu:
• Set—In conjunction with the Placement property, sets the
value of an existing environment variable. This option creates
the environment variable if it does not already exist on the
target system, and then sets it during installation. If the
environment variable exists on the target system, it is set
during the installation.
• Create—Creates the specified environment variable on the
target system—if it does not already exist—and sets the
variable’s value.
• Remove—Removes the specified environment variable from
the target system.

478 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Table 26-26: Environment Variable Settings (cont.)

Setting Description
Placement Indicates the placement of the value in the Value field relative to the
specified environment variable’s existing value. Select one of the
following options from the drop-down menu:
• Append—This option appends the value indicated in the Value
property to the end of the specified environment variable’s
existing value.
• Prefix—This option adds the value indicated in the Value
property to the beginning of the specified environment
variable’s existing value.
• Replace—This option replaces the value of the specified
environment variable with the value indicated in the Value
property.

If you select Create for the On Install property and the


specified environment variable already exists on the target
system, the Placement property value indicates how the new
value should be added to the existing environment variable’s
value or if it should replace the existing environment variable’s
value. However if—in this scenario—the specified environment
variable does not exist on the target system, it is created and
the Placement value is ignored.
On Uninstall Indicate whether or not this environment variable should be
removed from the target system when the associated feature is
uninstalled. Select one of the following options from the drop-down
menu:
• Remove—This option removes the environment variable or its
appended value from the target system if the associated
feature is uninstalled. If the On Install property is set to Create,
Remove removes the entire environment variable. If the On
Install property is set to Set, Remove removes only the value
that was appended to the variable’s value.
• Leave—This option leaves the environment variable or its
appended value on the target system if the associated feature
is uninstalled.

InstallShield Express Edition User Guide 479


Chapter 26: View Reference
Configure the Target System View

Table 26-26: Environment Variable Settings (cont.)

Setting Description
Type For target systems that run Microsoft Windows NT, Windows 2000,
or Windows XP, this property indicates whether the environment
variable name refers to a system or user environment variable. If
the target system runs Microsoft Windows 95, Windows 98, or
Windows Me, this property is ignored. Select one of the following
options from the drop-down menu:
• System—Creates, modifies, or removes the system
environment variable specified.
• User—Creates, modifies, or removes the environment
variable from the user’s environment. The environment
variable specified is available only to the end user who is
logged on at the time of installation.

Internet Information Services View


The Internet Information Services view enables you to add an IIS Web site and virtual
directories to your installation.

EDITION You can create only one Web site per installation in InstallShield Express Edition. InstallShield
Premier Edition and InstallShield Professional Edition support the creation of more than one Web
site per installation. For more information, visit http://www.macrovision.com.

Note the following information about the Internet Information Services view:
• The creation of Web sites on target machines other than the one on which the
installation is running is not supported.
• A Web site is not created on a target machine unless a virtual directory associated
with it is installed.
• Web sites that are created by the installation are never removed unless both of the
following conditions are true:
» The Delete Web Site on Uninstall property is set to Yes.
» All of the virtual roots installed by the installation have been uninstalled.
• If a Web site already exists, virtual directories tied to that Web site in the project
are installed under that Web site. However, none of the properties set for that Web
site in the InstallShield interface will be applied to the Web site in that case.
• There is a one-to-many relationship between features and virtual directories.
Therefore, you can associate more than one virtual directory with a single feature.
If you delete a feature in your project, any virtual directories associated with the
feature are simultaneously removed from your project. If a feature is being
installed, any virtual directories associated with the feature are created at run time.

480 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

NOTE • IIS 6.0 is available only on Windows Server 2003 platforms. On systems that have Windows
Server 2003, if IIS 6 is not installed, then other IIS directories and sites will still be created.
IIS 6.0-specific items will be skipped.
• IIS 5.1 for Windows XP Professional can service only one Web site at a time. This is a
limitation of IIS 5.1.
• InstallShield supports version 4 and later of IIS. It does not support the version of IIS that is
installed with the NT Option Pack on NT Workstation—only the version that is installed to
the NT server.

TIP The View Filter list at the top of the Internet Information Services view lets you associate virtual
directories with features in your installation. This filter is not used to associate a Web site with a
feature because Web sites are not tied to features.

Web Sites
Use the Web Sites item in the Internet Information Services view to add and delete
Web sites, and to configure system-wide settings for the Web server.
When you select the Web Sites explorer in the Internet Information Services view, one
Web-server setting is displayed.

Table 26-27: Web Sites Setting

Setting
Restart web serer after To restart the IIS service (W3SVC) after the installation has
configuring IIS completed making IIS changes to the system, set this field to Yes.

When you select a Web site in the explorer, you can use the following tabs to
configure IIS settings associated with that Web site:
• General tab
• Web Site tab
• Home Directory tab
• Documents tab
• Directory Security tab
• Custom Errors tab
Most of the settings are also configurable through the IIS Microsoft Management
Console. Therefore, consult the IIS Snap-in help for latest information on specific IIS
properties.

InstallShield Express Edition User Guide 481


Chapter 26: View Reference
Configure the Target System View

General Tab
When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The General tab displays one setting.

Delete Web Site on Uninstall


Select this check box if you want to delete the specified Web site upon uninstallation.

Web Site Tab


When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The Web Site tab exposes identification settings for your Web
site.

Table 26-28: Web Site Tab Settings

Setting Description
Description Type the name of the server.
IP Address For an address to appear in this box, it must have already been
defined for use on this computer in the Control Panel. See your
Windows documentation for more information. If you do not assign
a specific IP address, this site responds to all IP addresses
assigned to this computer and not assigned to other sites, which
makes this the default Web site.
TCP Port The TCP Port setting for an IIS Web site indicates the port number
on which the service is running on the target machine. Some
versions of the IIS Web server can host multiple Web sites. Each
Web site is associated with a unique port number.
The default value for this property is 0. In cases where you do not
know the port number on the target machine, you should leave the
default 0 value for this property. When the value is 0, InstallShield
uses the default Web site on the target machine and creates all
virtual directories under this Web site.
Site Number The Site Number is the number in the path at which the Web server
will be created (i.e., w3svc/3).

482 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Home Directory Tab


When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The Home Directory tab exposes directory-related settings for
your Web site.

Table 26-29: Home Directory Tab Settings

Setting Description
A directory located on this If the content for the IIS Web site is on the target machine, select
computer this option.
A share located on another If the content for the IIS Web site is not on the target machine,
computer select this option.
Local Path This box displays the path to the directory that stores your
default Web site files. By default, these files are stored in
IISROOTFOLDER. If you want to store these files in a different
directory on the IIS Web server, select the desired directory from
the list, or select Browse, create, or modify a directory
entry. Then type the new path and directory name in the box.
The Local Path box is displayed if you select the A directory
located on this computer option.
Network Directory The Network Directory box is pre-populated with the following
path:
\\{server}\{share}
Change this path as appropriate.
This box is displayed if you select the A share located on
another computer option.
Script source access To allow end users to access source code if either Read or Write
permissions are set, select this check box. Source code includes
scripts in ASP applications.
Read To provide end users with read access to the Web site, select
this check box.
Write To provide end users with write access to the Web site, select
this check box. This means that end users can change the Web
site’s properties on the target machine.
Directory browsing To allow the end user to see all the virtual directories and
subdirectories below this Web site, select this check box.
Log visits To record visits to this Web site in a log file, select this check
box. Visits are recorded only if logging is enabled for this Web
site.
Index this resource To allow Microsoft Indexing Service to include this directory in a
full-text index of your Web site, select this check box.

InstallShield Express Edition User Guide 483


Chapter 26: View Reference
Configure the Target System View

Table 26-29: Home Directory Tab Settings (cont.)

Setting Description
Application Settings To customize the directory’s application mappings or specify
timeout parameters, click the Configuration button in the
Application Settings area. This opens the Application Mappings
dialog box, which enables you to add, edit, and delete a mapping
between a file name extension and the application that processes
those files. This dialog box also enables you to specify the
session timeout and the ASP script timeout.

Documents Tab
When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The Documents tab has one box that enables you to establish
one or more default pages for your Web site for client requests that do not specify a
document name.

Default Documents (separated by a comma)


In this box, type the name of the default page on your Web site. To specify multiple
pages, separate each with a comma.
For help with this setting, consult the Internet Information Services (IIS) Snap-in help
within the Microsoft Windows Help.

Directory Security Tab


When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The Directory Security tab is where you configure your Web
server to verify the identify of users. You can authenticate users to prevent
unauthorized ones from establishing a Web (HTTP) connection to restricted content.
For more information, refer to the IIS documentation.
This tab contains two areas:
• Anonymous access
• Authenticated access

484 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

The settings in the Anonymous access area are as follows.

Table 26-30: Directory Security Tab Settings for Anonymous Access

Setting Description
Username/password To allow users to establish an anonymous connection, select this
required to access this check box and enter the appropriate Windows user account
resource information.
If you do not need the Web server to confirm the identity of end
users before they can access the content, clear this check box.
Username Type the name of the anonymous account.
Password Type the anonymous user account password. You need to clear the
Allow IIS to control password check box in order to enter a
password. The password is used only within Windows. Anonymous
users do not log on by using a user name and password.
Allow IIS to control Select this check box to automatically synchronize your anonymous
password password settings with those set in Windows on the target system. If
the password you type for the anonymous account differs from the
password that Windows has, anonymous authentication will not
work.

Password synchronization should be used only with anonymous


user accounts defined on the local computer, not with
anonymous accounts on remote computers.

The settings in the Authenticated access area are as follows.

Table 26-31: Directory Security Tab Settings for Authenticated Access

Setting Description
Basic authentication To enable the basic authentication method for collecting user name
and password information for end users who access the Web site,
select this check box.

With the basic method of authentication, user names and


passwords are not encrypted when they are transmitted across
the network. An unscrupulous end user who has network
monitoring tools could intercept user names and passwords.

InstallShield Express Edition User Guide 485


Chapter 26: View Reference
Configure the Target System View

Table 26-31: Directory Security Tab Settings for Authenticated Access (cont.)

Setting Description
Integrated Windows To enable integrated Windows authentication, select this check box.
authentication Integrated Windows authentication uses a cryptographic exchange
with the end user’s browser to confirm the identity of the user.
When integrated Windows authentication is enabled, the Web site will
use it only under the following conditions:
• Anonymous access is disabled.
• Anonymous access is denied because Windows file system
permissions have been set, requiring end users to provide a
Windows user name and password before establishing a
connection with restricted content.

Custom Errors Tab


When you select a Web site in the Internet Information Services view, InstallShield
displays several tabs. The Custom Errors tab is where you customize HTTP errors that
are sent to clients when Web server errors occur. Administrators can use generic
HTTP 1.1 errors, detailed custom error pages that IIS provides, or your own custom
error pages that are you including in the installation.
When you select a specific HTTP error and then click the Edit Properties button, the
Error Mapping Properties dialog box opens. This dialog box lets you specify the page
that should be displayed for the HTTP error.

Virtual Directories
You can add virtual directories to your Web site in the Internet Information Services
view. When you select a virtual directory in the Internet Information Services view,
you can use the following tabs to configure IIS properties associated with it:
• Virtual Directory tab
• Documents tab
• Directory Security tab
• Custom Errors tab
Most of the settings are also configurable through the IIS Microsoft Management
Console. Therefore, consult the IIS Snap-in help for latest information on specific IIS
properties.

486 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Virtual Directory Tab


When you select a virtual directory under a Web site in the Internet Information
Services view, InstallShield displays several tabs. The Virtual Directory tab exposes
directory-related settings for your virtual directory.

Table 26-32: Virtual Directory Tab Settings

Setting Description
A directory located on this If the content for the virtual directory is on the target machine,
computer select this option.
A share located on another If the content for the virtual directory is not on the target
computer machine, select this option.
Local Path This box displays the path to the directory that stores your
default Web site files. By default, these files are stored in
INSTALLDIR. If you want to store these files in a different
directory on the IIS Web server, select the desired directory from
the list, or select Browse, create, or modify a directory
entry. Then type the new path and directory name in the box.
The [IISROOTFOLDER] directory is available if you select Browse,
create, or modify a directory entry.
The Local Path box is displayed if you select the A directory
located on this computer option.
Network Directory The Network Directory box is pre-populated with the following
path:
\\{server}\{share}
Change this path as appropriate.
This box is displayed if you select the A share located on
another computer option.
Script source access To allow end users to access source code if either Read or Write
permissions are set, select this check box. Source code includes
scripts in ASP applications.
Read To provide end users with read access to the virtual directory,
select this check box.
Write To provide end users with write access to the virtual directory,
select this check box. This means that end users can change the
virtual directory’s properties on the target machine.
Directory browsing To allow the end user to see all the virtual directories and
subdirectories below this virtual directory, select this check box.
Log visits To record visits to this virtual directory in a log file, select this
check box. Visits are recorded only if logging is enabled for this
virtual directory.

InstallShield Express Edition User Guide 487


Chapter 26: View Reference
Configure the Target System View

Table 26-32: Virtual Directory Tab Settings (cont.)

Setting Description
Index this resource To allow Microsoft Indexing Service to include this directory in a
full-text index of your Web site, select this check box.
Configuration To customize the directory’s application mappings or specify
timeout parameters, click the Configuration button in the
Application Settings area. This opens the Application Mappings
dialog box, which enables you to add, edit, and delete a mapping
between a file name extension and the application that processes
those files. This dialog box also enables you to specify the
session timeout and the ASP script timeout.
Application name Specify the name of the application in the virtual directory.
Execute permissions This list determines what level of program execution is allowed
for the selected virtual directory.
• Scripts and Executables—All file types can be accessed
or executed.
• Scripts Only—Only scripts, such as ASP scripts, can be
run.
• None—Only static files, such as HTML or image files, can
be accessed.
Application protection (pre- Select the appropriate level of protection for applications:
IIS 6.0 only)
• Low—Applications are run in the same process as Web
services.
• Medium—Applications are run in an isolated pooled
process in which other applications are also run.
• High—Applications are run in an isolated process separate
from other processes.

Documents Tab
When you select a virtual directory under a Web site in the Internet Information
Services view, InstallShield displays several tabs. The Documents tab has one box
that enables you to establish one or more default pages for your Web site for client
requests that do not specify a document name.

Default Documents (separated by a comma)


In this box, type the name of the default page in your virtual directory. To specify
multiple pages, separate each with a comma.
For help with this setting, consult the Internet Information Services (IIS) Snap-in help
within the Microsoft Windows Help.

488 InstallShield Express Edition User Guide


Chapter 26: View Reference
Configure the Target System View

Directory Security Tab


When you select a virtual directory under a Web site in the Internet Information
Services view, InstallShield displays several tabs. The Directory Security tab is where
you configure your Web server to verify the identify of users. You can authenticate
users to prevent unauthorized ones from establishing a Web (HTTP) connection to
restricted content. For more information, refer to the IIS documentation.
This tab contains two areas:
• Anonymous access
• Authenticated access
The settings in the Anonymous access area are as follows.

Table 26-33: Directory Security Tab Settings for Anonymous Access

Setting Description
Username/password To allow users to establish an anonymous connection, select this
required to access this check box and enter the appropriate Windows user account
resource information.
If you do not need the Web server to confirm the identity of end
users before they can access the content, clear this check box.
Username Type the name of the anonymous account.
Password Type the anonymous user account password. You need to clear the
Allow IIS to control password check box in order to enter a
password. The password is used only within Windows. Anonymous
users do not log on by using a user name and password.
Allow IIS to control Select this check box to automatically synchronize your anonymous
password password settings with those set in Windows on the target system. If
the password you type for the anonymous account differs from the
password that Windows has, anonymous authentication will not
work.

Password synchronization should be used only with anonymous


user accounts defined on the local computer, not with
anonymous accounts on remote computers.

InstallShield Express Edition User Guide 489


Chapter 26: View Reference
Configure the Target System View

The settings in the Authenticated access area are as follows.

Table 26-34: Directory Security Tab Settings for Authenticated Access

Setting Description
Basic authentication To enable the basic authentication method for collecting user name
and password information for end users who access the virtual
directory, select this check box.

With the basic method of authentication, user names and


passwords are not encrypted when they are transmitted across
the network. An unscrupulous end user who has network
monitoring tools could intercept user names and passwords.
Integrated Windows To enable integrated Windows authentication, select this check box.
authentication Integrated Windows authentication uses a cryptographic exchange
with the end user’s browser to confirm the identity of the user.
When integrated Windows authentication is enabled, the virtual
directory will use it only under the following conditions:
• Anonymous access is disabled.
• Anonymous access is denied because Windows file system
permissions have been set, requiring end users to provide a
Windows user name and password before establishing a
connection with restricted content.

Custom Errors Tab


When you select a virtual directory under a Web site in the Internet Information
Services view, InstallShield displays several tabs. The Custom Errors tab is where you
customize HTTP errors that are sent to clients when Web server errors occur.
Administrators can use generic HTTP 1.1 errors, detailed custom error pages that IIS
provides, or their own custom error pages.
When you select a specific HTTP error and then click the Edit Properties button, the
Error Mapping Properties dialog box opens. This dialog box lets you specify the page
that should be displayed for the HTTP error.

Component Services View


The Component Services view enables you to manage COM+ server applications and
components for your installation package.

490 InstallShield Express Edition User Guide


Chapter 26: View Reference
Customize the Setup Appearance View

NOTE • The Component Services functionality is available only if you are using InstallShield on a
machine running Microsoft Windows 2000 or Microsoft Windows XP.
• Only non-system COM+ applications can be added to your project. Therefore, InstallShield
displays only non-system COM+ applications under the COM+ Applications node in the
Component Services view.
• COM+ server applications can be installed on only Windows 2000 operating systems and
later.

The look and feel of the Component Services view is similar to that of the Component
Services administrative tool in the Control Panel for systems running Windows 2000
and Windows XP.
InstallShield Premier Edition and InstallShield Professional Edition provide
additional functionality in the Component Services view; these editions enable you to
manage both COM+ server applications and application proxies. A COM+ application
proxy consists of a subset of the attributes of the server application, and it enables
remote access from a client machine to the machine where the application resides.

Customize the Setup Appearance View


The appearance of your setup is one of the main aspects that differentiates you from
your competition. You can easily customize the way your setup looks and behaves
through the views listed below.

Table 26-35: Views Under the Customize the Setup Appearance View

View Description
Dialogs Through the Dialogs view you can select which dialogs you want
displayed during your setup, and you can customize the look of these
dialogs by adding custom banners and images.
Billboards Billboards are images that get displayed for a specified amount of
time while your setup runs. These billboards can provide information
about the product being installed or simply entertain the user during
the installation process.
Text and Messages All the strings used during your setup are accessible through the Text
and Messages view. Through this view you can change the text
displayed on dialogs and error messages shown to your end users.

Dialogs View
Your setup’s user interface is important in many ways, primarily because customer
input and settings are usually handled through the user interface. If your user interface
is difficult to navigate and understand, users may experience problems installing your

InstallShield Express Edition User Guide 491


Chapter 26: View Reference
Customize the Setup Appearance View

product. In order to ease the process of creating your setup and to improve the end-
user experience, InstallShield provides several predefined dialogs.
Although you are limited to the provided dialogs, you can customize many of them to
produce the look and functionality you require. For example, you can add a custom
image to the top of every dialog, thereby branding it with your company logo.
For information on customizing each dialog, see the following.
• Splash Dialog
• Install Welcome Dialog
• License Agreement Dialog
• Readme Dialog
• Customer Information Dialog
• Destination Folder Dialog
• Database Folder Dialog
• Setup Type Dialog
• Custom Setup Dialog
• Ready To Install Dialog
• Setup Progress Dialog
• Setup Complete Success Dialog

Billboards View
A great way to pass information to your customers is to put up billboards during the
installation. Billboards are bitmaps that you display during the file transfer process.
Billboards can communicate, advertise, educate, promote, intrigue, entertain, and
otherwise keep your customer’s attention. Like the billboards found along
expressways, these billboards are aimed at offering information—new features of the
product being installed or other products from your company—to a captive audience.
Each billboard is a bitmap (.bmp) file that you or your company’s graphics department
can customize for complete control over the look and feel of the file transfer.
When you add a billboard to your project, the setup’s user interface is set against a
blue gradient, full-screen window with the product name (set in the General
Information view) in the upper left. The billboards are displayed as the Setup Progress
dialog reports the modifications that Windows Installer is making to the system. You
can control the length of time the billboard is shown and its position by setting its
properties in the Billboards explorer.

492 InstallShield Express Edition User Guide


Chapter 26: View Reference
Customize the Setup Appearance View

Billboard Settings
A billboard’s settings determine which bitmap (.bmp) file is shown, how long it is
displayed, and where and how it is drawn on the screen. To access these settings, open
the Billboards view, and in the Billboards explorer, select the billboard that you want
to edit.

Table 26-36: Billboard Settings

Setting Description
File Name Enter the path to the bitmap (.bmp) file, or click the ellipsis (...)
button to navigate to this file. This file is automatically streamed
into your setup package whenever you build a release.
Duration Enter the amount of time, in seconds, that this billboard is
displayed before the next billboard takes its place. When the file
transfer completes, no more billboards are shown, even if other
billboards are scheduled or the current billboard’s duration has not
elapsed. If the file transfer takes more time than you have allocated
for your billboards, the final billboard is displayed until file transfer
ends.
Origin Select where on the screen you want your billboard to be anchored.
You can choose from the following options: Upper Left, Upper
Right, Lower Left, Lower Right. The X and Y coordinates are
measured from this point.
X Coordinate To change the horizontal location of your billboard relative to the
location you selected in the Origin property, enter the distance, in
pixels. For example, if the billboard’s origin is Lower Left, an X
Coordinate value of 100 places the left side of the bitmap 100
pixels from the left side of the screen.
Y Coordinate To change the vertical location of your billboard relative to the
location you selected in the Origin property, enter the distance, in
pixels. For example, if the billboard’s origin is Lower Left, a Y
Coordinate value of 100 places the bottom of the bitmap 100
pixels from the bottom of the screen.
Effect Select the transition effect for this billboard. Rather than just
appearing on the screen and disappearing after an allotted amount
of time, a transition effect makes the change between billboards
much smoother.
Background Color This field displays the currently selected background color for your
billboard. To change this color, click the ellipsis (...) button to open
the Color dialog and select the color you want to use.
Title Enter the title of this billboard, as you want it to appear to your end
users. This name is stored in a string table to make the task of
localizing your setup easier.

InstallShield Express Edition User Guide 493


Chapter 26: View Reference
Define Setup Requirements and Actions View

Table 26-36: Billboard Settings (cont.)

Setting Description
Background Style Select Gradient if you want the background of your billboard to fade
from dark to light. Select solid if you want it to appear as one solid
color.
Font Click the ellipsis (...) button to select the font you want to use in
your billboards. If the target machine does not have the font you
selected, a default system font will be used instead.

Text and Messages View


The installation of your software is often the first contact your customers have with
your application. If the setup process is hard to follow or the messages on the dialogs
unclear, that first impression may be poor. Instead, you can customize all of the text
that is displayed in your setup. Additionally, you can export all run-time strings to a
text file, translate them, and then import the new language into the IDE for globalized
versions of your setup.
The Text and Messages view lists all of the dialogs and error messages that can be
displayed during the setup process. If you click one of these dialogs, you can see a
picture of the dialog and all the strings that are associated with it. All run-time strings
are accessible in this view.

Define Setup Requirements and Actions View


Custom actions and setup requirements are both useful ways to achieve functionality
that is not natively supported by the Windows Installer service. Through custom
actions you can call functions from DLLs or launch executables. By setting
requirements you can ensure that your application does not get installed onto a
machine that does not meet your software’s hardware needs.

Table 26-37: Views Under the Define Setup Requirements and Actions View

View Description
Requirements If your application has certain hardware or operating system
requirements that must be met in order to run properly, you can
ensure that it will not be installed onto machines that do not meet
these requirements.
Custom Actions Custom actions allow you to add functionality to your setup that is not
inherently supported by Windows Installer. These actions can be used
for anything from displaying a readme file to deleting registry entries.
Setup Files If there are specific files that you need to be available to your setup
project only during installation, you can add those files in the Setup
Files view.

494 InstallShield Express Edition User Guide


Chapter 26: View Reference
Define Setup Requirements and Actions View

Requirements View
The Requirements view enables you to specify certain machine environments and
software that your application requires in order to run properly. If these system or
software requirements are not met, the installation exits. Because your application
cannot be installed on systems that do not meet your hardware or software
requirements, you may want to set those requirements liberally.

System Hardware Requirements


The following table describes the options available.

Table 26-38: System Requirement Conditions

Condition Description
OS Version Select the operating systems your setup will target. Use the Any OS
option to target all operating systems that support Windows Installer
installations. Alternately, use the Specific option and specify the
operating systems required for your application.
Processor Select the minimum required processor in order for your application
to run.
RAM Select the lowest amount of RAM required to run your application.
Screen Resolution Select the minimum screen resolution required by your product.
Color Depth Select the minimum required color depth for your application.

System Software Requirements


For information about specifying software requirements, see Specifying Software
Requirements for Your Application.

See Also
Specifying Target System Requirements

Custom Actions View


As complex as Windows Installer is, it may not provide all the functionality that you
require. Microsoft allows you to add flexibility to your installation that is not directly
supported by Windows Installer through the use of custom actions.
InstallShield supports custom actions that call a DLL function, launch an executable
file, or use a VBScript. Examples of scenarios where you may want to use custom
actions include the following:
• Validating a serial number that an end user entered during installation run time

InstallShield Express Edition User Guide 495


Chapter 26: View Reference
Define Setup Requirements and Actions View

• Checking if a product is installed


• Restarting the target machine after the installation
When you select a .dll custom action in the Custom Actions view, you can configure
its settings. To learn more, see the following:
• DLL Custom Action Settings
• Executable File Custom Action Settings
• VBScript Custom Action Settings

DLL Custom Action Settings


When you add a .dll custom action to the Custom Actions view, you need to configure
its settings.

Table 26-39: Settings for .dll Custom Actions

Settings Description
Source Location Specify whether the DLL used for this custom action is on your file
system (Browse File System) or will be installed on the target
system (Installed with the product).
Depending on which part of the installation or uninstallation you
schedule the custom action, the Installed with the product option
may not be available. For example, if you schedule the custom
action for the Before File Transfer part of the installation—which
occurs before the DLL has been installed on the target system—
the Installed with the product option is not available.
File Name If you selected Installed with the product for the Source Location
property, you must browse for the file from those files already
added to your installation in the Files view. Files that are installed on
the target system are executed from their destination on the target
system.
If you selected Browse File System for the Source Location, you
can browse to the DLL that you want to use for the custom action.
When you build your installation, this file is automatically
incorporated into your project file. Although the custom action is
run during installation, the file is removed following installation.
Function Name Type the name of the function you want to call. Although your
function must accept parameters, you do need not to list the
parameters in this property. For example, if your function has the
following prototype, type MyFunction for the function name:
CHAR WINAPI MyFunction(HWND, LPSTR , LPSTR, LPSTR, LPSTR);
Function Signature This property allows you to specify the format your DLL function will
follow. Select Classic to use the same format as in InstallShield
Express versions prior to 3.0. Use New to have your DLL function
use the standard Windows Installer custom action signature.

496 InstallShield Express Edition User Guide


Chapter 26: View Reference
Define Setup Requirements and Actions View

Table 26-39: Settings for .dll Custom Actions (cont.)

Settings Description
Wait For Action If you want the installation to wait until your action has been
dismissed, select Yes. If you want the installation to continue to run
while your action runs, select No.
Run Once Because your custom action executes between dialogs, it can
potentially run more than once if a user goes back and forth
between dialogs. If you want to enable your custom action to
execute more than one time, set this property to No. If your custom
action should execute only one time, set this property to Yes.
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
installation:
• After Initialization (before first dialog)
• After Ready to Install dialog
• After Setup Progress dialog
• After Setup Complete Success dialog
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
uninstallation:
• After Initialization (before first dialog)
• After Ready to remove dialog
• After Setup Progress dialog
• After Setup Complete Success dialog
Ignore Exit Code Select Yes if you want your installation to ignore the return value of
this DLL custom action and continue the Windows Installer
installation, regardless of the return value. Select No if you do not
want your installation to ignore the return value.
Comments Enter any comments you may have about this custom action.
These comments are for your reference only and are not displayed
to your end users.
Condition This property shows whether any conditions are set for this custom
action, and it enables you to create additional conditions. If this
custom action has conditions, the property contains the Has
Conditions value.
To view the conditions, click the property field. The conditions are
displayed in the inline help directly below the property grid. To
create or modify conditions, click the ellipsis button to launch the
Condition Builder dialog box.

InstallShield Express Edition User Guide 497


Chapter 26: View Reference
Define Setup Requirements and Actions View

Executable File Custom Action Settings


When you add a custom action that launches an .exe file to the Custom Actions view,
you need to configure its settings.

Table 26-40: Settings for Executable File Custom Actions

Setting Description
Source Location Select one of the following location options for the .exe file:
• Browse File System—The .exe file used for this custom
action is on your file system.
• Installed with the product—The .exe file will be installed on
the target system. Depending on which part of the installation
or uninstallation you schedule the custom action, the Installed
with the product option may not be available. For example, if
you schedule the custom action for the Before File Transfer
part of the installation—which occurs before the .exe file has
been installed on the target system—the Installed with the
product option is not available.
• File Exists on Target System—The .exe file already exists
on the target system.

If you select File Exists on Target System and set the File
Location field to [SUPPORTDIR], you can launch a file in the
Setup Files view as a custom action.
File Location Type the name of the folder that contains the executable you want
to launch on the end user’s computer.
This field is visible only if you select File Exists on Target System for
the Source Location property.
File Name If you selected Installed with the product for the Source Location
property, you must browse for the file from those files already
added to your installation in the Files view. Files that are installed on
the target system are executed from their destination on the target
system.
If you chose Browse File System for the Source Location, you can
browse to the .exe file that you want to use for the custom action.
When you build your installation, this file is automatically
incorporated into your project file. Although the custom action is
run during installation, the file is removed following installation.
Command Line Type any command-line parameters that you want to pass to your
executable. For example, if you select Notepad as your executable
file, you can pass a file name at the command line to open the file
when the executable is launched. In this case, you might enter E:/
Readme.txt in order to launch a readme file. Enclose long file
names in quotation marks.

498 InstallShield Express Edition User Guide


Chapter 26: View Reference
Define Setup Requirements and Actions View

Table 26-40: Settings for Executable File Custom Actions (cont.)

Setting Description
File Name and Command Type the file name. Do not add a directory before the file name—
Line this is provided in the File Location property. The file name can be
followed by any command line that you want to send to the
executable.
This property is visible only if you select File Exists on Target
System in the Source Location property.
Wait For Action If you want the installation to wait until your action has been
dismissed, select Yes. If you want the installation to continue to run
while your action runs, select No.
Run Once Because your custom action executes between dialogs, it can
potentially run more than once if a user goes back and forth
between dialogs. If you want to enable your custom action to
execute more than one time, set this property to No. If your custom
action should execute only one time, set this property to Yes.
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
installation:
• After Initialization (before first dialog)
• After Ready to Install dialog
• After Setup Progress dialog
• After File Transfer
• After COM Registration
• After Register Product
• After Setup Complete Success dialog
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
uninstallation:
• After Initialization (before first dialog)
• After Ready to remove dialog
• After Setup Progress dialog
• Before System Changes
• After Setup Complete Success dialog
Ignore Exit Code Select Yes if you want your installation to ignore the return value of
this executable custom action and continue the Windows Installer
installation, regardless of the return value. Select No if you do not
want your installation to ignore the return value.
Comments Enter any comments you may have about this custom action.
These comments are for your reference only and are not displayed
to your end users.

InstallShield Express Edition User Guide 499


Chapter 26: View Reference
Define Setup Requirements and Actions View

Table 26-40: Settings for Executable File Custom Actions (cont.)

Setting Description
Condition This property shows whether any conditions are set for this custom
action, and it enables you to create additional conditions. If this
custom action has conditions, the property contains the Has
Conditions value.
To view the conditions, click the property field. The conditions are
displayed in the inline help directly below the property grid. To
create or modify conditions, click the ellipsis button to launch the
Condition Builder dialog box.

VBScript Custom Action Settings


When you add a VBScript custom action to the Custom Actions view, you need to
configure its settings.

Table 26-41: Settings for VBScript Custom Actions

Setting Description
Source Location Specify whether the VBS used for this custom action is on your file
system (Browse File System) or will be installed on the target
system (Installed with the product).
Depending on which part of the installation or uninstallation you
schedule the custom action, the Installed with the product option
may not be available. For example, if you schedule the custom
action for the Before File Transfer part of the installation—which
occurs before the VBScript has been installed on the target
system—the Installed with the product option is not available.
File Name If you selected Installed with the product for the Source Location
property, you must browse for the file from those files already
added to your installation in the Files view. Files that are installed on
the target system are executed from their destination on the target
system.
If you selected Browse File System for the Source Location, you
can browse to the VBScript that you want to use for the custom
action. When you build your installation, this file is automatically
incorporated into your installation package. Although the custom
action is run during installation, the file is not installed on the target
system.
Function Name If you have defined a function within your .vbs file, enter the name
of the function that you want to execute. This is executed after the
VBScript. VBScript functions cannot take arguments from custom
actions. Additionally, it is unnecessary to have a function—the
custom action first executes the script, then calls the function if
specified.

500 InstallShield Express Edition User Guide


Chapter 26: View Reference
Define Setup Requirements and Actions View

Table 26-41: Settings for VBScript Custom Actions (cont.)

Setting Description
Wait for Action If you want the installation to wait until your custom action
completes, select Yes. If you want the installation to continue
running while your action runs, select No.
Run Once Because your custom action executes between dialogs, it can
potentially run more than once if a user goes back and forth
between dialogs. If you want to enable your custom action to
execute more than one time, set this property to No. If your custom
action should execute only one time, set this property to Yes.
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
installation:
• After Initialization (before first dialog)—After Ready to Install
dialog
• After Setup Progress dialog—After Setup Complete Success
dialog
The Run Once value is set to Yes and is read-only when you
schedule the custom action for any of the following parts of the
uninstallation:
• After Initialization (before first dialog)
• After Ready to remove dialog
• After Setup Progress dialog
• After Setup Complete Success dialog
Ignore Exit Code Select Yes if you want your installation to ignore the return value of
this VBScript custom action and continue the Windows Installer
installation, regardless of the return value. Select No if you do not
want your installation to ignore the return value.
Comments Enter any comments you may have about this custom action.
These comments are for your reference only and are not displayed
to your end users.
Condition This property shows whether any conditions are set for this custom
action, and it enables you to create additional conditions. If this
custom action has conditions, the property contains the Has
Conditions value.
To view the conditions, click the property field. The conditions are
displayed in the inline help directly below the property grid. To
create or modify conditions, click the ellipsis button to launch the
Condition Builder dialog box.

Setup Files View


Setup or support files are files that are available on the target system only during your
application’s installation process. Setup files are copied to a temporary directory on

InstallShield Express Edition User Guide 501


Chapter 26: View Reference
Prepare for Release View

the target system when installation begins and are deleted when the installation is
complete. The support directory (SUPPORTDIR) is a dynamic file location and might
be different on every target system and even on the same system for different
installation instances.
The Setup Files view also contains a Disk1 node, which allows you to add files to the
root of the source media.

Prepare for Release View


The final step in creating your setup project is to build and test your installation.
InstallShield provides you with many different media types to choose from, as well as
the ability to test your installation from within InstallShield.

Table 26-42: Views Under the Prepare for Release View

View Description
Build Your Release The Build view allows you to select which type of media you want to
use and provides you with your build configuration options.
Test Your Release Before you can release your setup to the public you should make sure
you test it. In the Test Your Release view you can run your setup in its
entirety or just go through the dialogs, without actually making any
changes to your system.
Distribute Your Release The last action to perform in the setup creation process is to
distribute your release. Through this view you can copy all of your
setup files to a target destination.

Build Your Release View


When you build a release, InstallShield takes all of the information from your
installation project and compiles it into a Windows Installer installation package (.msi
file) capable of installing your product onto any supported Windows platform.
After you have completely designed your project in InstallShield, you are ready to
build a release for testing and, ultimately, distribution to your customers. The release
is built according to your settings in the Build Your Release view.
Before building your package, ensure that you have completed designing and setting
the properties for every element in your installation project, including the features,
files, shortcuts, registry entries, and end-user interface.

502 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Media Types
Media types, or release types, represent the type of disk or other electronic medium
that you use to distribute your installation. The most common of these release types is
CD-ROM, although all of the following types are available:

Table 26-43: Release Types

Release Type Description


CD-ROM Select this option if you are distributing your setup on a CD. The
maximum size for this media type is 650 MB per CD.
Custom Select this option if the medium that you are distributing is not among the
media types listed. For example, you may be distributing your setup Zip
disks.
DVD-5 This option allows you to ship your release on a 4.38 GB DVD-ROM.
DVD-9 Select this option if you are shipping your setup on a 7.36 GB DVD-ROM.
DVD-10 This option allows you to ship your release on an 8.75 GB DVD-ROM.
DVD-18 If you have an enormous setup, you can ship your release on 15.83 GB
DVD-ROM media.
SingleImage If your setup is going to be placed on a network, select this option. There
is no size limit for this media type.
WebDeployment This option allows you to create a setup designed to be deployed over
the Web. There is no size limit for this media type. WebDeployment
setups have specific settings associated with them.

If your installation requires more than one disk, InstallShield automatically splits it
across as many disks as needed.

CAUTION If you build a multiple-disk installation, you need to set the volume label on the second and
subsequent disks.

Build Settings for Custom, CD-ROM, and DVD Releases


The build settings help define the disk image created as a result of building your
installation. From including a setup launcher (Setup.exe) to compressing your
installation, these settings provide a greater level of flexibility for your installation.
To access these settings, open the Build Your Release view, and in the Builds
explorer, select Custom, CD_ROM, or one of the DVD releases.

InstallShield Express Edition User Guide 503


Chapter 26: View Reference
Prepare for Release View

NOTE Other settings are available from SingleImage and WebDeployment release types.

Table 26-44: Build Settings

Setting Description
Release Location Enter the full path to the top-level directory where your release will
start to be built.
Media Size This property displays the size of the currently selected media and
is read only for all media except custom. The decimal separator is
a period (.).
Media Size Unit This property displays the unit size for the current media. For
example, CDs are measured in megabytes and DVDs are measured
in gigabytes. You cannot change this property unless you are using
the custom media type.
Cluster Size A cluster is the smallest unit of space on a disk. This size,
measured in bytes, is the minimum amount of space allocated for
each file. If the cluster size is set at 1024 bytes and you have a file
that is 2000 bytes, that file will take up two clusters on the disk. If
the file is only 1000 bytes, it requires only one cluster. However,
the rest of the space in that cluster is not available for any other
file.
Compress Media Select Yes to have all of your setup files compressed into .cab files.
Select No if you want your files to remain uncompressed on the
media.
Optimize for Media Size If you choose to optimize for media size, your installation will be
smaller. However, the time to build the setup increases.

504 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
MSI Engine Version Select the version of the Windows Installer engine that you want to
include with your application. You must select one of the Yes
options in the Setup Launcher property to enable installing the
Windows Installer engines with your package.

The Version 3.1 or 2.0 (best fit for system) option installs
Windows Installer 3.1 on target systems that are running
Windows 2000 SP3 or later; it installs Windows Installer 2.0 on
other target systems.
• Windows Installer 2.0 requires SP6 on Windows NT 4
platforms; Windows Installer 1.1 and Windows Installer
1.2 require SP3 on Windows NT 4 platforms.
• If you select version 1.1 or 1.2, the minimum installer
version (schema) of your package for this release is set
to 110, overriding the Schema property for the Summary
Information Stream in the General Information view. If you
choose to include the Windows Installer engine with your
installation, this property determines if version 1.2 or
version 2.0 of the Windows Installer engine is installed.
MSI Engine Location This property lets you specify where the MSI engine installers—
InstMsiA.exe and InstMsiW.exe—should be located. (The
Setup Launcher property lets you specify to include neither, one, or
both of the MSI engine installers.)
• Select Copy from Source Media to leave the MSI engine
installers you selected on the root of the source media.
• Select Extract Engine from Setup.exe to compress the
selected MSI engine installers into Setup.exe, to be
extracted at run time.
Include Setup.exe Setup.exe is a setup launcher. This means that it determines if
the Windows Installer service has been installed on the target
system, installs it if necessary, and then runs your .msi file after the
system update has been completed. If no system update is
necessary, it simply launches the .msi file. Setup.exe also
performs decompression of files in some cases. For more
information, see Including the Windows Installer Service with an
Installation.

InstallShield Express Edition User Guide 505


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
Include MSI Engine(s) If you want to include MSI Engine(s) with your setup, specify the
engine or engines you want to include from the list. You can include
the Windows 9x engine, the Windows NT engine, or both engines.
Select None if you do not want to include an MSI engine in your
build.

If you are unsure whether the Windows Installer service is


already installed on the target system, you may want to include
the Windows Installer (MSI) engine. Windows Installer is a part
of Windows 2000, Windows Me, and Windows XP.
Delay MSI Engine Reboot Select Yes to delay reboots resulting from the installation of an MSI
engine until the setup finishes. Select No to allow reboots to occur
as necessary. If you select No, a reboot may take place after the
MSI engine completes its installation, and prior to the installation of
your application. InstallShield suggests you set this property to
Yes.
Suppress Launcher Some versions of the Windows operating system only allow
Warning updates to the Windows Installer service through service packs,
and will generate a warning message if the installation attempts to
update the Windows Installer service. In this situation, the end user
must click OK to continue with your installation. Select Yes to
suppress this warning so it is not displayed to your end user if it
occurs.
Generate Autorun.inf File Select Yes to have InstallShield create an autorun file that will
launch your setup as soon as the media is inserted. For more
information, see Autorun.
Demo File Name Enter the fully qualified path to a DemoShield Browser Database file
(.dbd) to include with your release. You must rebuild this release for
this change to take effect.

506 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
.NET Framework Location The .NET Framework Location property lets you specify where the
.NET Framework runtime should be located. The .NET Framework
is required for applications that are using any .NET features.
• Select Copy from Source Media to leave the .NET
Framework runtime on the root of the source media. This
option is not available for Web media types or Network Image
media types with all of your files compressed into
Setup.exe.
• Select Extract from Setup.exe to compress the .NET
Framework runtime into Setup.exe, to be extracted at
runtime.
• Select Download from the Web to download the .NET
Framework runtime (if necessary) from a URL that you specify.
If you select this option, you must set the .NET and J#
Framework URL property to the appropriate Web location.
.NET Framework Version Select the .NET version that you want to distribute with your
installation.
.NET 1.1/2.0 Core If you selected .NET version 1.1 for the .NET Framework Version
Language property, you can specify one .NET core language that you want to
distribute. This is the language that is used while the .NET 1.1 core
redistributable is installed. If you selected version 2.0, the language
options are all selected and disabled since they are all included with
this version of the redistributable.
Command Line to pass to
Dotnetfx.exe
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to pass to Microsoft’s
DotNetFx.exe file.
.NET 1.1/2.0 Language Select the .NET language packs that you want to include. The
Packs options available depend on the Microsoft language packs that you
have installed on your build machine.
Command Line to pass to
Language Packs
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to send to all of the
Microsoft LangPack.exe files included with the installation.

InstallShield Express Edition User Guide 507


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
Display .NET Option This setting specifies whether Setup.exe displays a Yes/No
Dialog message box asking the end user if the .NET Framework should be
installed on the target system. This property does not determine
whether your installation includes .NET, only whether the end user
has a choice to install it.
.NET Build Configuration This setting contains the name of the build configuration of the
.NET solution. InstallShield uses this property to determine the
location of a project output’s files.
.NET and J# Framework This is the location from which your installation downloads the .NET
URL Framework runtime and J# redistributable. It is not necessary to
specify the file name in the URL.
J# Redistributable This setting lets you specify where the J# redistributable should be
Location located. The .NET Framework is required for applications using any
.NET features.
• Select Copy from Source Media to leave the J#
redistributable on the root of the source media.
• Select Extract from Setup.exe to compress the J#
redistributable into Setup.exe, to be extracted at run time.
• Select Download from the Web to download the J#
redistributable (if necessary) from the URL specified in the
.NET and J# Framework URL property.
Command Line to pass to Specify a command-line parameter to pass to vjredist.exe.
the J# Redistributable Consult Microsoft Support for valid command-line parameters.
Display J# Option Dialog Select Yes to display a dialog to the end user that asks whether
they want to install J# on the target system.
If .NET 1.1 is also included in the installation, the dialog states that
.NET 1.1 will also be installed.
Install J# if Installation Select Yes to install J# on the target system if the J# Option dialog
Runs Silently cannot be shown (for example, if the installation is run silently).

508 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
Show full User interface Specify whether you want the full interface for the .NET Framework
when installing .NET installation to be displayed.
framework
If you select Yes, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is
displayed in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The Microsoft .NET
Framework Setup message box opens, prompting the end
user to specify whether the .NET Framework package should
be installed.
3. The end user must click Yes to proceed with the installation.
The Microsoft .NET Framework (English) Setup Wizard is
displayed when dotnetfx.exe installs the .NET Framework on
the target system. This wizard shows the progress of the .NET
Framework installation.
4. When the .NET Framework installation is complete, the target
system displays a message box to inform the end user that
the .NET Framework installation is complete.
If you select No, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is
displayed in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The InstallShield Wizard
opens, and dotnetfx.exe installs the .NET Framework on
the target system. This InstallShield Wizard shows the
progress of the .NET Framework installation.

Microsoft licensing requirements for distribution of .NET


Framework version 1.1 require that the full user interface be
displayed.

InstallShield Express Edition User Guide 509


Chapter 26: View Reference
Prepare for Release View

Table 26-44: Build Settings (cont.)

Setting Description
Disable Trialware Build To build a trialware release of your product, set this property to No.
This is the default setting. InstallShield will wrap a trialware shell
around the executable file (.exe, .dll, .ocx, or .scr) specified in the
Trialware view. The executable file can be unwrapped and used
only according to the license settings that you configure, such as
the trial limit (a specified number of days or a specified number of
uses).
To build a release of your product that does not have the trialware
protection, set this property to Yes. If you set this property to Yes,
you can use this release if you want to test the installation of your
product but you do not want to test the trialware run time. You also
may want to build a release without trialware protection if you
distribute the Try and Die type of trialware to prospective
customers. You can give them the unprotected release when they
have finished evaluating your product and they purchase it from
you.
If you test a Try and Die product by running the protected trial
version, it will expire at the end of the trial period; you will not be
able to test your product further on the same test machine without
removing the license. If you test a Try and Buy/Product Activation
product by running and activating the protected trial version, you
will not be able to restart the entire Try and Buy/Product Activation
experience without removing the license. To learn how to remove a
license from a test machine, see Testing a Trialware Release of
Your Product.
If you have not added a trialware file to your project in the Trialware
view, the Disable Trialware Build property has no effect on the
release build.

Build Settings for SingleImage Releases


The build settings help define the disk image created as a result of building your
installation. To access these settings, open the Build Your Release view, and in the
Builds explorer, select SingleImage.

Table 26-45: SingleImage Build Settings

Setting Description
Release Location Enter the full path to the top-level directory where your release will
start to be built.

510 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
Compress Media Select Yes to have all of your setup files compressed into .cab files.
Select No if you want your files to remain uncompressed on the
media.

For SingleImage releases, the .msi file is compressed before it


is placed in the Setup.exe file. This can save additional space.
Optimize for Media Size If you choose to optimize for media size, your setup will be smaller.
However, the time to build the setup increases.
MSI Engine Version Select the version of the Windows Installer engine that you want to
include with your application. You must select one of the Yes
options in the Setup Launcher property to enable installing the
Windows Installer engines with your package.

The Version 3.1 or 2.0 (best fit for system) option installs
Windows Installer 3.1 on target systems that are running
Windows 2000 SP3 or later; it installs Windows Installer 2.0 on
other target systems.
• Windows Installer 2.0 requires SP6 on Windows NT 4
platforms; Windows Installer 1.1 and Windows Installer
1.2 require SP3 on Windows NT 4 platforms.
• If you select version 1.1 or 1.2, the minimum installer
version (schema) of your package for this release is set
to 110, overriding the Schema property for the Summary
Information Stream in the General Information view. If you
choose to include the Windows Installer engine with your
installation, this property determines if version 1.2 or
version 2.0 of the Windows Installer engine is installed.
MSI Engine Location This setting lets you specify where the MSI engine installers—
InstMsiA.exe and InstMsiW.exe—should be located. (The
Setup Launcher property lets you specify to include neither, one, or
both of the MSI engine installers.)
• Select Copy from Source Media to leave the MSI engine
installers you selected on the root of the source media.
• Select Extract Engine from Setup.exe to compress the
selected MSI engine installers into Setup.exe, to be
extracted at run time.

InstallShield Express Edition User Guide 511


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
Include Setup.exe Setup.exe is a setup launcher. This means that it determines if the
Windows Installer service has been installed on the target system,
installs it if necessary, and then runs your .msi file after the system
update has been completed. If no system update is necessary, it
simply launches the .msi file. Setup.exe also performs
decompression of files in some cases. See Including the Windows
Installer Service with an Installation for more information.
Password Protect Select Yes if you want to require the end user to enter a password
Launcher to open your setup. Passwords are case sensitive.

If run in silent mode, the end user must specify the password
using the /p command line option. Otherwise, the setup will
fail.
Launcher Password If you are password protecting your setup, provide the password in
this field.
Copy Media to Target Select Yes to copy the setup image to the target machine, enabling
Machine support for advanced Windows Installer functionality including
feature advertisement and application repair (in maintenance
mode). If you select Yes, provide a destination location in the
Location for Copying Media on Target Machine property.
Location for Copying If you selected Yes in the Copy Media to Target Machine property,
Media specify the location on the target machine where you want to copy
the installation. You can either select one of the folders from the
drop-down list and append a location to it (for example,
[PersonalFolder]stuff), or you can specify fully qualified path (for
example, C:\stuff\cached). You cannot use directory specifiers
other than those listed in the drop-down list.

The setup will be cached at a subdirectory of the location


specified. This subdirectory is named after the Package Code
GUID of the setup, which is generate every build. If there is a
problem unpacking to that location, the setup will ask for an
alternate location.

512 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
Include MSI Engine(s) If you want to include MSI Engine(s) with your setup, specify the
engine or engines you want to include from the list. You can include
the Windows 9x engine, the Windows NT engine, or both engines.
Select None if you do not want to include an MSI engine in your
build.

If you are unsure whether the Windows Installer service is


already installed on the target system, you may want to include
the Windows Installer (MSI) engine. Windows Installer is a part
of Windows 2000, Windows Me, and Windows XP.
Delay MSI Engine Reboot Select Yes to delay reboots resulting from the installation of an MSI
engine until the setup finishes. Select No to allow reboots to occur
as necessary. If you select No, a reboot may take place after the
MSI engine completes its installation, and prior to the installation of
your application. Macrovision Corporation suggests you set this
property to Yes.
Suppress Launcher Some versions of the Windows operating system only allow
Warning updates to the Windows Installer service through service packs,
and will generate a warning message if the installation attempts to
update the Windows Installer service. In this situation, the end user
must click OK to continue with your installation. Select Yes to
suppress this warning so it is not displayed to your end user if it
occurs.
Generate Autorun.inf File Select Yes to have InstallShield create an autorun file that will
launch your setup as soon as the media is inserted. For more
information, see Autorun.
.NET Framework Location The .NET Framework Location property lets you specify where the
.NET Framework runtime should be located. The .NET Framework
is required for applications that are using any .NET features.
• Select Copy from Source Media to leave the .NET
Framework runtime on the root of the source media. This
option is not available for Web media types or Network Image
media types with all of your files compressed into
Setup.exe.
• Select Extract from Setup.exe to compress the .NET
Framework runtime into Setup.exe, to be extracted at
runtime.
• Select Download from the Web to download the .NET
Framework runtime (if necessary) from a URL that you specify.
If you select this option, you must set the .NET and J#
Framework URL property to the appropriate Web location.

InstallShield Express Edition User Guide 513


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
.NET Framework Version Select the .NET version that you want to distribute with your
installation.
.NET 1.1/2.0 Core If you selected .NET version 1.1 for the .NET Framework Version
Language property, you can specify one .NET core language that you want to
distribute. This is the language that is used while the .NET 1.1 core
redistributable is installed. If you selected version 2.0, the language
options are all selected and disabled since they are all included with
this version of the redistributable.
Command Line to pass to
Dotnetfx.exe
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to pass to Microsoft’s
DotNetFx.exe file.
.NET 1.1/2.0 Language Select the .NET language packs that you want to include. The
Packs options available depend on the Microsoft language packs that you
have installed on your build machine.
Command Line to pass to
Language Packs
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to send to all of the
Microsoft LangPack.exe files included with the installation.
Display .NET Option This setting specifies whether Setup.exe displays a message
Dialog box asking the end user if the .NET Framework should be installed
on the target system. This setting does not determine whether your
setup includes .NET, only whether the end user has a choice to
install it.
.NET Build Configuration The .NET Build Configuration property contains the name of the
build configuration of the .NET solution. InstallShield uses this
setting to determine the location of a project output’s files.
.NET and J# Framework This is the location from which your installation downloads the .NET
URL Framework runtime and J# redistributable. It is not necessary to
specify the file name in the URL.

514 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
J# Redistributable This setting lets you specify where the J# redistributable should be
Location located. The .NET Framework is required for applications using any
.NET features.
• Select Copy from Source Media to leave the J#
redistributable on the root of the source media.
• Select Extract from Setup.exe to compress the J#
redistributable into Setup.exe, to be extracted at run time.
• Select Download from the Web to download the J#
redistributable (if necessary) from the URL specified in the
.NET and J# Framework URL property.
Command Line to pass to Specify a command-line parameter to pass to vjredist.exe.
the J# Redistributable Consult Microsoft Support for valid command-line parameters.
Display J# Option Dialog Select Yes to display a dialog to the end user that asks whether
they want to install J# on the target system.
If .NET 1.1 is also included in the installation, the dialog states that
.NET 1.1 will also be installed.
Install J# if Installation Select Yes to install J# on the target system if the J# Option dialog
Runs Silently cannot be shown (for example, if the installation is run silently).

InstallShield Express Edition User Guide 515


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
Show full User interface Specify whether you want the full interface for the .NET Framework
when installing .NET installation to be displayed.
framework
If you select Yes, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is displayed
in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The Microsoft .NET
Framework Setup message box opens, prompting the end
user to specify whether the .NET Framework package should
be installed.
3. The end user must click Yes to proceed with the installation.
The Microsoft .NET Framework (English) Setup Wizard is
displayed when dotnetfx.exe installs the .NET Framework on
the target system. This wizard shows the progress of the .NET
Framework installation.
4. When the .NET Framework installation is complete, the target
system displays a message box to inform the end user that
the .NET Framework installation is complete.
If you select No, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is displayed
in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The InstallShield Wizard
opens, and dotnetfx.exe installs the .NET Framework on the
target system. This InstallShield Wizard shows the progress of
the .NET Framework installation.

Microsoft licensing requirements for distribution of .NET


Framework version 1.1 require that the full user interface be
displayed.

516 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-45: SingleImage Build Settings (cont.)

Setting Description
Disable Trialware Build To build a trialware release of your product, set this property to No.
This is the default setting. InstallShield will wrap a trialware shell
around the executable file (.exe, .dll, .ocx, or .scr) specified in the
Trialware view. The executable file can be unwrapped and used
only according to the license settings that you configure, such as
the trial limit (a specified number of days or a specified number of
uses).
To build a release of your product that does not have the trialware
protection, set this property to Yes. If you set this property to Yes,
you can use this release if you want to test the installation of your
product but you do not want to test the trialware run time. You also
may want to build a release without trialware protection if you
distribute the Try and Die type of trialware to prospective
customers. You can give them the unprotected release when they
have finished evaluating your product and they purchase it from
you.
If you test a Try and Die product by running the protected trial
version, it will expire at the end of the trial period; you will not be
able to test your product further on the same test machine without
removing the license. If you test a Try and Buy/Product Activation
product by running and activating the protected trial version, you
will not be able to restart the entire Try and Buy/Product Activation
experience without removing the license. To learn how to remove a
license from a test machine, see Testing a Trialware Release of
Your Product.
If you have not added a trialware file to your project in the Trialware
view, the Disable Trialware Build property has no effect on the
release build.

Build Settings for WebDeployment Releases


The WebDeployment settings help define the installation created for deployment over
the Web. From including a digitally signing your installation to including the correct
Windows Installer engine, these settings provide flexibility to your Web installation.
Depending on the settings, the installation can automatically launch (using
InstallShield One-Click Install technology) when an end user clicks the link for it, or a
dialog can appear, prompting the end user to determine whether to save or run the
installation.

InstallShield Express Edition User Guide 517


Chapter 26: View Reference
Prepare for Release View

To access these settings, open the Build Your Release view, and in the Builds
explorer, select WebDeployment.

Table 26-46: WebDeployment Build Settings

Setting Description
Release Location Enter the full path to the top-level directory where your release will
start to be built.
Generate One-Click Install This setting lets you specify whether to create a One-Click Install,
which is an installation program whose initial user interface is an
HTML page. When an end-user visits your Web page and clicks a
button on it, the installation files are downloaded to the target
system and then launched. If you set this property to Yes, you must
specify filenames in the One-Click HTML Filename and One-Click
Cab Filename properties for this release. This property is used only
if you selected Web as the release’s Media Format setting.
One-Click HTML Base The One-Click HTML Base Name property lets you specify the base
Name filename of the HTML file generated by the build process. The .htm
extension is appended to the base name you specify, and the
generated file will be created in the Disk1 folder of the current
release location. This setting is used only if the Generate One-Click
Install property for the current release is set to Yes.
One-Click Cab/Jar Base The One-Click Cab/Jar Base Name property lets you specify the
Name base filename for the cabinet or applet archive file generated by the
build process for a One-Click installation.
Browsers to Support Select the browsers you want to support for your One-Click
Installation.
Netscape Certificate ID Provide the ID for the certificate.
Netscape Certificate Provides the path to the databases updated when you imported the
Database Path certificate into Netscape. The path is typically the folder in which
Netscape is installed. The user is the name used when the
certificate was imported.
Netscape Certificate If you set a password when you imported the certificate, enter it
Password here. This is not the password you received from the certification
authority.
Sign Media (for Setup.exe Select Yes to enable digital signing for your application, ensuring
and Internet Explorer) your end users that the code within your application has not been
tampered with since publication.
Certificate URL Provide a fully qualified URL. This URL is used in your digital
certificate to link to a location providing information about your
product, organization, or company.
Software Publishing Enter the location of your .spc file provided by a certification
Credentials authority. You can also use the Browse button to navigate to the
file.

518 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
Corresponding Private Enter the location of your .pvk file provided by a certification
Key authority. You can also use the browse button to navigate to the file.
MSI Engine Version Select the version of the Windows Installer engine that you want to
include with your application. You must select one of the Yes
options in the Setup Launcher property to enable installing the
Windows Installer engines with your package.

The Version 3.1 or 2.0 (best fit for system) option installs
Windows Installer 3.1 on target systems that are running
Windows 2000 SP3 or later; it installs Windows Installer 2.0 on
other target systems.
• Windows Installer 2.0 requires SP6 on Windows NT 4
platforms; Windows Installer 1.1 and Windows Installer
1.2 require SP3 on Windows NT 4 platforms.
• If you select version 1.1 or 1.2, the minimum installer
version (schema) of your package for this release is set
to 110, overriding the Schema property for the Summary
Information Stream in the General Information view. If you
choose to include the Windows Installer engine with your
installation, this setting determines if version 1.2 or
version 2.0 of the Windows Installer engine is installed.
Include MSI Engine(s) Select the MSI engine(s) you want included in your setup. You can
include the Windows 9x, Windows NT, or both engines in your
setup, or you can choose to not include an MSI engine. If you do
include an MSI engine, you can provide further information about
how your setup handles distribution of the engine in subsequent
properties.

If you are unsure whether the Windows Installer service is


already installed on the target system, you may want to include
the Windows Installer (MSI) engine. Windows Installer is a part
of Windows 2000, Windows Me, and Windows XP.
Delay MSI Engine Reboot Select Yes to delay reboots resulting from the installation of an MSI
engine until the setup finishes. Select No to allow reboots to occur
as necessary. If you select No, a reboot may take place after the
MSI engine completes its installation, and prior to the installation of
your application. Macrovision Corporation suggests that you set
this property to Yes.

InstallShield Express Edition User Guide 519


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
Suppress Launcher Some versions of the Windows operating system only allow
Warning updates to the Windows Installer service through service packs,
and will generate a warning message if the installation attempts to
update the Windows Installer service. In this situation, the end user
must click OK to continue with your installation. Select Yes to
suppress this warning so it is not displayed to your end user if it
occurs.
Download MSI Engine(s) Select whether you want to download the included MSI engine(s)
from Web from the Web. If you select yes, you need to specify the URL for the
engine(s) in the URL for MSI 9x Engine and/or URL for MSI NT
Engine properties. If you select No, the MSI engine(s) will be built
into your setup.
Win9x MSI Engine URL The Win9x MSI Engine URL property is a location from which the
Setup Launcher can download the Windows 9x MSI engine
InstMsiA.exe, if necessary. This setting is ignored unless the MSI
Engine Location property for the current release is set to
Download Engine from the Web” Do not specify the file name in
the URL.

Macrovision hosts the 2.0 MSI engines on the Web at http://


www.installengine.com/Msiengine20 and the 1.2 MSI engines
at http://www.installengine.com/cert02/Msiengine.
WinNT MSI Engine URL The WinNT MSI Engine URL property is a location from which the
Setup Launcher can download the Windows NT/2000 MSI engine
InstMsiW.exe, if necessary. This setting is ignored unless the MSI
Engine Location property for the current release is set to
Download Engine from the Web. Do not specify the file name in
the URL.

Macrovision hosts the 2.0 MSI engines on the Web at http://


www.installengine.com/Msiengine20 and the 1.2 MSI engines
at http://www.installengine.com/cert02/Msiengine.

520 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
MSI 3.1 Engine URL This setting specifies the location from which the setup launcher
downloads the Windows Installer 3.1 or 3.0 engine, if needed. This
setting is ignored unless the MSI Engine Location property for the
current release is set to Download Engine from the Web. Do not
specify the file name in the URL.

The default URL (http://www.installengine.com/Msiengine30)


is a site maintained by Macrovision for your convenience. Both
the 3.1 and 3.0 engines are available for download from this
location. The appropriate version—either 3.1 or 3.0—is
downloaded if needed, depending on what option is selected
for the MSI Engine Version property for the current release.
Copy Media to Target Select Yes to copy the installation to the target machine, enabling
Machine support for advanced Windows Installer functionality including
feature advertisement and application repair. If you select Yes,
provide a destination location in the Location for Copying Media on
Target Machine property.
Location for Copying If you selected Yes in the Copy Media to Target Machine property,
Media specify the location on the target machine where you want to copy
the installation. You can either select one of the folders from the
drop-down list and append a location to it (for example,
[PersonalFolder]stuff), or you can specify fully-qualified path (for
example, C:\stuff\cached). You cannot use directory specifiers
other than those listed in the drop-down list.

The setup will be cached at a subdirectory of the location


specified. This subdirectory is named after the Package Code
GUID of the setup. If there is a problem unpacking to that
location, the setup will ask for an alternate location.
Password Protect Select Yes if you want to require the end user to enter a password
Launcher to open your setup. Passwords are case sensitive.

If run in silent mode, the end user must specify the password
using the /p command line option. Otherwise, the setup will
fail.
Launcher Password If you are password protecting your setup, provide the password in
this field.
Optimize for Media Size If you choose to optimize for media size, your setup will be smaller.
However, the time to build the setup increases.

InstallShield Express Edition User Guide 521


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
.NET Framework Location The .NET Framework Location property lets you specify where the
.NET Framework runtime should be located. The .NET Framework
is required for applications that are using any .NET features.
• Select Copy from Source Media to leave the .NET
Framework runtime on the root of the source media. This
option is not available for Web media types or Network Image
media types with all of your files compressed into
Setup.exe.
• Select Extract from Setup.exe to compress the .NET
Framework runtime into Setup.exe, to be extracted at
runtime.
• Select Download from the Web to download the .NET
Framework runtime (if necessary) from a URL that you specify.
If you select this option, you must set the .NET and J#
Framework URL property to the appropriate Web location.
.NET Framework Version Select the .NET version that you want to distribute with your
installation.
.NET 1.1/2.0 Core If you selected .NET version 1.1 for the .NET Framework Version
Language property, you can specify one .NET core language that you want to
distribute. This is the language that is used while the .NET 1.1 core
redistributable is installed. If you selected version 2.0, the language
options are all selected and disabled since they are all included with
this version of the redistributable.
Command Line to pass to
Dotnetfx.exe
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to pass to Microsoft’s
DotNetFx.exe file.
.NET 1.1/2.0 Language Select the .NET language packs that you want to include. The
Packs options available depend on the Microsoft language packs that you
have installed on your build machine.
Command Line to pass to
Language Packs
This setting applies only if .NET 1.1 is selected for the .NET
Framework Version property.
Enter the command line that you want to send to all of the
Microsoft LangPack.exe files included with the installation.

522 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
Display .NET Option This setting specifies whether Setup.exe displays a message
Dialog box asking the end user if the .NET Framework should be installed
on the target system. This setting does not determine whether your
setup includes .NET, only whether the end user has a choice to
install it.
.NET Build Configuration The .NET Build Configuration property contains the name of the
build configuration of the .NET solution. InstallShield uses this
setting to determine the location of a project output’s files.
.NET and J# Framework This is the location from which your setup downloads the .NET
URL Framework runtime. It is not necessary to specify the file name in
the URL.
J# Redistributable This setting lets you specify where the J# redistributable should be
Location located. The .NET Framework is required for applications using any
.NET features.
• Select Copy from Source Media to leave the J#
redistributable on the root of the source media.
• Select Extract from Setup.exe to compress the J#
redistributable into Setup.exe, to be extracted at run time.
• Select Download from the Web to download the J#
redistributable (if necessary) from the URL specified in the
.NET and J# Framework URL property.
Command Line to pass to Specify a command-line parameter to pass to vjredist.exe.
the J# Redistributable Consult Microsoft Support for valid command-line parameters.
Display J# Option Dialog Select Yes to display a dialog to the end user that asks whether
they want to install J# on the target system.
If .NET 1.1 is also included in the installation, the dialog states that
.NET 1.1 will also be installed.
Install J# if Installation Select Yes to install J# on the target system if the J# Option dialog
Runs Silently cannot be shown (for example, if the installation is run silently).

InstallShield Express Edition User Guide 523


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
Show full User interface Specify whether you want the full interface for the .NET Framework
when installing .NET installation to be displayed.
framework
If you select Yes, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is displayed
in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The Microsoft .NET
Framework Setup message box opens, prompting the end
user to specify whether the .NET Framework package should
be installed.
3. The end user must click Yes to proceed with the installation.
The Microsoft .NET Framework (English) Setup Wizard is
displayed when dotnetfx.exe installs the .NET Framework on
the target system. This wizard shows the progress of the .NET
Framework installation.
4. When the .NET Framework installation is complete, the target
system displays a message box to inform the end user that
the .NET Framework installation is complete.
If you select No, the following occurs during installation of your
application:
1. The end-user license agreement for dotnetfx.exe is displayed
in a message box.
2. The end user must click Yes to accept the license agreement
and proceed with the installation. The InstallShield Wizard
opens, and dotnetfx.exe installs the .NET Framework on the
target system. This InstallShield Wizard shows the progress of
the .NET Framework installation.

Microsoft licensing requirements for distribution of .NET


Framework version 1.1 require that the full user interface be
displayed.

524 InstallShield Express Edition User Guide


Chapter 26: View Reference
Prepare for Release View

Table 26-46: WebDeployment Build Settings (cont.)

Setting Description
Disable Trialware Build To build a trialware release of your product, set this property to No.
This is the default setting. InstallShield will wrap a trialware shell
around the executable file (.exe, .dll, .ocx, or .scr) specified in the
Trialware view. The executable file can be unwrapped and used
only according to the license settings that you configure, such as
the trial limit (a specified number of days or a specified number of
uses).
To build a release of your product that does not have the trialware
protection, set this property to Yes. If you set this property to Yes,
you can use this release if you want to test the installation of your
product but you do not want to test the trialware run time. You also
may want to build a release without trialware protection if you
distribute the Try and Die type of trialware to prospective
customers. You can give them the unprotected release when they
have finished evaluating your product and they purchase it from
you.
If you test a Try and Die product by running the protected trial
version, it will expire at the end of the trial period; you will not be
able to test your product further on the same test machine without
removing the license. If you test a Try and Buy/Product Activation
product by running and activating the protected trial version, you
will not be able to restart the entire Try and Buy/Product Activation
experience without removing the license. To learn how to remove a
license from a test machine, see Testing a Trialware Release of
Your Product.
If you have not added a trialware file to your project in the Trialware
view, the Disable Trialware Build property has no effect on the
release build.

Test Your Release View


Before releasing your setup to the public it is a good idea to put it through a few
rigorous test runs. You can test your setup directly in the IDE. The Test Your Release
view offers you two different ways to test your setup:

Table 26-47: Methods for Testing an Installation

Option Description
Run Your Setup This option executes your setup exactly as it would on an end user’s
machine. All files are transferred, shortcuts and registry entries are
made, and the user interface is displayed. Although you can run this
type of test from the IDE, it is also a good idea to test your setup on
several clean machines before you release it to the public

InstallShield Express Edition User Guide 525


Chapter 26: View Reference
QuickPatch Projects

Table 26-47: Methods for Testing an Installation (cont.)

Option Description
Test Your Setup When you test your setup, only the user interface elements are
executed. No file transfer takes place and no changes to your
machine will occur. The only exception to this rule is if you have
custom actions in your installation. All custom actions will execute
during this test.

To test your setup in one of these ways, go to the Test Your Release view in the View
List. Then, click the media type that contains the build you want to test.

Distribute Your Release View


When your setup is built and tested the only task left is to distribute it to a specified
location. You can either distribute your setup to a local or network location or to an
FTP site in the Distribute Your Release view. To distribute your setup either locally or
to a network location, enter the location to which you want your setup disk image
copied, or click the Browse button to navigate to this location. Additionally, you can
enter a username and password for the FTP server. Then, click the Distribute to
Location button. To distribute your setup to an FTP location, enter the location of into
the FTP location field and click the Distribute to FTP Site button.
To distribute your setup, go to the Distribute Your Release view in the View List.
Then, click the media type that contains the build you want to distribute.

QuickPatch Projects
A QuickPatch project is a specific type of Windows Installer–based project
recommended for installation authors who want to ship small, single upgrades to their
end users. Each QuickPatch project has its own views.

Define Patch Settings View


The Define Patch Settings view is available when you open or create a QuickPatch
project. Once you open or create a QuickPatch project, you can configure some of the
basic settings in the Define Patch Settings view. Use this view to configure your
QuickPatch.

526 InstallShield Express Edition User Guide


Chapter 26: View Reference
QuickPatch Projects

The following table describes the views under the Define Patch Settings view:

Table 26-48: Views Under the Define Patch Settings View

View Description
General Information Enter information about your product and the original installation.
Specify which releases should be patched by the current project, and
select which custom actions should be included.
Files Add files to your patch, and specify file-patching options.
Registry Explore which Registry values have been added, changed, or
removed.

General Information View


The General Information view contains basic information about your QuickPatch
project. You can also view and configure product properties, build settings, patch
history, and custom actions in this view.

Product Properties
When you click Product Properties in the General Information view, InstallShield
displays the following:

Table 26-49: Settings for Product Properties

Setting Description
Original Setup Path This area shows the product name and the path
to the original installation image. The path box is
read-only.
Product Version The Original setup version box shows the
product version of the original installation. This
box is read-only. In the QuickPatch Version box,
you can change the product version for your
QuickPatch project. Entry in this box is optional.
Update Service Integration If the Update Service was enabled in your
original installation and if you designate custom
version numbers that the Update Service should
use to identify your product (as opposed to
using the standard version scheme that
Windows Installer uses), type the new custom
version number for your QuickPatch in this box.

InstallShield Express Edition User Guide 527


Chapter 26: View Reference
QuickPatch Projects

Build Settings
When you click Build Settings in the General Information view, InstallShield displays
the following tabs:
• Common tab
• Uninstall tab
• Digital Signature tab
• Advanced tab

Common Tab
When you click Build Settings in the General Information view, InstallShield displays
several tabs. The Common tab exposes frequently used build settings for a
QuickPatch:

Build Location
Specify where you want your patch file built or browse for an existing folder.

Launcher Settings
In this area, you can configure the following launcher settings:

Table 26-50: Configurable Launcher Settings

Setting Description
Create Update.exe Select this check box if you want to create an Update.exe
installation launcher for the current patch.
The Update.exe installation launcher is required if you want
to automatically update or install the Windows Installer service
on a target system, when necessary.
Include Windows Installer 2.0 Select this check box to include the Windows Installer 2.0
engine engine with your patch package. To include only the Windows
NT or Windows 9x engine, use the Advanced tab.
Include Windows Installer 3.1 Select this check box to include the Windows Installer 3.1
engine engine with your patch package.
Include .NET framework Select this check box to include the .NET Framework with your
patch package.

Uninstall Tab
When you click Build Settings in the General Information view of a QuickPatch
project, InstallShield displays several tabs. The Uninstall tab exposes patch

528 InstallShield Express Edition User Guide


Chapter 26: View Reference
QuickPatch Projects

uninstallation behavior settings, as well as patch metadata settings. The patch


metadata is used to populate uninstall information in Add or Remove Programs for a
patch. It is also used by the Windows Installer 3.0 (and later) APIs that interrogate and
catalog patches applied to a target machine.

NOTE Patch metadata is stored directly in the patch (.msp) file and not in any of the .msi packages.
The .msp file contents are not localizable. Therefore, string table entries are not available for
any of the metadata settings below.

Table 26-51: Patch Uninstallation Settings

Setting Description
Allow this patch to be Select this check box if you would like the patch to be
uninstalled uninstallable without having to uninstall and reinstall the entire
application and other patches. Note that uninstallation of
patches works only under certain conditions. For example,
versions of Windows Installer earlier than version 3.0 cannot
remove just the patch from an application. For more
information, see Removing Patches in the Windows Installer
Help Library.
Display name Specify the name of your patch.
Support URL Specify the uniform resource locator (URL) that you would like
your customers to visit for technical support.
Description Specify a brief description of your patch.
Manufacturer name Specify the name of the application’s manufacturer.
Target product name Specify the name of the application or the target application
suite.
Classification Specify the category of upgrade. Examples include Critical
Update, Hotfix, and Service Pack.

Digital Signature Tab


When you click Build Settings in the General Information view of a QuickPatch
project, InstallShield displays several tabs. The Digital Signature tab is where you
specify settings if you want to digitally sign your patch.

Table 26-52: Settings in the Digital Signature Tab

Setting Description
Sign the patch package Select this check box if you would like to
digitally sign your patch package.

InstallShield Express Edition User Guide 529


Chapter 26: View Reference
QuickPatch Projects

Table 26-52: Settings in the Digital Signature Tab (cont.)

Setting Description
Sign update.exe Select this check box if you would like to
digitally sign the Update.exe file.
URL Type a fully qualified uniform resource locator
(URL). This URL is used in your digital certificate
to link to a location that you would like end users
to visit in order to learn more about your
product, organization, or company.
Software publishing credentials file Specify the location of your credentials file.
Corresponding private key file Specify the location of the private key file for
your software publishing credentials file.
Password If your certificate requires a password, type the
password in this box. InstallShield encrypts the
password and stores it in your project (.ism) file.

Advanced Tab
When you click Build Settings in the General Information view, InstallShield displays
several tabs. The Advanced tab exposes a comprehensive set of build settings that you
can configure for a QuickPatch.

Build Location
In the Build Location area, you can configure the following settings.

Table 26-53: Build Location Settings

Property Description
Build Location Specify where you want your patch file built or browse for an
existing folder.
Create Update.exe Specify whether you want to create an Update.exe installation
launcher for the current patch.

530 InstallShield Express Edition User Guide


Chapter 26: View Reference
QuickPatch Projects

Table 26-53: Build Location Settings (cont.)

Property Description
List of Patch GUIDs to To replace one or more earlier installed patches with the current
replace QuickPatch, set this property to the patch GUIDs of those patches,
and separate each with a comma. For example:

{C86838C9-DEDC-4451-B96F-
94AFB9460F15},{C8633E5B-AC44-45d8-B487-
C68B3B1F60D6}

Setting this property is typically not required, even if you have


several QuickPatch projects in the History. However, if your
QuickPatch project does not overwrite files added in an earlier
QuickPatch project, it may be necessary to set this property.
If you do not know the GUID of a patch that you want to replace,
click this property and then click the ellipsis button (...). Select the
patch (.msp or .exe file), and InstallShield will add the
corresponding GUID to this property.
Create new This setting enables you to build your QuickPatch package with an
“UpgradedImage” folder existing UpgradedImage folder. To use this option, you must have
built this package at least once (so that an UpgradedImage folder
exists). Setting this option to No builds the package from the
existing UpgradedImage folder. This lets you tweak the .msi
package in the UpgradedImage folder and use that .msi data in a
QuickPatch project. Setting this option to Yes (the default setting)
regenerates the .msi file in the UpgradedImage folder every time
that the package is built.
Generate Specify whether to automatically generate entries for the
MsiPatchOldAssembly MsiPatchOldAssemblyFile and MsiPatchOldAssemblyName tables,
tables which allow a patch package that is running under Windows
Installer 3.0 and later to patch an assembly in the global assembly
cache (GAC) without making a run-time request for the original
installation source. For more information, see Patching
Assemblies in the Global Assembly Cache.
Create patch sequencing Specify whether you want to use patch sequencing for your
entry QuickPatch. A patch sequence accounts for obsolete patches,
superseded patches, and patches that have already been applied
to the product. The sequence specifies the order that Windows
Installer version 3.0 and later should apply patches to an installed
product, regardless of the order in which they are provided to the
target machine. For versions of Windows Installer earlier than
version 3.0, the patch sequence is ignored, and any patches are
applied to the product in the order that they are provided to the
target machine.

InstallShield Express Edition User Guide 531


Chapter 26: View Reference
QuickPatch Projects

Windows Installer Engine


In this area, you can configure the following settings for the Windows Installer
engine:

Table 26-54: Windows Installer Engine Settings

Property Description
Include Windows 9X engine Specify whether the Windows Installer engine for Windows 9x
should be included with your patch package.
Include Windows NT engine Specify whether the Windows Installer engine for Windows NT
should be included with your patch package.
Windows Installer engine Select the Windows Installer version to be installed by Update.exe.
version The Version 3.1 or 2.0 (best fit for system) option installs
Windows Installer 3.1 on target systems that are running Windows
2000 SP3 or later; it installs Windows Installer 2.0 on other target
systems.
If you select the Version 3.1 (requires Windows 2000 SP3 or
greater) option or the Version 3.0 (requires Windows 2000 SP3 or
greater) option, and the target system does not support version
3.x but does have version 2.0 installed, your patch will run, since
the differences between versions 2.0 and 3.x involve only the
mechanics of patching.
Engine Location Select one of the following options:
• Download Engine From The Web—If the Windows Installer
engine needs to be installed, it is downloaded at run time.
• Extract Engine From Update.exe—The build streams the
Windows Installer engine into the Update.exe file, giving
you a single file to distribute to your customers. At run time,
the engine is extracted from the Update.exe file and installed
if required.
• Copy From Source Media—The build copies the Windows
Installer engine into the same directory as the Update.exe
file.
Windows Installer 2.0 Specify the uniform resource locator (URL) for the location of the
engine URL for Win9X engine. This is the location that the Update.exe file uses at run
time to download the engine. The default URL location is a live site
maintained by Macrovision Corporation for your convenience.
Windows Installer engine Specify the URL for the location of the engine. This is the location
URL for WinNT that the Update.exe file uses at run time to download the
engine. The default URL location is a live site maintained by
Macrovision Corporation for your convenience.
Windows Installer 3.1 Specify the URL for the location of the engine. This is the location
engine URL that the Update.exe file uses at run time to download the
engine. The default URL location is a live site maintained by
Macrovision Corporation for your convenience.

532 InstallShield Express Edition User Guide


Chapter 26: View Reference
QuickPatch Projects

Microsoft .NET Framework


In this area, you can configure the following settings for the Microsoft .NET
Framework:

Table 26-55: Microsoft .NET Framework Settings

Property Description
Include In Build Specify whether to include the Microsoft .NET Framework in your
patch.
Engine Location Select one of the following options:
• Download Engine From The Web—If the .NET Framework
needs to be installed, it is downloaded at run time.
• Extract Engine From Update.exe—The build streams the
.NET Framework into the Update.exe file, giving you a
single file to distribute to your customers. At run time, the
engine is extracted from the Update.exe file and installed if
required.
• Copy From Source Media—The build copies the .NET
Framework into the same directory as the Update.exe file.
Engine URL Specify the URL for the location of the .NET Framework. This is
the location that the Update.exe file uses at run time to
download the .NET Framework. The default URL location is a live
site maintained by Macrovision Corporation for your convenience.

History
The History item in the General Information explorer within the General Information
view presents a synopsis of your QuickPatch project. It lists all of the associated
releases, enabling you to specify which ones should be patched by the current
QuickPatch project.

CAUTION If you open and modify any of the releases listed in the History, your latest project will not work
since intermediate data shared across the releases in the History may have been lost or altered.

NOTE When you specify which releases from the History to patch, InstallShield looks for specific
versions associated with each release to identify it.

Custom Action
The Custom Action item in the General Information explorer within the General
Information view lists the custom actions that are defined in the original installation

InstallShield Express Edition User Guide 533


Chapter 26: View Reference
QuickPatch Projects

project for which you are creating a patch. It enables you to specify which actions
should be executed by the current QuickPatch project.

Files View
The Files view enables you to manage the files in your QuickPatch and also see
version numbers, languages, and other information about the files in your original
installation. All of the files in the Files To Patch and Original Setup Files explorers are
listed by key file.
When you click a file in the Original Setup Files explorer, the file name, the
destination, the version number, and other pertinent information are displayed in the
right pane. You can drag and drop files from this explorer to the Files To Patch
explorer, which shows all of the files that will be added, changed, or removed when
your QuickPatch is applied to the original installation.

New File Settings


When you click a new file in the Files To Patch explorer within the Files view, you
can configure the following settings:

File Settings
Specify the file that you want to add to the patch package. If the file you are adding is
a self-registering .dll or .ocx file, select the Self-Registering check box. This option
will not self-register .exe or .tlb files.

Integration Settings
Select the file destination and the features that you want to associate with this file.

NOTE This install state binding requires feature association. When you add new data to your
QuickPatch project, you must associate it with a feature. New data is installed only if the
corresponding feature is installed.

Modified/Deleted File Settings


When you click a file that you have added from your original installation to the Files
To Patch explorer within the Files view, you can configure the following settings:

534 InstallShield Express Edition User Guide


Chapter 26: View Reference
QuickPatch Projects

Updated File
If you are modifying a file in the original installation, specify the latest version of the
file that you want to be installed on the end user system after the patch is applied. You
can select the Overwrite Any Existing File check box to include the file in your
installation as a whole file. This enables you to patch over any previous version of the
file. A non-versioned file will always overwrite an existing file, regardless of its
version, when this check box is selected.

NOTE The Overwrite Any Existing File check box is useful when you are unsure which versions
currently exist on the target machine. By selecting this check box, your file will be included in
whole and will overwrite any existing versions of which you are uncertain. In the case of non-
versioned files, a new file will always replace the existing one.

Original File Information


The Original File Information area provides information about the original file in the
original installation.

Component Information
The Component Information area provides file component information such as the
component name and key file.

Check this box to have the patch delete this file from the
setup
Select this check box to remove the file from the original installation when the patch is
applied.

NOTE When you specify a file that you want to patch, InstallShield automatically detects if the file is
self-registering or using COM extraction in the original installation. The file in the patch uses the
same setting used in the original installation.

Registry View
The Registry view in a QuickPatch project provides a visual representation of what
currently exists on a source machine and what you will patch on a destination/target
system once your patch project is built and applied to the target system. The
Destination computer’s Registry view pane and the Destination computer’s registry
data pane are pre-populated with registry entries in the original installation.

InstallShield Express Edition User Guide 535


Chapter 26: View Reference
QuickPatch Projects

Each item in the Destination computer’s registry data pane appears next to an icon
specific to the value type and the data’s current condition. Icons for data values that
have been modified have a turquoise pencil. Icons for new data values have a red star
in the upper-right corner. Icons for registry values that will be deleted from the target
system have a red X. See the following sample icons and descriptions below.

Table 26-56: Icons in the Registry View of a QuickPatch Project

Icon Description
This icon represents a new DWORD value that will be added to the target system
when the QuickPatch is applied.

This icon represents a modified DWORD value that will be updated on the target
system when the QuickPatch is applied.

This icon represents an existing DWORD value on the target system from an
earlier installation.

This icon represents a DWORD value that exists on the target system but will be
deleted when the QuickPatch project is applied.

536 InstallShield Express Edition User Guide


27
ERRORS AND WARNINGS

The following topics provide information about errors and warnings that might occur
when you are working with your installation.

Table 27-1: List of Error and Warning Topics

Topic Description
Build Errors and Warnings Lists errors and warnings that might occur
during the build process.
Migration Errors and Warnings Lists potential errors and warnings that may
occur if you migrate a project create with an
older version .
Setup.exe Run-Time Errors Lists the errors that might occur when
Setup.exe runs.

To find information about Windows Installer run-time errors, see Windows Installer
Error Messages in the Windows Installer Help Library.

Build Errors and Warnings


The table below provides troubleshooting tips for each build error and warning.

Table 27-2: Build Errors and Warnings

Error Description Troubleshooting Tips


-32000 Build canceled by the This error occurs only when the build is terminated
user. during the build process.

InstallShield Express Edition User Guide 537


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7222 No supported languages This error occurs only when no supported language
included in the media. You exists in the media.
must select at least one
supported language for
the media.
-7084 The VBScript Custom This warning message is displayed if you add a
Action %1 does not point VBScript custom action to your installation but the file
to a valid VBS file. specified for the custom action is not a VBScript file. To
resolve this error, select the appropriate type of file for
the specified custom action in the Custom Actions
view.
-7076 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7075 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7074 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7073 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7072 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7071 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7069 Could not create XML Check the Knowledge Base for information about this
reading object error, or request technical support.
(MSXML3.dll). Please
make sure this file is
registered on the system.
-7064 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7063 The File %1 in Component To resolve this warning, open the Files view and remove
%2 is being installed to the the font mentioned in the message. Then re-add the
Windows Fonts folder, but font to the Fonts folder; InstallShield adds the
there is no corresponding corresponding record to the Font table automatically.
record in the Font table.
The Font will not be
registered properly on the
target system.

538 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7062 Refreshing the COM+ This build error occurs when an exception error has
settings from the client occurred with a COM+ application that is selected in
machine. An error the Component Services view. An option is provided to
occurred while refreshing refresh the COM+ settings during the build process,
the COM+ settings from and build error -7062 occurs when this option is
the client machine. selected and the refreshing process has failed. To
resolve this error, you can open the Component
Services view, select the COM+ application, and clear
the Refresh the COM+ settings from the client machine
at build check box on the Installation tab.
-7061 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7060 Due to licensing Check the Knowledge Base for information about this
requirements, InstallShield error, or request technical support.
requires that you provide
the MSI 3.0 engine
redistributable from the
MSI 3.0 Beta. Please copy
instmsi.exe from the MSI
3.0 Beta folder to
\redist\Language
Independent\i386\MSI3.0\i
nstmsiw.exe.
-7059 Unable to update the Check the Knowledge Base for information about this
latest patch version error, or request technical support.
property. As a result,
future patches built from
this project may not be
sequenced properly. Make
sure the project is not
marked as read-only.
-7058 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7057 You have enabled the Check the Knowledge Base for information about this
update service for this error, or request technical support.
deployment, however, you
have not provided a URL
to check for updates. This
is required for ‘CD-ROM’
deployment
configurations.

InstallShield Express Edition User Guide 539


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7055 Due to licensing Check the Knowledge Base for information about this
requirements, InstallShield error, or request technical support.
requires that you provide
the .NET redistributable
from the Whidbey release
of Visual Studio .NET.
Please copy the contents
of
Common7\IDE\Packages\
DotNetFX to
\Support\Whidbey.
ClickOnce deployments
will not run properly unless
this is installed to the
target machine.
-7053 The ‘Internet’ deployment Check the Knowledge Base for information about this
configuration is enabled, error, or request technical support.
but the ‘install location’
field has not been
authored. This will result in
errors when running your
deployment.
-7052 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7051 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7050 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7049 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7048 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7047 An error occurred while Check the Knowledge Base for information about this
building the ‘File Share’ error, or request technical support.
configuration of the
ClickOnce deployment.
-7046 An error occurred while Check the Knowledge Base for information about this
building the ‘CD-ROM’ error, or request technical support.
configuration of the
ClickOnce deployment.
-7045 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

540 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7044 An error occurred while Check the Knowledge Base for information about this
copying the main error, or request technical support.
application manifest to the
release specific location.
-7043 An error occurred while Check the Knowledge Base for information about this
building the ‘Internet’ error, or request technical support.
configuration of the
ClickOnce deployment.
-7042 An error occurred while Check the Knowledge Base for information about this
determining the source error, or request technical support.
location for the primary
application assembly.
-7041 Initializing the default Check the Knowledge Base for information about this
deployment manifest. error, or request technical support.
-7040 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7039 An error occurred while Check the Knowledge Base for information about this
creating the base error, or request technical support.
ClickOnce deployment.
-7038 An error occurred while Check the Knowledge Base for information about this
creating the base error, or request technical support.
deployment folders in the
release location.
-7037 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7036 An error occurred while Check the Knowledge Base for information about this
loading the primary error, or request technical support.
application assembly.
-7035 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7030 An error occurred while Check the Knowledge Base for information about this
loading the releases that error, or request technical support.
need to be built.
-7029 The build engine is unable Check the Knowledge Base for information about this
to load the settings for the error, or request technical support.
‘CD-ROM’ release type.
-7028 The build engine is unable Check the Knowledge Base for information about this
to load the settings for the error, or request technical support.
‘File Share’ release type.

InstallShield Express Edition User Guide 541


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7027 The build engine is unable Check the Knowledge Base for information about this
to load the settings for the error, or request technical support.
‘Internet’ release type.
-7026 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-7024 To include J# in the build J# requires the .NET Framework Redistributable
you must also include Package version 1.1, but it is not included in the
.NET 1.1. installation. If you are sure that your end users already
have the .NET Framework 1.1 on their systems, you
can ignore this warning message. However, if there is a
chance that they will not have the .NET Framework 1.1,
add it to your installation. If the .NET Framework is not
on their systems, they might have trouble installing J#
as part of your installation.
-7023 Internal build error. This error occurs if a merge module such as MFC 7.1 is
not configured correctly or it is corrupted. If you have
more than one merge module in your project but you do
not know which one is causing the error, you need to
first identify the problematic merge module. You can do
this by removing a merge module from your project and
then building your release. If the error recurs, you have
identified the problematic merge module. If not, remove
a different merge module and then build. Once you
have identified the merge module causing the error, try
reinstalling it. If that does not resolve the error, contact
the author to obtain the latest version.
-7016 The CabFiles key in the ini To resolve this error, open the Mobile Devices view and
file that supports the "%1" select the installation mentioned in the error message.
Windows Mobile If possible, shorten the company name or the
installation is too long. application name, or reduce the number of platforms
Shorten the Application and/or processors that your installation supports. As
Name, Company Name, or an alternative, set up your installation so that it
reduce the number of supports all platforms and/or processors.
platforms/processors
targeted.
-7012 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

542 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-7011 %1 must have a strong You can install an assembly to the Global Assembly
name to be installed to the Cache only if it has a strong name. A strong name
GlobalAssemblyCache. contains the assembly’s simple text name, version
number, culture information (if available), a public key,
and a digital signature. Using strong-named assemblies
in the Global Assembly Cache enables you to have
multiple versions of an assembly with the same name
but with different versions of .dll files. The assemblies
stored in the Global Assembly Cache can be shared by
different applications on a computer. To resolve this
error message, you have two options.
• Change the target destination for the assembly to
a location other than the Global Assembly Cache if
sharing that assembly with other applications is
not explicitly required. Note that it is not necessary
to install assemblies into the Global Assembly
Cache to make them accessible to COM interop.
• Select an assembly that has a strong name for
installation to the Global Assembly Cache. Note
that once an assembly is created, you cannot sign
it with a strong name. You can sign an assembly
with a strong name only when you create it.
-6654 The File %1 is not the key This error occurs if either of the following is true:
file of Component %2. If
• InstallShield has not set this file as the key file of a
you call a function in a
component because the file is not considered to
standard DLL that is
be a PE file.
installed with the product
and the action is • InstallShield has not set this file as the key file of a
scheduled as deferred, component because the file is dynamically linked.
the DLL you are calling A dynamically linked file cannot be set as a
must be the component’s component’s key file.
key file. To resolve this build error, do one of the following:
• Ensure that DLL is listed as a PE file on the File
Extensions tab of the Options dialog box.
• Exclude the file from the folder being dynamically
linked, and then add the file to your project without
linking it dynamically.

InstallShield Express Edition User Guide 543


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6653 A feature in the setup To resolve this error, split the feature identified in the
contains more than 800 error message up into subfeatures, and then reassign
components. There is a the feature’s files to these subfeatures
maximum limit of 1600
components per feature
using Windows NT/
Windows 2000 and a
maximum limit of 800
components per feature
using Windows 95 and
Windows 98.
-6651 The setup you are building This warning appears if your installation package
contains more than contains more than 32,767 files. InstallShield
32,767 files. automatically applies the large package schema.
Automatically switching
setup package to
appropriate MSI schema.
There is an issue with patching if your package
uses the large package schema. When you build
the patch, the following error is triggered: “Can’t
Generate Primary Transform.”
-6647 Cannot move file from Check the Knowledge Base for information about this
'%1' to '%2' error, or request technical support.
-6646 The '%1' property in the Check the Knowledge Base for information about this
merge module '%2' is set error, or request technical support.
to NULL. This property
cannot be NULL.
-6645 %1 failed to load. Error: Check the Knowledge Base for information about this
%2 Error Description: %3 error, or request technical support.
-6641 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6640 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6639 The merge module '%1' Check the Knowledge Base for information about this
requires one of the error, or request technical support.
following merge modules
also to be included in the
setup: %2
-6638 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

544 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6637 Invalid registry data for The invalid data in this example is the use of a single
component backslash instead of two backslashes. Another
NewComponent1 while example would be an entry with DWORD in it instead of
importing dword.
"C:\RegTest\SingleSlashl"=
dword:2 (where the
information in italics
represents the invalid
data).
-6636 The file key %1 and %2 Check the Knowledge Base for information about this
are found in the File table. error, or request technical support.
Despite having different
cases, the identical key
names will cause an
unexpected result when
the files are installed on
the target system. This
occurs because the
compressed files in the
cabinet file are named
using the file keys. To
correct this issue, change
one of the file keys to be
unique in the cabinet file if
you are building a
compressed setup or a
merge module. You can
change the file key name
in the Direct Editor view.
-6635 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6634 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6633 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6632 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6624 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6623 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6622 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 545


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6620 Could not open the Check the Knowledge Base for information about this
reference package '%1' error, or request technical support.
for key synchronization.
-6619 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6618 An error occurred while Check the Knowledge Base for information about this
setting the key paths for error, or request technical support.
dynamically created
components.
-6617 An Error occurred while Check the Knowledge Base for information about this
adding the file '%1' to the error, or request technical support.
synchronization maps.
-6616 An error occurred while Check the Knowledge Base for information about this
setting the key path for error, or request technical support.
component '%1'.
-6615 Could not update Check the Knowledge Base for information about this
File.FileName for File '%1'. error, or request technical support.
-6613 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6612 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6611 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6558 The Custom Action %1 in To successfully run a custom action that is run from an
the installed file, you must ensure that the file is installed
InstallExecuteSequence locally using a conditional statement:
table is run from an
• If the custom action is sequenced before
installed file. To run the
RemoveFiles—Run the action only if the feature
custom action
was installed locally.
successfully, you may
need to have a condition • If the custom action is sequenced between
that checks if the source RemoveFiles and InstallFiles—Run the action only
file is installed locally. if the feature was installed locally. Do not run the
action on an uninstallation.
• If the custom action is sequenced after
InstallFiles—Run the action only if the feature will
be installed locally.

546 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6557 Unable to find the .NET Ensure that the .NET Compact Framework is in the
Compact Framework for correct location.
the given platform/
processor combination
from
<InstallShield>\Support\N
etCF.ini file.
-6556 Error in including .NET This error might occur for the following reasons:
Compact Framework .cab
• The .NET Compact Framework files cannot be
files in setup.
found in the locations specified in the
InstallShield Program Files
Folder\Support\.NetCR.ini file.
• The CEDefault.ico file is not in the
InstallShield Program Files
Folder\Program\04xx folder.
• There is an error writing to the ISCEInstall table.
-6555 Unable to copy Make sure that CFAppMgr.ini file exists at
<InstallShield>\Support\C InstallShield Program Files
FAppMgr.ini file to a Folder\Support folder. If this file does not exist,
temporary location. launch the InstallShield setup in repair mode. Remove
any temporary files to create more disk space on the
system.
-6553 Unable to find the .NET Open the InstallShield Program Files
Compact Framework .cab Folder\Support\NetCF.ini file and configure the .NET
file for the processor. CF selection for this processor to resolve the issue.
-6551 The Name and Value This warning appears for every registry key you add to
columns are blank in the your project and do not manually set the default key. To
registry record Registry1 set the (Default) value to (Value Not Set), you need to
of Component set “Install if absent, Uninstall if present” for that key in
NewComponent1. The the Registry view.
Windows Installer will set
the (Default) value of
HKEY_LOCAL_MACHINE\N
ew Key #1 to an empty
string. If you would like to
set the (Default) value to
(Value Not Set), you need
to set “Install if absent,
Uninstall if present” for
that key in the Registry
view. If the key already
exists on the Target
machine, the (Default)
value will not be changed.

InstallShield Express Edition User Guide 547


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6550 %1 is not a valid .NET Only valid assemblies can be installed to the Global
assembly to be installed Assembly Cache. Ensure that the file selected for
to the Global Assembly installation is a valid assembly.
Cache (where %1 is
replaced with a full file
path).
-6530 Error processing setup [1] This error occurs when an upgrade entry exists in the
for Upgrade Item [2]. This Upgrade Paths view, but the earlier installation that is
does not appear to be a specified does not exist in the location indicated. This
valid setup. can occur if the earlier installation has been moved
because it was referenced in the Upgrade Paths view
or if the folder that contains the earlier installation
cannot be accessed because of permissions. This
error can also occur if the earlier installation referenced
(Setup.exe or .msi) is not a valid Windows Installer–
based installation.
-6525 The custom action %1 in This error occurs when you have authored a custom
the action that runs from a file that is installed during your
InstallExecuteSequence setup. The custom action must be launched during the
table is run from an After Setup Complete Success dialog part of the
installed file. It must be installation. Otherwise the file will not exist on the target
sequenced after the %2 system when Windows Installer runs the custom action.
action. Ensure that the
custom action is
sequenced properly and
that the base action exists
in the sequence.
-6499 The Shallow folder The Shallow folder structure setting can be set from
structure setting should the Releases property grid of the Releases view. If error
not be used with multi-disk -6499 appears, switch the Shallow folder structure
releases. option to "No" so it will create a regular build folder
structure.

548 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6479 Internal build error. A corrupted merge module in your project causes this
error. The error message has been reported with third-
party merge modules that are not shipped with
InstallShield or merge modules that are shipped with
the beta version of Microsoft Visual Studio .NET 2003.
To resolve this error message, determine the merge
module causing the issue and remove it from the
project. To find the merge module, remove all merge
modules from your project in the Redistributables view.
Then add one merge module at a time to your project,
and build the release until error -6479 occurs. This is
the merge module causing the error.
After you determine which merge module causes the
issue, contact the vendor of the merge module for
more information about the module. If the merge
module is a Microsoft-specific module, download the
latest service pack of Visual Studio to acquire the
updated merge modules. If the merge module is Visual
Studio .NET-specific, make sure that it is acquired from
the latest service pack of Visual Studio .NET.
-6478 FON Files must have a Set the Font Title property for the file. To do this, right-
Font Title. Font %1 in click the file in the Files view, select Properties, and
Feature %2. type a title in the Font Title field. If there is no Font Title,
a run-time error occurs upon installation.
-6274 Setup.exe is not found in This error occurs when the setup attempts to get the
the Disk1 location: %1. stamp from Setup.exe, but Setup.exe does not exist in
Please make sure that the the Disk1 folder. This happens when you cancel a full
previous full build of your build in the middle of the process, and then run the
release was completed if Build Tables Only option.
you are running the Build
Tables Only.
-6271 File %1 not found. An error Ensure that the identified file exists in the specified
occurred building the location.
MsiFileHash table record
for this file. Verify that the
file exists in the specified
location.
-6270 The record %1 in the Icon Make sure that the record is at or under the limited
table exceeds the limit of number of characters.
%2 characters. As a
result, the build will be
unable to persist the
database.

InstallShield Express Edition User Guide 549


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6269 An error occurred copying Check the source directory’s path.
directory %1 to %2.
Please ensure that the
source directory’s path is
correct.
-6268 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6267 An error occurred while Ensure that the location is accurate.
extracting files from the
cab file %1 to the location
%2
-6266 An error occurred while This error can occur when one or more files is not
attempting to create and registered. Ensure that all files are registered.
initialize the CAB
extraction engine for %1
-6265 An error occurred building Remove or rename one of the features.
feature '%1'. This feature
has the same name (with
different case) as another
feature in the project.
Duplicate feature names
are not allowed in
Standard projects.
Rename one of the
features to fix this error.
-6264 A record in the %1 table is Provide a string for use in the column.
using string ID '%2' for
column '%3' but this string
is blank and the column is
not nullable
-6260 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6259 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6258 An error occurred Ensure that the digital signature information is correct.
extracting digital signature You can access the digital signature information in the
information from file "%1". Build Your Release view or in the Release Wizard’s
Make sure the digital Digital Signature panel.
signature information
provided in the IDE is
correct.

550 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6257 The build engine has This warning message occurs when the ID
detected that PRODUCT_NAME has been defined in the string table.
PRODUCT_NAME has This string table ID overrides the Product Name values
been defined in your set in the General Information view. Check article
project. At run time, your Q109136, "ERRDOC: Build Error -6257, in the
installation will display this Knowledge Base for information on how to resolve this
value as your Product error.
Name instead of the
Product Name values
defined in the IDE.
-6255 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6254 An error occurred building Check the Knowledge Base for information about this
the MsiFileHash table for error, or request technical support.
File %1
-6253 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6252 Internal build error Check the Knowledge Base for information about this
error, or request technical support.
-6251 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6250 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6248 Could not find dependent The missing file is required by the feature’s key file.
file %1 of feature %2 Make sure the missing file is on the build system in the
same directory as the feature’s key file.
If the dependency is not required, you can turn off .NET
dependency scanning for the feature. To turn off
dependency scanning, set the feature’s .NET Scan at
Build property to None or Properties Only.
-6247 The .NET Framework Download the InstallShield .NET Update from http://
redistributable %1 is not www.installshield.com/products/dotnet.asp.
found on the system. %2
If you have the Visual Studio .NET release candidate,
you can copy dotnetfx.exe from Windows Feature
Update CD, in the dotnetframework directory, to
InstallShield Program Files
Folder\Redist\0409\i386.

InstallShield Express Edition User Guide 551


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6245 One or more of the Add the .NET Framework to your project by first
project’s features contain selecting the media type in the Build Your Release view.
.NET properties that When you select the media type, the build properties
require the .NET are displayed. In the .NET Framework Location
Framework. It is property, select the appropriate option:
recommended that the
• Copy from Source Media—Select this option to
release include the .NET
leave the .NET Framework runtime on the root of
Framework.
the source medium. This option is not available for
Web media types or Network Image media types
with all of your files compressed into Setup.exe.
• Extract from Setup.exe—Select this option to
compress the .NET Framework runtime into
Setup.exe, to be extracted at run time.
• Download from the Web—Select this option to
download the .NET Framework runtime (if
necessary) from a URL that you specify. If you
select this option, you must set the .NET
Framework URL property to the appropriate Web
location.
In the .NET Framework Version property, select the
.NET version that you want to distribute with your
installation.
-6244 One or more of the Download the InstallShield .NET Update from http://
project’s features contain www.installshield.com/products/dotnet.asp.
.NET properties that
If you have the Visual Studio .NET release candidate,
require the .NET
you can copy dotnetfx.exe from Windows Feature
Framework. However, the
Update CD, in the dotnetframework directory, to
.NET Framework cannot
InstallShield Program Files
be detected. %2
Folder\Redist\0409\i386.
-6243 InstallUtilLib.dll cannot be This file is required for Installer custom actions. You
located on your system. may need to re-run the setup to (re)install the Microsoft
.NET Framework redistributable. You can download this
file from http://www.installshield.com/products/
dotnet.asp, or you can copy dotnetfx.exe from
Windows Feature Update CD, in the dotnetframework
directory, to InstallShield Program Files
Folder\Redist\0409\i386 (if you have the Visual
Studio .NET release candidate).
-6242 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6241 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6240 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

552 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6239 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6238 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6237 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6236 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6235 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6234 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6233 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6232 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6231 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6230 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6229 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6228 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6227 .NET scan of Feature %1 Check the Knowledge Base for information about this
failed error, or request technical support.
-6226 Opening Visual Studio Make sure that the solution exists at the location
.NET solution specified.
In addition, ensure that Visual Studio .NET is installed
on the build machine.
-6225 Resolving Visual Studio Make sure the project exists in the solution. In addition,
.NET project output "%1" ensure that project has the specified output.
-6224 Processing merge module Check the Knowledge Base for information about this
%1 of feature %2 error, or request technical support.
-6223 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6222 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 553


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6221 Could not resolve Visual Make sure the project exists in the solution. In addition,
Studio .NET project output ensure that project has the specified output.
"%1" from feature %2
-6219 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6218 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6217 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6216 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6215 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6214 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6213 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6212 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6211 Destination of Feature %1 Check the Knowledge Base for information about this
is GlobalAssemblyCache error, or request technical support.
but key file is not a .NET
assembly
-6208 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6207 An error occurred building Check the Knowledge Base for information about this
Setup File %s. error, or request technical support.
-6205 An error occurred building Check the Knowledge Base for information about this
Feature %1. The Feature’s error, or request technical support.
destination directory %2 is
not found in the directory
table. Change the
Feature’s destination to a
valid location.
-6204 An error occurred Check the Knowledge Base for information about this
importing %1 for Feature error, or request technical support.
%2. Make sure the file
exists in the specified
location and that the file is
a valid REG file.

554 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6203 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6202 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6201 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6200 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6199 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6197 An error occurred Ensure that the .msi package is not currently being
streaming %1 into %2. used by another process.
Check to make sure the
.msi package is not
currently in use by another
process.
-6196 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6195 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6194 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6193 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6192 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6191 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6190 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6189 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6188 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6187 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6186 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 555


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6185 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6184 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6183 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6182 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6181 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6180 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6179 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6178 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6177 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6176 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6175 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6174 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6173 An error occurred Make sure that you have enough free hard disk space
renaming file %1 to %2 on the drive that contains the interim folder under your
product configuration (for example, \MySetups\Your
Project Name-27\Product Configuration 1\Interm).
-6172 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6171 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6170 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6169 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6168 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

556 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6167 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6166 An error occurred Check the Knowledge Base for information about this
updating the Word Count error, or request technical support.
Summary Property of the
Summary Information
Stream.
-6165 An error occurred Check the Knowledge Base for information about this
exporting table %1. error, or request technical support.
-6164 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6163 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6162 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6161 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6160 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6158 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6156 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6155 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6154 Build canceled by the This error occurs only when the build is terminated
user. during the build process.
-6153 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6152 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6151 Cannot save target Check the Knowledge Base for information about this
database. error, or request technical support.
-6150 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6149 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6148 Cannot insert record in the Check the Knowledge Base for information about this
specified table. error, or request technical support.

InstallShield Express Edition User Guide 557


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6147 Cannot update the Check the Knowledge Base for information about this
specified target field in the error, or request technical support.
table.
-6146 Cannot create new record Check the Knowledge Base for information about this
in the specified table. error, or request technical support.
-6145 Cannot retrieve value of Check the Knowledge Base for information about this
the specified column in the error, or request technical support.
table.
-6144 Cannot open database Check the Knowledge Base for information about this
view for table %1. error, or request technical support.
-6143 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6142 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6141 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6140 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6139 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6137 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6136 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6135 The specified feature is Associate the specified feature with a setup type.
not associated with any
Setup Type.
-6134 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6133 An error occurred Check the properties specified in the current product
updating properties configuration to ensure they are valid.
specified in the current
Product Configuration.
-6131 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6130 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6129 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

558 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6128 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6127 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6126 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6125 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6124 Unknown Exception. Check the Knowledge Base for information about this
error, or request technical support.
-6123 Unknown Exception. Check the Knowledge Base for information about this
error, or request technical support.
-6122 No features are included in Ensure your build contains at least one feature.
the build.
-6121 Error occurred copying Check the Knowledge Base for information about this
built Merge Modules to the error, or request technical support.
Modules folder.
-6120 The Resource Linker failed Check the Knowledge Base for information about this
to build the specified DLL. error, or request technical support.
-6118 The Resource compiler Check the Knowledge Base for information about this
failed to build the specified error, or request technical support.
RES file required to link
the DLL.
-6116 Failed to export .rc file Check the Knowledge Base for information about this
from project: %1. error, or request technical support.
-6115 Could not retrieve version Check the Knowledge Base for information about this
of IDriver.exe from error, or request technical support.
ISScript.msi.
-6114 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6113 An error occurred during Check to ensure that a previous media was built before
the incremental build. selecting "Build Tables Only" or "Build Tables and
Refresh Files" and ensure the previous media was not
deleted.
-6112 Error deleting a file Check the Knowledge Base for information about this
streamed into Setup.exe. error, or request technical support.
-6111 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 559


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6110 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6109 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6108 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6107 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6106 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6105 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6104 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6103 Unable to get system Check the file to ensure it exists in the specified
settings for the specified location.
file.
-6102 Error searching for Make sure the dynamic file flag specified is valid.
dynamic files matching
"%1".
-6101 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6100 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6099 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6098 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6097 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6096 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6095 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6094 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6093 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

560 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6092 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6091 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6090 The scrollable text file:'%1' This build error is caused by a scrollable text control
specified for the that (1) is specified for the License Agreement dialog
Control:'%2' does not box or the Readme dialog box and (2) is not pointing to
exist. a valid .rtf file.
To resolve this error message, open the Dialogs view,
expand the Dialogs node, and then select the License
Agreement node. Set the License File property to
\Redist\0409\Eula.rtf. Then select the Readme node.
Set the Readme File property to
\Redist\0409\Readme.rtf.
As an alternative, you can set the License File property
or the Readme File property to your own file with the
proper path. As long as the builder is able to find the
file in the path specified in this property, the error
should not occur.
-6088 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6087 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6086 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6085 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6084 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6083 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6082 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6081 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6080 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6079 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 561


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6078 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6077 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6076 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6075 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6074 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6073 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6072 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6071 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6070 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6069 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6068 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6067 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6066 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6065 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6064 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6063 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6062 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6061 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6060 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

562 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6059 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6058 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6057 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6056 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6055 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6054 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6053 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6052 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6051 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6050 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6049 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6048 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6047 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6046 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6045 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6044 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6043 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6042 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6041 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 563


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6040 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6039 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6038 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6037 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6036 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6035 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6034 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6033 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6032 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6031 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6030 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6029 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6028 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6027 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6026 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6025 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6024 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6023 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6022 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

564 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6021 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6020 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6019 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6018 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6017 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6016 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6015 Error generating short file Check the Knowledge Base for information about this
name for file: %1. error, or request technical support.
-6014 The shortcut for a feature Specify an icon file and icon index for this shortcut to
is invalid because it does resolve this issue.
not reference an icon
resource.
-6013 The feature condition for Use the Features view to modify the condition property
the specified feature is of the specified feature.
invalid.
-6012 Failed to set codepage for Install the codepage for the specified language.
language %1.
-6011 Failed to open string table. Check the Knowledge Base for information about this
error, or request technical support.
-6010 An error occurred digitally Verify the digital signature information provided in the
signing media for current Release to sign the Netscape media (Netscape
Netscape. Certificate ID, Password, and Certificate Path) is
correct.
-6009 An error occurred creating Check the Knowledge Base for information about this
the Web media for Internet error, or request technical support.
Explorer.
-6008 An error occurred creating Check the Knowledge Base for information about this
the Web media for Internet error, or request technical support.
Explorer.
-6007 Error occurred copying Check the Knowledge Base for information about this
user specified error, or request technical support.
uncompressed setup files
to Disk1.

InstallShield Express Edition User Guide 565


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-6006 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-6005 An error occurred creating Check the Knowledge Base for information about this
the Package Definition error, or request technical support.
File.
-6004 An error occurred Check the Knowledge Base for information about this
streaming the digital error, or request technical support.
certificate for Msi
engine(s) into setup.exe.
-6003 An error occurred Check the Knowledge Base for information about this
streaming '%1' into error, or request technical support.
setup.exe.
-6002 Error while attempting to Check the Knowledge Base for information about this
run the custom build setup error, or request technical support.
for objects.
-6001 An Error occurred while Check the Knowledge Base for information about this
preprocessing error, or request technical support.
ISObjectProperty. Make
sure that ll items have a
valid IncludeInBuild tag.
-6000 An Error occurred Check the Knowledge Base for information about this
gathering information error, or request technical support.
about supplemental merge
modules.
-5099 An error occurred creating Check the Knowledge Base for information about this
the build report. error, or request technical support.
-5098 The Directory table Check the Knowledge Base for information about this
contains a circular error, or request technical support.
reference.
-5097 Could not write custom Check the Knowledge Base for information about this
records to the _Validation error, or request technical support.
table.
-5096 Could not retrieve the Check the Knowledge Base for information about this
standard table list. error, or request technical support.
-5095 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5094 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5093 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

566 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-5092 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5091 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5090 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5089 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5088 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5087 Stop at first error. The user chose the "Stop build process when first error
is encountered" in Tools | Options menu. An error
occurred so the build was stopped.
-5086 Treat warnings as errors. Check the Knowledge Base for information about this
error, or request technical support.
-5085 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5084 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5083 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5082 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5081 Could not write to Check the Knowledge Base for information about this
setup.ini. error, or request technical support.
-5080 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5079 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5078 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5077 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5076 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5075 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 567


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-5074 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5072 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5071 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5070 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5069 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5068 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5066 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5065 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5064 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5063 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5062 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5061 The specified filename Use the feature’s Source Location property to prevent
already exists. this error.
-5060 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5059 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5058 Could not obtain merge Check the Knowledge Base for information about this
module dependencies. error, or request technical support.
-5057 Could not obtain merge Check the Knowledge Base for information about this
module catalog. error, or request technical support.
-5056 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5054 Could not determine the Verify the file specified exists.
size of the file "%1".
-5053 The file "%1" could not be Verify the file specified exists.
found.

568 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-5052 Could not determine the Check the Knowledge Base for information about this
free space on the volume error, or request technical support.
%1.
-5051 Could not remove the Check the Knowledge Base for information about this
read-only attribute from error, or request technical support.
the file "%1".
-5050 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5049 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5048 Could not create the file Check the Knowledge Base for information about this
"%1". error, or request technical support.
-5047 Cannot create directory Check the Knowledge Base for information about this
%1. error, or request technical support.
-5046 Could not preserve See Knowledge Base article Q105439 for information
previous Build Reports. about this error.
-5045 Could not preserve Check the Knowledge Base for information about this
previous Build Logs. error, or request technical support.
-5044 Cannot delete directory Check the Knowledge Base for information about this
%1. error, or request technical support.
-5043 The volume does not Check in the Build Your Release view to ensure the
exist. volume specified exists.
-5042 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5041 The string ID "%1" was You cannot use a stringID for a destination. Find the
used to specify a Feature feature using this string ID and change the destination
or Feature destination. using a directory identifier.
-5040 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5039 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5038 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5037 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5036 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5033 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.

InstallShield Express Edition User Guide 569


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-5025 Could not save package. Check the Knowledge Base for information about this
error, or request technical support.
-5024 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5019 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5018 The logical disk does not Check the Knowledge Base for information about this
contain any features. error, or request technical support.
-5017 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5016 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5015 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5014 An error occurred building See Knowledge Base article Q105625 for information
icon "%1". The specified about this error.
Icon key was not found in
the Icon table.
-5013 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5011 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5010 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5009 The schema Summary Check the Knowledge Base for information about this
Stream must be 200 or error, or request technical support.
later.
-5008 Intel64 must be specified Check the Knowledge Base for information about this
in the template of the error, or request technical support.
Summary Stream.
-5007 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5006 Could not save "%1". Check the Knowledge Base for information about this
error, or request technical support.
-5005 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5004 Could not open the project Check to make sure the project is not already open by
with write access. the IDE.

570 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-5003 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5002 Internal build error. Check the Knowledge Base for information about this
error, or request technical support.
-5001 Could not copy setup.ini. Check the Knowledge Base for information about this
error, or request technical support.
-4701 An error occurred building Check the Knowledge Base for information about this
the One-Click Install Web error, or request technical support.
page.
-4354 The build was unable to Ensure that the file is self-registering and verify that the
extract COM information self-registration process does not fail.
from a file in a feature.
-4349 Failed to build %1 Check the Knowledge Base for information about this
information for error, or request technical support.
dynamically extracted
COM features.
-4348 Failed to build %1 Check the Knowledge Base for information about this
information for error, or request technical support.
dynamically extracted
COM features.
-4347 Failed to build information Check the Knowledge Base for information about this
for dynamically extracted error, or request technical support.
COM features.
-4346 Failed to build information Check the Knowledge Base for information about this
for dynamically extracted error, or request technical support.
COM features.
-4345 Failed to build information Check the Knowledge Base for information about this
for dynamically extracted error, or request technical support.
COM features.
-4344 Failed to build information Check the Knowledge Base for information about this
for dynamically extracted error, or request technical support.
COM features.
-4343 Failed to build information Check the Knowledge Base for information about this
for dynamically extracted error, or request technical support.
COM features.
-4340 Failed to initialize COM Check the Knowledge Base for information about this
extraction module. error, or request technical support.
-4303 An unexpected error Check the Knowledge Base for information about this
occurred while error, or request technical support.
synchronizing the file key
in the specified feature.

InstallShield Express Edition User Guide 571


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-4302 A conflict was Check the Knowledge Base for information about this
encountered while error, or request technical support.
synchronizing file key %1
in feature %2.
-4301 Could not find the .msi file Check to ensure the specified MSI file exists.
for key synchronization.
-4092 Error opening MSI Check the Knowledge Base for information about this
database %1. error, or request technical support.
-4075 File not found. An error Verify that the merge module exists in the merge
occurred merging module module search path.
'%1' for feature '%2'.
-4072 Error retrieving the Check the Knowledge Base for information about this
dependencies for %1. error, or request technical support.
-4006 Failed to delete all of the Close any open files in the build output directory
files in a directory (Disk1).
Close Msidb.exe if it is open.
-3876 Ignoring invalid template Check the Knowledge Base for information about this
%1 in the Summary error, or request technical support.
Stream.
-3713 The function block must Change the function block to follow the form
be in the form "Module::Function".
"Module::Function".
-3114 Application path %1 does Check the Knowledge Base for information about this
not contain destination of error, or request technical support.
associated feature %2.
Since an Application Path is also a Registry Entry, this
error might result if a registry path like the following is
created but is missing the path entry:
HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVer
sion\App PathsTo correct this, specify a path entry
-3028 An error occurred A required string ID was left blank in the specified table.
replacing string IDs in the Provide a string ID.
specified table.
-3016 Failed to add Binary table Check the Knowledge Base for information about this
%1 to package. error, or request technical support.
-2200 Could not overwrite file. Ensure the specified file is not read-only.
-1531 The size specified for the Using the Release Wizard, change the Media Format to
disk is too small for the a larger size.
feature.

572 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Build Errors and Warnings

Table 27-2: Build Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-1530 The size specified for the Using the Release Wizard, change the Media Format to
disk is too small for the a larger size.
file.
-1527 No files are included in the This warning occurs when you have not included any
project. files in your project. Use the Files view to add files into
your project to avoid this error.
-1505 Could not add the CAB file Check the Knowledge Base for information about this
to the MSI package. error, or request technical support.
-1501 Could not compress "%1" Ensure that IsCmdBld.exe is executed in the relative
into "%2". directory. You can do this by locating the files specified
in the error message and launching IsCmdBld.exe
within their directory.
-1027 Failed signing %1. Check the digital signature information (digital keys and
password) provided for the current release.
-1024 File not found. Cannot Ensure the specified file exists.
stream the file into the
Binary table.
-1014 Cannot rename a Windows Explorer or a DOS prompt may be pointing to
directory. a subfolder of the release output folder (Disk1) or to
the Interm folder, locking it. Change the current
directory. Close any open files in the Disk1 folder.
Close Msidb.exe if it is open.
-1013 The specified file is being Close the application that is currently using the file and
used by another program. re-run the build process.
-1009 Insufficient disk space or Increase disk space on the build target, or select a new
the target drive cannot be target for the build. If the target drive cannot be
located. located, select a new target, or ensure permissions are
set correctly for the target drive.
-1001 Error opening MSI Your MSI engine may be corrupt. You need to repair or
database reinstall the engine. For further information, check
article Q105892 in the Knowledge Base for information
about this error, or request technical support.
-1000 Invalid product Check the Knowledge Base for information about this
configuration. Failed to error, or request technical support.
create directory.

InstallShield Express Edition User Guide 573


Chapter 27: Errors and Warnings
Migration Errors and Warnings

Migration Errors and Warnings


The following table describes potential errors and warnings that may occur during the
migration process, and it provides tips to correct them.

Table 27-3: Migration Errors and Warnings

Error Description Troubleshooting Tips


-72 Config.sys no longer Changes to Config.sys are no longer supported. These
supported. changes are not migrated.

There is an example of a custom action to modify


Config.sys in the InstallShield Program
Files Folder\Samples folder.
-73 Autoexec.bat no longer Changes to Autoexec.bat are no longer supported.
supported. These changes are not migrated.

You can modify environment variables from the


Environment Variables view.
-74 Uninstall Icon no longer For more information, see Creating an Uninstallation
supported. Shortcut.
-75 Splash screen no longer The Splash screen has been replaced by the Splash
supported. dialog.
-77 Logo bitmap no longer This aspect of your setup is not migrated.
supported.
-78 Background color no This aspect of your setup is not migrated.
longer supported.
-248 Filegroup %1 had Windows The specified file group could not be migrated as an NT
NT 3.51 marked as a 3.51 feature because the Windows Installer architecture
Target OS. Migrating to does not support that operating system. The new
NT4. feature created for you is marked for Windows NT4.
-249 Target directory %1 could The specified directory could not be migrated as one
not be directly migrated. cohesive piece. The destination folder specified now
Migrating to destination contains contents of the migrated target directory.
folder %2 in feature %3.
-250 Converted illegal INSTALLDIR is the default destination folder for all of
destination <SRCDIR> of your setup’s files.
file group to [INSTALLDIR].

574 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Migration Errors and Warnings

Table 27-3: Migration Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-251 <SRCDISK> is not SRCDISK is not supported in the new InstallShield.
supported. Converting INSTALLDIR is the default destination folder for all of
destination to your setup’s files.
[INSTALLDIR].
-405 Registry hive %1 not The specified registry hive is not supported by Windows
supported. Ignoring this Installer. Therefore, the information contained within
key. that hive was not migrated.
-406 Registry type %1 not The specified registry type is not supported by Windows
supported. Ignoring this Installer. Therefore, the information contained within
entry. that entry was not migrated.
-407 This registry entry was not The specified registry entry will be uninstalled with the
marked to be uninstalled rest of your product during uninstallation.
in your old project. It will
be uninstalled in the new
version.
-535 Reboot option not Rebooting the system during installation is handled via
migrated; use the Custom custom actions. For more information, see Custom
Actions view to add a Action Gallery.
reboot action.
-536 Individual file group Since file groups no longer exist, this setting cannot be
selection no longer migrated.
supported.
-537 Welcome dialog is This mandatory dialog has been added to your setup.
required
-538 SetupComplete dialog is This mandatory dialog has been added to your setup.
required
-541 Temp Files not currently The use of temporary files is not supported by
supported. InstallShield. These files are not migrated. Use the
Setup Files view to add files you want available on the
target system only during installation.
-542 Disk1 Files no longer These changes are not migrated.
supported.
-544 The LicenseAgreement InstallShield requires rich text (.rtf) files for the
dialog .txt file was LicenseAgreement dialog. Your text (.txt) file was
converted to an .rtf file for converted to .rtf by InstallShield.
use in Express 3.0.
-545 The ReadMeFileBrowser InstallShield requires rich text (.rtf) files for the
dialog .txt file was ReadMeFileBrowser dialog. Your text (.txt) file was
converted to an .rtf file for converted to .rtf by InstallShield.
use in Express 3.0.
-546 Unable to migrate Access Go to the Redistributables view and add this module
97 object. manually.

InstallShield Express Edition User Guide 575


Chapter 27: Errors and Warnings
Setup.exe Run-Time Errors and Warnings

Table 27-3: Migration Errors and Warnings (cont.)

Error Description Troubleshooting Tips


-601 Could not migrate The specified extension could not be migrated. Re-
extension %1. create this extension in the File Extensions view.
-602 Used first found file %1 as The specified file was migrated for your extension’s
the binary file for binary.
extension %2.

Setup.exe Run-Time Errors and Warnings


The table below lists the errors that you may encounter when running Setup.exe. You
can trap these return values when you call CreateProcess() to launch Setup.exe.
However, Setup.exe does not return error codes from MsiExec.exe.

576 InstallShield Express Edition User Guide


Chapter 27: Errors and Warnings
Setup.exe Run-Time Errors and Warnings

NOTE If you encounter an error, the strings displayed may not be displayed in English if your operating
system is not running in English.

Table 27-4: Setup.exe Run-Time Errors and Warnings

Error Description Troubleshooting Tips


-1 The user canceled the Run the setup again without pressing the Esc key or
setup. clicking the Cancel button.
1150 Setup has detected an Windows Installer is compatible with NT 4.0 and later,
incompatible version of and Windows 9x. Check your version of Windows and
Windows. Please click OK upgrade if necessary.
and relaunch setup on
Windows 95, Windows NT
4.0, or later.
1151 Error writing to the In order to write to the temporary location, the
temporary location. environment variable TEMP must be set. Check to see
that Temp folder exists and has enough disk space to
accommodate the setup. If there are files in the Temp
folder, delete them and rerun Setup.exe.
1152 Error extracting <file Check to see that you are able to write to the Temp
name> to the temporary folder (see errors above). If the Temp folder is valid,
location. there may be corrupt files in the setup. Check the files
to ensure none are corrupted and rerun Setup.exe.
1153 Error reading setup The Setup.ini file must be located in the same folder as
initialization file. Setup.exe. If not, move Setup.ini to that location.
1154 Installer not found in Windows Installer may not have been properly installed,
<path>. or you may have an older version. Reinstall if
necessary.
1155 File <file name> not Make sure the .msi file exists. If so, make sure it is
found. located in the same folder as Setup.exe.
1156 Internal error in Windows Windows Installer was unsuccessfully installed. Run the
Installer. InstMsiW.exe file (for Windows NT and 2000) or
InstMsiA.exe (for Windows 9x) to reinstall.
1157 Failed to launch Make sure you are distributing the correct version or
MsiExec.exe. versions of Windows Installer for the target platform.
Check the syntax on your MsiExec.exe command-line
arguments.
1158 Error populating strings. Verify all strings in Setup.ini are valid. Refer to the
InstallShield License Agreement for more information.
1201 Setup needs <amount> There is insufficient disk space in your target location.
KB free space in <folder>. Please make sure there is at least 10 MB of free space
Please free up some in the drive where the setup is set to install.
space and try again.

InstallShield Express Edition User Guide 577


Chapter 27: Errors and Warnings
Setup.exe Run-Time Errors and Warnings

Table 27-4: Setup.exe Run-Time Errors and Warnings (cont.)

Error Description Troubleshooting Tips


1202 You do not have sufficient In Windows NT 4.0 and 2000, you must have
privileges to complete this administrative rights to complete this installation.
installation for all users of
the machine. Log on as an
administrator and then
retry this installation.
1207 Windows Installer In Windows 2000, Windows Installer is installed by
<version> not found. This default. If your version of Windows Installer is an old
is an older version of version, this warning is displayed. It should not prevent
Windows Installer. Click the setup from running correctly.
OK to continue.
1208 ANSI code page for Run the setup and select another language.
<language> is not
installed on the system
and therefore setup
cannot run in the selected
language. Run the setup
and select another
language.
1603 General Windows Installer Reinstall Windows Installer by running InstMsiW.exe file
engine error. Increase (for Windows NT and 2000) or InstMsiA.exe (for
DiskSpace requirement in Windows 9x) to reinstall.
Setup.ini and try again.
1614 An error occurred while Check connectivity and disk space on the target
downloading a file. machine and retry the download. Ensure Internet
Explorer 3.02 or later is installed on the target system.
1627 Unable to save file. The specified file was unable to be saved. This can be
for a variety of reasons, including insufficient
permissions on the target system, loss of connectivity,
lack of space, etc. Ensure you have access to the
target directory.

578 InstallShield Express Edition User Guide


28
COMMAND-LINE TOOLS

In addition to its graphical user interface, InstallShield provides several command-line


applications that you can use during build time, for instance, as part of a batch process,
or during run time to customize the behavior of your installation. This section
describes the command-line parameters for those applications.
• IsCmdBld.exe Command-Line Build Parameters
• MsiExec.exe Command-Line Parameters
• Setup.exe Command-Line Parameters

IsCmdBld.exe Command-Line Build Parameters


Listed below are all of the command-line parameters supported by IsCmdBld.exe.

Table 28-1: Command-Line Build Parameters

Parameter Description
-p <project location> Pass the path to the project (.ise) file. This path can be fully
qualified, relative, or just the file name. UNC paths are also
acceptable. If only the project file name is passed, the file is
retrieved relative to the current working directory. For example:

IsCmdBld.exe -p
"C:\<WindowsDir>\Profiles\<UserName>\Persona
l\MySetups\MyProject1\MyProject1.ise"

This is the only required parameter.


Enclose long file names in quotation marks.

InstallShield Express Edition User Guide 579


Chapter 28: Command-Line Tools
IsCmdBld.exe Command-Line Build Parameters

Table 28-1: Command-Line Build Parameters (cont.)

Parameter Description
-r <release type> Use this parameter to specify the release type (for example,
SingleImage or WebDeployment). If you do not specify this
parameter and build from the command line, the command-line
build uses the last release type built in the IDE as the release type.
If you have never built a release in the IDE, the command-line build
uses the SingleImage release type.
This parameter is optional.
-b <build location> The fully qualified path to the folder where you want the output
folders and files to be placed. UNC paths are acceptable. The built
installation’s files will be located in the DiskImages\Disk1 subfolder
of the location that you specify.
Enclose long file names in quotation marks.
This parameter is optional.
-s This parameter allows you to build your release in silent mode.
Silent builds are useful if you want to run the build without
displaying any errors or warning messages.
This parameter is optional.
-i <.ini file path> Instead of passing all of your parameters on the command line, you
can include them in an initialization (.ini) file and call that file from
the command line. For more information, see Passing Command-
Line Parameters in an .ini File.
Absolute and relative paths are acceptable. Enclose long file names
in quotation marks.
This parameter is optional.
-u This parameter enables you to upgrade—but not build—your
release. You can use this parameter to upgrade an installation
project that you created with an earlier version of InstallShield.
This parameter is optional.
-x If you want the build to stop when it encounters an error, use the -x
parameter. If you want the build to stop when it encounters a
warning, use this parameter in conjunction with the -w parameter.
This parameter is optional.
-w This parameter treats warnings that occur during the build process
as errors. Each warning increments the error count by one.
This parameter is optional.

580 InstallShield Express Edition User Guide


Chapter 28: Command-Line Tools
MsiExec.exe Command-Line Parameters

Table 28-1: Command-Line Build Parameters (cont.)

Parameter Description
-c <compression option> This parameter allows you to specify whether you want to have
your release compressed into one file or remain uncompressed in
multiple files. The valid arguments for this parameter are COMP and
UNCOMP. To specify that your release be compressed into one file,
use the COMP argument. If you do not want your release
compressed, use the UNCOMP argument.
This parameter is optional. If the release name already exists, the
configuration will be based on what was specified in the IDE. If this
is ignored for a new release, the new package will be
uncompressed.
-e <y/n> Setup Package Use this parameter to specify whether you want to create
Setup.exe along with your installation project. Specify y to build
Setup.exe, or n to create just an installation package.
This parameter is optional.

MsiExec.exe Command-Line Parameters


MsiExec.exe is the executable program of the Windows Installer used to interpret
installation packages and install products on target systems. After you build your
release, you can install your Windows Installer package (.msi) from the command
line. Currently, there is no support for passing Windows Installer parameters other
than at the Setup.exe command line. To ensure that Windows Installer is installed on
a target system, InstallShield creates a Setup.exe for your application by default.
Setup.exe installs Windows Installer if it is not present on the target system or
upgrades Windows Installer if an older version is present.
After building a release of your product, you can install it from the command line.
For an exhaustive MSIExec.exe reference, see Command-Line Options in the
Windows Installer Help Library. For information on passing MsiExec.exe command-
line parameters to Setup.exe, see Setup.exe Command-Line Parameters.

Setup.exe Command-Line Parameters


Like your compiled .msi file, Setup.exe can accept a limited number of command-line
parameters. By using these parameters, you can specify which language you want
your installation to run in and if you want Setup.exe to run silently. You can also
pass parameters through Setup.exe to the included .msi file.
Setup.exe accepts the following command-line options, each of which is described
below:
• /v : msi command line parameters

InstallShield Express Edition User Guide 581


Chapter 28: Command-Line Tools
Setup.exe Command-Line Parameters

• /s : Silent
• /p : Password mode
• /a : Administrative installation
• /j : Advertise mode
• /x : Uninstall mode
• /f : Repair mode
• /ua : Install Windows 9x MSI Engine
• /uw : Install Windows NT MSI Engine
• /b : Cache installation locally
• /w : Wait

Passing Parameters to the .msi File Within Setup.exe


If you include Setup.exe as part of your installation, you may need to pass command-
line parameters to the .msi package stored within Setup.exe. To pass arguments to
the .msi file, use the /v option. Once you specify this option, you can list any of the
supported parameters that can be passed to Msiexec.exe. For example, to apply a
transform, enter the following:
Setup.exe /v"TRANSFORMS=\"C:\Transforms\My Transform.mst\""

There are a few special formatting rules that you need to follow when passing a
parameter in this way. First, you need to place a backslash (\) in front of any quotation
mark that resides within existing quotes. For example, the command line above
contains the following: /v"TRANSFORMS=/"C:\Transforms\My Transform.mst\"".
Because the path to the transform is a long path, you need to use quotes. However,
since you need to have quotes around the complete argument, the command-line
statement fails if you do not use the backslash in front of all internal quotes.
Another formatting rule dictates that there cannot be a space between the command-
line option (/v) and the arguments that you are passing, as illustrated in the example
above.
Finally, if you are passing multiple parameters using the /v option, you need to
separate them with a space—for example:
Setup.exe /v"TRANSFORMS=\"C:\Transforms\MyTransforms.mst\" /qn"

This command applies a transform and runs the installation silently.

Running Setup.exe Silently


If you do not want the Setup.exe file to display a progress bar when it launches, you
can use the /s command-line parameter. For example, if you enter the following
command-line statement, Setup.exe launches, but the user interface is not displayed:

582 InstallShield Express Edition User Guide


Chapter 28: Command-Line Tools
Setup.exe Command-Line Parameters

Setup.exe /s

If you want the .msi setup to run silently as well, you need to pass the /qn command-
line parameter through Setup.exe using the /v parameter—for example:
Setup.exe /s /v/qn

NOTE If your installation is password protected, you must also pass the /p parameter.

Specifying a Password from the Command Line


You can specify a password for a password-protected setup by using the /p parameter.
If you run a password-protected setup in silent mode, you must specify the password
from the command line or the installation will fail.
To run a password-protected setup silently, enter the following statement at the
command line:
Setup.exe /s /v/qn /p"password"

Specifying the Installation Mode from the Command Line


You can define what mode you want your installation to run in by using the /a
(Administrative), /j (Advertise), /x (Uninstall), or /f (Repair) parameters. Each of
these options is explained in detail below.

Administrative
When you run an installation in administrative mode, you can install an installation
image to the network, which allows any one with access to that directory the ability to
install that installation on their local machine with the privileges of the administrator
who ran the administrative installation. No additional parameters are necessary for
this option.

Advertise
Advertisement is a type of “just-in-time” installation in which features are installed
when they are requested from the installer and not installed immediately during
installation. When you launch MsiExec.exe with the /j <package> option, the
features are advertised on the end user’s system, but not immediately installed. In
most cases, the end user has the option to advertise features in the Custom Setup
dialog. For information on the proper syntax for this parameter, see MsiExec.exe
Command-Line Parameters.

InstallShield Express Edition User Guide 583


Chapter 28: Command-Line Tools
Setup.exe Command-Line Parameters

Uninstall
If you want to uninstall your installation from the command line without displaying
the maintenance dialogs, you need to use the /x option—for example:
Setup.exe /v/x

No additional parameters are required.

Repair
When you launch an installation in repair mode, it makes sure that all portable
executable (.exe, .com, .ocx, .tlb) and help (.chm and .hlp) files are present and
uncorrupted. If the installation detects that one of these files is missing or corrupt, it
attempts to repair the file. To launch an installation in repair mode from the command
line, use the /f option. For information on the proper syntax for this parameter, see
MsiExec.exe Command-Line Parameters.

Specifying the Windows Installer Engine Location from the


Command Line
From the command line, you can specify the location of the Windows Installer engine
to download for Web-deployable installations. To do so, use the following syntax.

Windows 9x MSI Engine


Setup.exe /ua"http://www.installshield.com/msiengine20/InstmsiA.exe"

Windows NT MSI Engine


Setup.exe /uw"http://www.installshield.com/msiengine20/InstmsiW.exe"

Specifying Cache Location


To enable advanced Windows Installer functionality, such as feature advertisement
and application repair, you can copy the installation to a location on the target
machine. To do so, use the following syntax, including a fully qualified path:
Setup.exe /b"C:\Storage\MyCachedPrograms\"

NOTE The installation will be cached at a subdirectory of the location specified. This subdirectory is
named after the Package Code GUID of the installation. If there is a problem unpacking to that
location, the installation will ask for an alternate location.

This option can only be used for SingleImage, Custom, and WebDeployment builds.

584 InstallShield Express Edition User Guide


Chapter 28: Command-Line Tools
Setup.exe Command-Line Parameters

Requiring Setup.exe to Wait


Use the /w command line option to have Setup.exe wait until MsiExec.exe is
finished before Setup.exe exits. In addition, the /w command also returns any return
codes generated by MsiExec.exe.
If you are using the /w option in a batch file, you may want to precede the entire
Setup.exe command-line argument with start /WAIT. A properly formatted
example of this usage is as follows:
start /WAIT setup.exe /w

InstallShield Express Edition User Guide 585


Chapter 28: Command-Line Tools
Setup.exe Command-Line Parameters

586 InstallShield Express Edition User Guide


29
END-USER DIALOGS

This section serves as a reference for all of the end-user dialogs that are available
through the Dialogs view in InstallShield.

Global Dialog Settings for All End-User Dialogs


Global dialog settings allow you to make changes to common dialog properties across
all dialogs. You can specify the bitmap images that you want InstallShield to display
in your end-user dialogs. In the Global Settings Properties view, you can indicate a
path for a Global Dialog Image (which corresponds to an individual dialog’s Bitmap
Image property) and a Global Dialog Banner (which corresponds to an individual
dialog’s Banner Bitmap property). The value you provide for either global property
applies to all dialogs that have the corresponding property unless you change a
dialog’s Bitmap Image or Banner Bitmap setting on an individual basis.

CAUTION If—after changing the Bitmap Image or Banner Bitmap property for a particular dialog—you
change the corresponding Global Dialog Settings property, the Global Dialog Settings property
value replaces the value that you entered for the individual dialog’s bitmap property.

InstallShield Express Edition User Guide 587


Chapter 29: End-User Dialogs
Splash Bitmap Dialog

To navigate to the global dialog settings, click Dialogs on the View List or click
Dialogs in the Dialogs view.

Table 29-1: Global Dialog Settings

Property Description
Global Dialog Image The Global Dialog Image property contains the path to the image
that you want to appear in all of the end-user dialogs that display
large, full-dialog images—such as the Install Welcome dialog. This
property corresponds to the Bitmap Image property for individual
dialogs. This image must be 499 pixels wide by 312 pixels high.

This image also affects dialogs not in the View List, such as
when the setup is interrupted. Therefore, you should provide a
global dialog image if you want to alter the visual presentation
of the setup.
Global Dialog Banner The Global Dialog Banner property contains the path to the bitmap
image that you want to appear in all end-user dialogs that display a
banner image across the top of the dialog—such as the License
Agreement dialog. This property corresponds to the Banner Bitmap
property for individual dialogs. This image must be 499 pixels wide
by 58 pixels high.

Splash Bitmap Dialog


The Splash Bitmap dialog is the first dialog displayed when your setup package is
launched. Generally, this dialog contains an image—either a bitmap (.bmp) or icon
(.ico)—file that contains the logo and branding for your company and product.
This dialog is optional, and is not selected by default.

InstallShield Express Edition User Guide 588


Chapter 29: End-User Dialogs
Install Welcome Dialog

Figure 29-1: The Splash Bitmap Dialog.

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Splash Bitmap dialog. The Splash
Bitmap dialog has the following properties:

Table 29-2: Splash Bitmap Dialog Settings

Property Description
Splash Bitmap The Splash Bitmap property contains the path to the bitmap (.bmp)
file you want to display in this dialog. You can either enter the path
and filename or click the Browse button (...) and navigate to that
file. The image must be 465 pixels wide by 281 pixels high.
Sunken If you want the splash image to appear sunken into the dialog, set
the Sunken property to Yes. If you want the image to appear flat in
the dialog, set this property to No.

Install Welcome Dialog


Depending on whether you choose to display the Splash Bitmap dialog, the Install
Welcome dialog could be the first dialog displayed when your setup is launched. This
dialog serves two purposes: The first is to let users know that your setup is running. To
achieve this end, the name you enter in the Product Name property of the General
Information view is displayed with a welcome message. The second purpose of the
Welcome dialog is to display copyright information for your setup.
Although the Welcome dialog is required in every setup you create, you can
customize its look and the information it provides.

InstallShield Express Edition User Guide 589


Chapter 29: End-User Dialogs
License Agreement Dialog

Figure 29-2: The Install Welcome Dialog.

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Install Welcome dialog. The Install
Welcome dialog has the following properties:

Table 29-3: Install Welcome Dialog Settings

Property Description
Bitmap Image Enter the name of the bitmap you want to use for this dialog, or
click the Browse (...) button to navigate to this file. This image must
be 499 wide x 312 pixels high.
Show Copyright Set this property to Yes if you want to display copyright information
for your setup and all its files. Select No to forgo displaying any
copyright information.
Copyright Text Enter your copyright information into this property. Note that this
information is not displayed unless you set the Show Copyright
property to Yes.

License Agreement Dialog


The License Agreement dialog displays your end-user license agreement (EULA).
When this dialog is displayed, a user must accept your license agreement before
continuing with the installation. Although this dialog is not required, it is selected by
default.

InstallShield Express Edition User Guide 590


Chapter 29: End-User Dialogs
Readme Dialog

Figure 29-3: The License Agreement Dialog.

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the License Agreement dialog. The
License Agreement dialog has the following properties:

Table 29-4: License Agreement Dialog

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
License File Enter the path to the rich text file (.rtf) containing your license
agreement. Alternatively, you can navigate to this file by clicking
the Browse (...) button.

The file must be in RTF format. Plain-text files do not work.

Readme Dialog
The Readme dialog displays your application’s readme file. This dialog is optional
and is not selected by default.

InstallShield Express Edition User Guide 591


Chapter 29: End-User Dialogs
Customer Information Dialog

Figure 29-4: The Readme Dialog.

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Readme dialog. The Readme dialog
has the following properties:

Table 29-5: Readme Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Readme File Enter the path to the rich text file (.rtf) containing your readme
information. Alternatively, you can navigate to this file by clicking
the Browse (...) button.

Customer Information Dialog


The Customer Information dialog allows you to gather information from your users:
name, company, and serial number. Additionally, you can link to a DLL that verifies
serial numbers, in order to prevent unauthorized use of your software. Although this
dialog is not required, it is selected by default.

InstallShield Express Edition User Guide 592


Chapter 29: End-User Dialogs
Customer Information Dialog

Figure 29-5: The Customer Information Dialog.

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Customer Information dialog from
the explorer. The Customer Information dialog has the following properties:

Table 29-6: Customer Information Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Serial Number Select Yes to have a serial number field displayed on this dialog.
When a serial number is entered, it can be verified via the DLL you
associate with the Serial Number Validation DLL property.
Serial Number Validation Enter the path to the DLL that contains the validation function for
DLL your serial numbers, or click the Browse (...) button to navigate to
this file. For information on how to format your function, see Using
a Custom Action for Serial Number Validation.
Validate Function Enter the name of the function that validates your serial numbers.
For example, if your DLL contains a function called ValidateSN(),
enter the following:
ValidateSN
No special formatting is required. However, this function must exist
in the DLL you referenced in the Serial Number Validation DLL
property.

InstallShield Express Edition User Guide 593


Chapter 29: End-User Dialogs
Destination Folder Dialog

Table 29-6: Customer Information Dialog Settings (cont.)

Property Description
Success Return Value Enter the value your validation function returns upon success. This
return value’s data type must be LONG.
Retry Limit Enter the maximum number of times a failed return value can be
accepted before the setup exits. By entering a low number in this
field you reduce the risk of someone guessing your serial number.
Show All Users Option Select Yes if you want to give your users the option of installing
your application for All Users under Windows NT, Windows 2000,
or Windows XP, or only for the current user. Select No if you want it
to be installed for All Users by default.

Destination Folder Dialog


The Destination Folder dialog displays the target destination for your setup and can
provide functionality for changing that location. This dialog is optional and is not
selected by default.

Figure 29-6: The Destination Folder Dialog.

InstallShield Express Edition User Guide 594


Chapter 29: End-User Dialogs
Database Folder Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Destination Folder dialog. The
Destination Folder dialog has the following properties:

Table 29-7: Destination Folder Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Change Destination Select Yes to display the Change button, which allows your users to
define a new destination folder for your setup. Select No to hide
this button. Note that this button can also be displayed on the
Setup Type and Custom Setup dialogs.

Database Folder Dialog


The Database Folder dialog displays the destination location of any database files
your setup installs. For example, if you create a setup for networked users and you
want to install a common database for all users, you may want this database installed
to the network rather than installing it locally on every machine. You should use the
DATABASEDIR property in the General Information view to set the default
destination folder for database files.
This dialog is optional and is not selected by default.

Figure 29-7: The Database Folder Dialog.

InstallShield Express Edition User Guide 595


Chapter 29: End-User Dialogs
Setup Type Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Database Folder dialog. The
Database Folder dialog has two properties:

Table 29-8: Database Folder Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Change Destination You can indicate whether or not the dialog displays the Change
Destination button. Select Yes to display the Change button, which
allows your users to define a new database destination folder for
your setup. Select No to hide this button.

Setup Type Dialog


The Setup Type dialog displays the various setup configurations you defined in the
Setup Types view. Your users can then select which setup type they prefer, thereby
tailoring the setup to their needs. This dialog can also display the target destination for
your setup and provide functionality for changing that destination.
The Setup Type dialog is automatically included in your setup if you have more than
one setup type selected in the Setup Types view. If you have only one setup type
selected, this dialog will not be displayed.

Figure 29-8: The Setup Type Dialog.

InstallShield Express Edition User Guide 596


Chapter 29: End-User Dialogs
Custom Setup Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Setup Type dialog from the explorer.
The Setup Type dialog has the following properties:

Table 29-9: Setup Type Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.

Custom Setup Dialog


The Custom Setup dialog is displayed only when a user selects the Custom Setup
setup type. Therefore, in order to include this dialog in your setup, you must allow
custom setups in the Setup Types view. In this dialog, end users can choose which
features they want to install. This dialog can also display the target destination for
your setup and provide functionality for changing that destination.

Figure 29-9: The Custom Setup Dialog.

InstallShield Express Edition User Guide 597


Chapter 29: End-User Dialogs
Ready to Install Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Custom Setup dialog. The Custom
Setup dialog has the following properties:

Table 29-10: Custom Setup Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Change Destination Select Yes to display the Change button, which allows your users to
define a new destination folder for your setup. Select No to hide
this button. Note that this button can also be displayed on the
Destination Folder dialog.

Ready to Install Dialog


The Ready to Install dialog is the last dialog that occurs before file transfer takes
place. Therefore, it is the end user’s last chance to change installation options or
cancel before the installer begins modifying the system. This dialog can also display a
summary of the information communicated in earlier setup panels. Although this
dialog is optional, it is selected by default.

Figure 29-10: The Ready to Install Dialog.

InstallShield Express Edition User Guide 598


Chapter 29: End-User Dialogs
Setup Progress Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Ready to Install dialog. The Ready to
Install dialog has the following properties:

Table 29-11: Ready to Install Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Current Settings Select Yes if you want to provide your users with a summary of
their installation settings. Although they cannot edit this information
from the Ready to Install dialog, they can go back and change
settings if necessary. Select No to hide this information.

Setup Progress Dialog


The Setup Progress dialog allows you to display all the actions—such as file
transfer—taking place during your installation. This dialog is not required.

Figure 29-11: The Setup Progress Dialog.

InstallShield Express Edition User Guide 599


Chapter 29: End-User Dialogs
Setup Complete Success Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Setup Progress dialog. The Setup
Progress dialog has the following properties:

Table 29-12: Setup Progress Dialog Settings

Property Description
Banner Bitmap You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the Browse (...) button to navigate to this file. This
image must be 499 pixels wide by 58 pixels high.
Show Progress Bar The progress bar provides your users a visual indication of how
much of the total setup process has completed. Select Yes to have
the progress bar displayed, No to have it hidden.

Setup Complete Success Dialog


When your installation successfully executes, it displays the Setup Complete Success
dialog. This dialog informs your users of a successful installation and gives them the
opportunity to launch your application or your readme file. This dialog is required.

Figure 29-12: The Setup Complete Success Dialog.

InstallShield Express Edition User Guide 600


Chapter 29: End-User Dialogs
Setup Complete Success Dialog

Customizing the Dialog


You can customize this dialog by editing its properties. These properties appear to the
right of the Dialogs explorer when you select the Setup Complete Success dialog. The
Setup Complete Success dialog has the following properties:

Table 29-13: Setup Complete Success Dialog Settings

Property Description
Bitmap Image You can change the look of this dialog and provide branding for
your company by supplying a custom bitmap (.bmp) file for the
banner. To change the dialog’s banner, enter the path to your new
image or click the ellipsis (...) button to navigate to this file. This
image must be 499 pixels wide by 312 pixels high.
Use Update Service User If you enable automatic update notification in your installation and
Interface you want to add a Yes, check for program updates
(Recommended) after the setup completes check box to the Setup
Complete Success dialog, select Yes for this property. If an end
user selects this check box and then clicks the Finish button to end
the installation, the Update Service is launched. For more
information, see Notifying End Users about Upgrades Using the
Update Service.
If you select Yes for this property, the remaining properties for this
dialog are not available.
If you do not want the Yes, check for program updates check box
included on the Setup Complete Success dialog, select No for this
property.
Show Launch Program Select Yes if you want to give your users the opportunity to launch
your application once the installation exits. Select No to hide this
option. If you choose to display this option, you must select the
executable file that you want to launch from the Program File
property.
Program File Select the executable file you want to launch if the end user selects
the Launch program check box. Note that the Show Launch
Program property must be set to Yes for this program to launch.
Show Readme If you want to give your users the opportunity to launch a readme
file after the installation completes, select Yes. This enables a
check box in the Setup Complete Success dialog that, when
selected, causes the readme file you specify in the Readme file
property to launch. Select No to hide this option.
Command Line Enter any command-line parameters that you would like to pass to
Parameters the executable you specified in the Program File property.
Readme File Enter the path to the file you want to associate with the Show
Readme check box, or click the ellipsis (...) button to navigate to
this file.

InstallShield Express Edition User Guide 601


Chapter 29: End-User Dialogs
Setup Complete Success Dialog

InstallShield Express Edition User Guide 602


30
FREQUENTLY ASKED QUESTIONS

This section lists common questions (sorted by topic) and provides links to answers.
• Where can I find information about Windows Installer run-time errors?
• How do I specify the destination folder for my application?
• How can I be sure the target machine has the Windows Installer service?
• How do I get changes I make in the InstallShield interface to take effect when I
run my installation?
• How do I display a license agreement?
• How do I create shortcuts?
• How do I associate file types with my application?
• How do I launch an external application from my installation?
• How do I conditionally install my installation based on the operating system of the
target machine?
• How do I upgrade my applications?
• How does Windows Installer determine which files should be overwritten?
• How do I create a self-extracting executable file for my installation?
• How do I change the product version during a build?
• How do I create a Web-based installation?
• Why will my installation not fit on a single floppy disk?
• How can I reduce the size of my installation?
• How can I create my installation so that it installs files based on the target
operating system?
• What is the difference between extracting COM information and self-registration?

InstallShield Express Edition User Guide 603


Chapter 30: Frequently Asked Questions

• What do I need to do to upgrade to the Premier or Professional Edition of


InstallShield?
Answers to many other questions are available in the Knowledge Base.

604 InstallShield Express Edition User Guide


GLOSSARY

Term Definition
.bin file A binary file that is executable on UNIX platforms. Application files
usually have a .bin extension.
.bmp file A bitmap file of an image represented as an array of bits. In bitmap
graphics, an image is displayed on the screen as a collection of tiny
squares called pixels, which together form a pattern. Each pixel in the
image corresponds with one or more bits.
.cab file See cabinet file.
.command file A command file that is executable on Mac OS X platforms. Application
files usually have a .command extension.
.cub file A validation module that stores and provides access to custom actions
for internal consistency evaluators (ICEs). See also custom action and
internal consistency evaluator.
.exe file An executable binary file on Windows platforms. Application files usually
have an .exe file extension.
.gif file A graphics interchange format file supported on the Web. This type of
file is in a bit-mapped graphics file format used for displaying bitmap
images. These files use lossless compression, a method of
compression in which no data is lost. This type of file supports up to
256 colors; it also supports transparency, where the background color
can be set to transparent to let the color on the underlying page show
through. This type of file format is more suitable than the .jpg file
format for images with only a few distinct colors, such as line drawings.
.idt file An exported Windows Installer database table.

InstallShield Express Edition User Guide 605


Glossary

Term Definition
.ism file The working file that InstallShield uses to store project information.
When you build a release, InstallShield uses the .ism file to create an
.msi file for distribution.
.jar file A Java archive file that contains the classes, images, and sound files for
an installation, zipped up into a single file.
.jpg file Also known as JPEG, which is the abbreviation for Joint Photographic
Experts Group, the original name of the committee that wrote the
standard. This type of file is one of the image file formats supported on
the Web. The file uses lossy compression, a type of compression in
which color and grayscale continuous-tone images are compressed and
some data is lost to eliminate redundant or unnecessary information.
These images support 16 million colors and are best suited for
photographs and complex graphics.
.mif file A management information format file used to describe a hardware or
software component.
.msi file The Windows Installer installation package in its finished state. It
includes installation resource files and can have compressed within it all
of the application’s data files. The .msi file is the one that is distributed
to the end users and will interact with the Windows Installer service to
install your application on their machines.
.msm file The database file of a merge module. This type of file contains all of the
installation properties and installation logic for the module. See also
merge module.
.msp file A Windows Installer patch file. This type of file consists of a summary
information stream, transform substorages, and cabinet files. An .msp
file contains at least one database transform that adds patching
information to the database of its target installation package. The
installer uses this patching information to apply the patch files that are
stored in the cabinet files.
.mst file A transform package. This type of file is a simplified Windows Installer
database that contains the differences between two .msi databases.
Transforms enable administrators to apply modified settings to a
database when they are deploying an installation package. See also
transform.
.NET An operating system platform that Microsoft created for connecting
information, people, systems, and devices. The .NET environment
enables developers to build, create, and deploy their applications and
Web services using whatever languages they prefer via the common
language run time.
.NET Compact A scaled-down version of the .NET Framework designed to run on
Framework resource-constrained devices, such as mobile devices. The .NET
Compact Framework is currently available only for Pocket PC and
Windows CE .NET devices, with support for more devices forthcoming.

606 InstallShield Express Edition User Guide


Glossary

Term Definition
.NET Framework A programming infrastructure that Microsoft created for building,
deploying, and running applications and services that use .NET
technologies such as Web services. The .NET Framework consists of
three main parts: the common language run time, a hierarchical set of
unified class libraries, and a componentized version of Active Server
Pages called ASP.NET.
.ocx file An object linking and embedding (OLE) custom control file. This type of
file is a cross-platform COM file that is called by an application to
perform a function, such as the ability to resize windows.
.p12 file A certificate file that conforms to public-key cryptography standard
(PKCS) number 12, which specifies a portable format for securely
storing or transporting a user’s private keys, certificates, miscellaneous
secrets, and other information.
.pcp file A Windows Installer patch creation properties file.
.prq file A prerequisite file that contains information about a base application or
component that must be installed on the target machine before the main
application can be installed. Including setup prerequisites in installation
projects enables developers to chain multiple installer files together into
a single executable file.
.reg file See registry file.
.scm file A ScreenCam movie file.
.wmf file A Windows metafile format file. This type of graphics file is used to
exchange graphics information between Microsoft Windows-based
applications.
absolute path An absolute path includes all of the information necessary to locate a
file by starting at the root directory of a specified drive. For example,
C:\Program Files\IS11.5 is the absolute path to the
InstallShield folder when it is installed on drive C.
accessibility The capacity or tendency to be available to all people, including those
with disabilities.
acquisition phase The phase of the installation process during which the installer queries
the database for instructions. The acquisition phase is followed by the
execution phase.
action A command that performs an operation at a particular point during the
execution of an installation or uninstallation wizard. Developers of
installation packages can use built-in standard actions and create their
own custom actions. Actions may display progress to the end user or
allow the end user to cancel the operation.
active directory A structure supported by Microsoft Windows 2000 that enables
administrators to track and locate any object on a network. Active
Directory is the directory service used in Windows 2000 Server for
distributed computing environments.

InstallShield Express Edition User Guide 607


Glossary

Term Definition
active template A set of classes for writing COM controls, resulting in smaller binaries
library (ATL) than, for example, MFC.
ActiveX A set of object-oriented programming technologies and tools. ActiveX
enables developers to write applications so that other applications and
the operating system can call them. ActiveX technology makes it
possible to create interactive Web pages that look and behave like
applications, rather than static pages.
administration The act or process of managing something.
administration The list of actions that are executed when a user launches your
sequence installation with the /a command-line option. This is useful for network
administrators who want to provide a common installation point on the
network and prepare different installation criteria for multiple users.
Each Administration sequence consists of a User Interface sequence
and an Execute sequence.
administrative Copies and uncompresses your data files to a directory specified by the
installation user, but does not create shortcuts, register COM servers, or create an
uninstallation log.
administrative The highest level of permission that can be granted to a computer user.
privileges Levels of permissions are necessary in networked environments to
ensure system security and prevent damage to computer hardware and
software. A user with administrative privileges can perform tasks such
as install and uninstall software and change a computer’s
configurations. Administrative privileges usually pertain to Windows NT
4.0, 2000, or XP machines as opposed to Windows 95, 98, or ME
machines.
advertised shortcut A shortcut to a product or feature that is not installed until the first time
that the end user launches the shortcut. At run time of an installation, if
the end user selects the “This feature will be installed when required”
option for the product or the feature containing the shortcut, the
shortcut is created but the component’s files are not installed until the
end user launches the shortcut. The first time the shortcut is launched,
the Windows Installer service installs the component’s files and other
data and then the shortcut launches the target file. Every time the
shortcut is used from then on, it behaves like a normal shortcut.
advertisement A type of “just-in-time” installation in which features are not installed
immediately during the installation process. Instead, they are installed
on the fly when they are requested. When you enable feature
advertisement, the feature is advertised, regardless of the mode in
which the installation is running, as long as no other factors prevent it
from being advertised. If you launch MsiExec.exe from the command
line with the /jm option, the feature is advertised to the end user’s
machine. If you use the /ju function, the feature is advertised to the
current end user. In the Custom Setup dialog, the end user can control
which features are immediately installed and which are available later.
The two types of advertising are assigning and publishing. See also
assigning; publishing.

608 InstallShield Express Edition User Guide


Glossary

Term Definition
advertisement The advertisement sequence contains the list of actions that are
sequence executed when a user launches your installation with the /j command-
line option. Validation rule ICE78 requires the advertisement user
interface sequence to be empty.
advertising The process of presenting to end users features that are not installed
immediately during the installation process. Instead, these features are
installed on the fly when they are requested. See also advertisement.
AlwaysInstallElevated A user policy that can be configured for Windows platforms under the
following registry keys: HKEY_LOCAL_MACHINE\Software\Polices\
Microsoft\Windows\Installer and
HKEY_CURRENT_USER\Software\Polices\
Microsoft\Windows\Installer. To install a package with elevated (system)
privileges, set the AlwaysInstallElevated value under both of
these registry keys to 1.
American Standard The code that represents letters, numbers, punctuation marks, and
Code for Information other characters such as numbers, with each character assigned a
Interchange (ASCII) value between 0 to 127. This code enables different types of
computers and computer applications to exchange data.
animation Multiple graphic images that are alternately changed and displayed at a
specified number of frames per second to produce the illusion of
movement.
API See application programming interface.
app paths The registry key that Windows uses to find your application and its
.dll files if their locations are not already in the system’s path. App
paths entries can be set through the component’s advanced settings.
application A set of routines that an application uses to communicate with the
programming computer’s operating system and that the operating system uses to
interface (API) make services available to the application.
ASCII See American Standard Code for Information Interchange.
assigning A type of advertisement. If an administrator assigns an application to a
machine, the installation program automatically runs the next time that
the machine starts or restarts. If the administrator assigns an
application to a user, the installation program places a shortcut on the
Start menu of the user’s machine. When the user selects the shortcut or
launches a document associated with the assigned application, the
application is installed.
asynchronous A custom action that independently continues with the execution of its
execution thread while the installer executes the main installation.
ATL See active template library.

InstallShield Express Edition User Guide 609


Glossary

Term Definition
autonomic computing A self-managed computing model named after, and patterned on, the
human body’s autonomic nervous system. An autonomic computing
system would control the functioning of computer applications and
systems without input from users, similar to the way that the human
body’s autonomic nervous system regulates and protects the body.
auto-repair The automatic restoring of an application to its original state by the
installer. A partial or complete application reinstallation might be
required if any files associated with any feature are missing or
corrupted.
basic UI One level of the installer’s internal user interface (UI) capabilities.
Typically, installation packages that are built with the basic UI level
display built-in modeless dialog that show progress messages and disc
prompt messages. They do not display any authored dialogs.
billboards Images, such as marketing messages, that can be displayed during
installation.
Binary table A table that holds the binary data for items such as bitmaps and icons.
It also contains data for custom actions.
bitmap A representation of an image presented as an array of bits. In bitmap
graphics, an image is displayed on the screen as a collection of tiny
squares called pixels, which together form a pattern. Each pixel in the
image corresponds with one or more bits.
cabinet file A single file that holds a number of compressed files. During installation
of an application, the compressed files are decompressed and copied
to your computer. Cabinet files are efficient because they save space
and time when distributing software. A cabinet file usually has the file
extension .cab. Missing or corrupt files may prevent installations from
completing. It may be necessary to replace missing or corrupt
operating system files or InstallShield files by extracting them from a
cabinet file.
cache A cache (pronounced cash) is a temporary storage area for frequently
accessed data. The purpose of caching is to store frequently used
information in a location that is easy to access, resulting in a faster-
running computer. There are two types of cache: memory cache and
disc cache. Memory cache stores the data and the address of where
the data is stored in main memory. Memory caching is useful because
most applications access the same data repeatedly. Disc caching uses
the main memory. It is used to hold information that has recently been
requested from the hard disc or has previously been written to the hard
disc. In general, installations usually use the disc cache. When data is
read from or written to main memory, a copy is also saved in the
memory cache. When data is called for, the computer first checks the
memory cache, then the disc cache, and finally main memory.
caption A text heading in a window. The windows caption is what users click and
drag to position the active window on the screen.
CBT See computer-based training.

610 InstallShield Express Edition User Guide


Glossary

Term Definition
CD See compact disc.
CD browser A graphical user interface that is launched when a CD is inserted in the
drive. It is used to launch one or more applications on the CD.
CD-ROM See compact disc read–only memory.
checksum A calculated figure that is applied to data to test for possible corruption.
The checksum is derived by sequentially combining bytes of data in the
file in a systematic manner. After transmission or storage compression,
the checksum calculation is performed again and the result is
compared with the previous outcome. If the numbers do not match, this
indicates that there is likely an error in the stored or transmitted data.
column A vertical set of information.
COM See component object model.
COM file Binary software components containing reusable code that can be
shared across products. A popular example of a COM file is a Microsoft
Excel spreadsheet when it is embedded in a Word document. In this
example, Excel acts as the COM server and Word acts as the client.
COM server An executable file that exposes objects to other applications according
to the Component Object Model (COM) specification. The types of
objects exposed by a COM server may include ActiveX controls, ActiveX
documents, Automation objects, or MTS components.
COM+ file An extended COM file. With regard to installations, COM+ adds greater
support for building distributed components. For example, you can
create appID keys and values in the registry and thereby configure
various COM components to run remotely or with special privileges.
command (1) An instruction given to a computer.
(2) An instruction that the operating system executes from the
command line or a Command Prompt window to perform a specific
task. If errors occur during installation, you may, for example, need to
execute commands to run utilities, search your computer’s directories,
or delete files.
command line The area of the Command Prompt window in which commands are
typed. A command line is used to pass commands to executable files
(for example,.exe, .bin).
command prompt The Command Prompt window is the interface to MS-DOS. To access
window the Command Prompt window, click Run on the Start menu, and then
type command.com in Windows 95, 98, and ME or cmd.exe in
Windows NT, 2000, or XP. If errors occur during installation, you may
need to open the Command Prompt window to enter commands to run
utilities or search your computer’s directories, for example.
command-line option A command-line option is an argument to a command that changes how
the command is executed. See also command.

InstallShield Express Edition User Guide 611


Glossary

Term Definition
commit execution Execution of a Windows Installer action upon completion of the
InstallFinalize action, which occurs when the installation has completed
transferring files, registering COM servers, and creating shortcuts and
registry entries.
committing databases Accumulated changes made in a Windows Installer database. The
changes are not reflected in the actual database until the database is
committed, that is, until MsiDatabaseCommit is called.
compact disc (CD) A disc used for electronically recording, storing, and playing back audio,
video, and other information in digital form.
compact disc read- A type of compact disc that is only readable.
only memory (CD-
ROM)
component Elements of the application from the installation developer’s
perspective. Components are not visible to the end user. When the end
user selects a feature for installation, the installer determines which
components are associated with that feature, and then those
components are installed. Components of an application would contain,
for example, the executable binary files, data files, shortcuts, help
system files, and registry entries.
component object A Microsoft-developed software architecture that enables the creation of
model (COM) component-based applications. Component-based applications allow
other components and other applications to use their features, adding
functionality to these programs.
compress Take one or more files and create a new file whose size is less than the
total size of the original file(s) and from which the original file(s) can be
re-created.
computer-based Any instruction delivered by computer. CBTs often use graphics, sound,
training (CBT) animation, and interaction to train people.
condition A statement of logic that compares the value of a property to a fixed
value or determines whether the property is defined. The condition must
evaluate to true if the object, feature, component, action, or other item
associated with the condition is to be installed or performed.
conditional installation Installation of certain items only if certain conditions are met. For
example, if an operating system condition is associated with the
installation of an application, the application is installed on a target
machine only if that target machine is running the specified operating
system.
consume What an installation does to a redistributable package such as a merge
module or InstallShield object.
context menu A context menu, also known as a right-click menu or a pop-up menu,
opens when a user right-clicks an item on the desktop, in Windows
Explorer, or in an application.

612 InstallShield Express Edition User Guide


Glossary

Term Definition
converted project (1) A file that has been transformed from one type of file to another.
(2) The Open MSI/MSM Wizard in InstallShield is a tool that converts
.msi files and merge module (.msm) files to InstallShield installation
projects (.ism files) that you can modify and build in InstallShield.
costing File costing is the process that InstallShield uses to determine the total
disc space that a current installation requires.
custom action An action that is created by an installation author as opposed to a
standard action that is built into a Windows installer. The action
encapsulates a function performed during the installation, uninstallation,
or maintenance of an application.
database A discrete collection of data in a database management system
(DBMS).
database function A function that operates on a database.
database handle A quantity that specifies a database when a database function is called.
database A set of applications that control the organization, storage, and retrieval
management system of data for many users.
(DBMS)
DBMS See database management system.
DCOM See distributed component object model.
DCOM file Software components that are able to communicate across a network.
DCOM, previously called network OLE, allows the components for a
single application to be distributed across multiple networked
computers.
decompress The reverse process of compression, which minimizes the size of a file
by removing its space characters. This process returns the file to its
original state.
deferred execution Execution of an installer action upon execution of the installation script.
dependency A software object that is required by another software object.
dialog Windows of information that display to the end user during installation
and uninstallation. They enable the end user to interact with the
operation by reading or specifying information. See also wizard.
dialog box A window that displays within an application interface that enables users
to enter information or specify commands.
differential release A release that contains only those files that were absent from one or
more of a specified set of existing releases. A differential release is
used to update the versions of your product that were installed by those
existing releases.

InstallShield Express Edition User Guide 613


Glossary

Term Definition
digital signing To assure end users that the code within your application has not been
tampered with or altered since publication, you can digitally sign your
application. When you do so, end users are presented with a digital
certificate when they download your product.
distributed An extension of the component object model (COM), a Microsoft-
component object developed software architecture that enables the creation of
model (DCOM) component-based applications.
distribution media A CD-ROM or other format of media deployed to users.
DLL See dynamic link library.
drag The act of selecting an item and moving it to another location.
dynamic link library A shared, code-base file containing functions that can be called from
(DLL) other applications.
edit field object An interactive object that lets the user enter text into a field.
elevated privileges Privileges that are higher than standard privileges, and are usually
temporarily. Privileges are permissions to perform certain actions on a
system.
end user The person who installs or uninstalls your product.
end user machine The machine onto which an end user installs or from which uninstalls
your product.
engine A program that performs essential functions and coordinates the overall
operation of other programs. Engines work behind the scenes.
InstallShield uses the InstallScript engine (ISScript.msi) and the
Windows Installer engine to drive installations. InstallShield also has its
own proprietary engine called ikernel.
environment variable A variable that can be accessed by multiple programs on the target
system.
EXE media type All of the installation and uninstallation files that are contained in a
single, self-extracting file.
executable (.bin) file A file that contains a program that can run on UNIX platforms.
executable (.exe) file A file that contains a program that can run on Windows platforms.
execution phase The phase during which an installer’s actions are executed.
execution script Installer actions for a Windows Installer installation. The execution script
is generated during the acquisition phase of installation and executed
during the execution phase.

614 InstallShield Express Edition User Guide


Glossary

Term Definition
expand (1) To restore a compressed file to its original size. A compressed file is
a single file that contains one or more other files, for example, a cabinet
file. Compressed files are reduced in size, thus, saving space.
(2) A DOS command used to restore compressed files. During an
installation, missing or corrupted operating system files or InstallShield
files may need to be expanded from a compressed file to enable the
installation to complete.
extensible markup (1) A programming language that is essentially a simplified version of
language (XML) standard generalized markup language (SGML). It enables developers to
create customized tags to organize and deliver content efficiently.
(2) The format of the output of MultiPlatform projects.
(3) Windows-based projects created in InstallShield can be converted to
XML so that they can be saved in source code control software.
extensible stylesheet A language used to describe how XML information should be presented.
language (XSL)
external user The user interface developed by the author of an installation package. It
interface does not use the internal user interface capabilities that are available
with the installer.
extract To remove, or decompress, a file from a compressed file, such as a
cabinet file. A compressed file is a single file that contains one or more
other files. Compressed files are reduced in size, thus, saving space. To
use a file that has been compressed, it must first be “pulled out” of the
compressed file. A command-line utility called Extract.exe can be
used to extract files. During installation, missing or corrupted operating
system files or InstallShield files may need to be extracted from a
compressed file to enable the installation to complete.
false positive A false positive is something that gives the appearance of being true by
a test, but in reality is not. Most cases of false positives are found in
anti-virus software. For example, anti-virus software may claim that it
has found a virus in an InstallShield file, but in fact, this is not the case;
their virus definitions need to be updated.
feature Logical representations of the functionality of the product. For example,
an installation could consist of a database, the main application files,
and the help system files. Database, Application, and Help System
would all be features of the product. Although features are visible to the
end user, the actual files that comprise the features are within the
components of the features. See also component.
file An element of data storage in a file system.
file extension The portion of a file name, following the final point, that indicates the
kind of data stored in the file.
InstallShield scripting See IDriver.exe.
run time
formatted When data has been divided or arranged for storage or display.

InstallShield Express Edition User Guide 615


Glossary

Term Definition
full update An installation that installs an updated version of your product over an
earlier version.
full user interface (UI) One level of the installer’s internal user interface (UI) capabilities.
Installation packages that are built with the full UI level can display both
the modal and modeless dialogs that have been included in the internal
UI.
gallery A collection of available resources that can be shared.
globally unique A long string of numbers created by InstallShield to uniquely identify
identifier (GUID) your product from others. Enter string GUIDs throughout InstallShield in
the following format: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.
GUI Graphical user interface.
GUID See globally unique identifier.
hard drive The primary storage device on a computer. A hard drive contains disks
on which data is read from and written to magnetically. The term “hard”
differentiates the aluminum or glass disks used in a hard drive from
floppy disks, which are made of plastic.
hotfix A quick, important fix for a bug whose deployment cannot wait until the
next release of the application. Most hotfixes are in the form of small
patches and can be downloaded from the software vendor’s Web site.
HTML See hypertext markup language.
hypertext markup A language used to create Web pages with hyperlinks and markup for
language (HTML) text formatting.
IAT See import address table.
ICE See Internal Consistency Evaluator.
IDE See interactive development environment and integrated development
environment.
IDriver.exe The InstallShield scripting run-time engine. It is required on a computer
to run some installations created with InstallShield. IDriver.exe is
located in one or both of the following common file locations by default:
C:\Program Files\Common
Files\InstallShield\Driver\7\Intel 32 or C:\Program
Files\Common Files\InstallShield\Driver\8\Intel
32. Some installation error messages may reference IDriver.exe.
IE See Internet Explorer.
ikernel.exe The InstallShield engine. See also engine.
immediate execution Installation phase terminology that generally refers to custom actions
that are immediately executed when the installer builds the script in an
InstallScript project.
import address table The table used to import .dll files or executable files.
(IAT)

616 InstallShield Express Edition User Guide


Glossary

Term Definition
indirect build A full build that creates references to the payload files only. This means
that at installation time, the payload must be in the same place where it
was at build time. For example, if your payload is on a network server,
then the installation looks for the payload on that same network server.
install level A feature’s install level partly determines whether it is selected by
default for installation. That value is compared to the Windows Installer
property INSTALLLEVEL to determine which features are selected for
installation: if a feature’s install level property is less than or equal to the
value of the INSTALLLEVEL, the feature will be installed.
installation The transfer of a program and its constituent files, features, and
components from source media to a target system. See also installation
process.
installation package One or more files that are used together to install or uninstall an
application.
installation process The entire process of installing the contents of a package or application
onto a target computer. The installation process consists of the
acquisition phase, the execution phase, and, if the installation attempt is
not successful, rollback.
installation project The entire collection of source files, dialogs, actions, and conditions
that make up your installation and uninstallation while it is under
construction.
installation sequence The sequence in which an applications files are installed, acitons are
executed, and dialogs display at run time. The installation sequence
runs by default when the installation is launched, for example, by
double-clicking the installation launcher.
installation type A predefined group of features from which the end user can select to
install or uninstall.
installation-on- A Windows Installer capability that makes it possible to offer
demand functionality to users and applications in the absence of the files
themselves.
INSTALLDIR A system variable that specifies the root destination directory for an
installation.
installer An installation and configuration service on a computer.
installer database A database that contains all the necessary information for the
installation of an application. It consists of many interrelated tables that
together comprise a relational database of information necessary to
install a group of applications.
installer function The application programming interface called by an application to
obtain installer services.
installer package A third-party tool that lets users create installation packages.
authoring tool
installer properties Variables that are used during the installation.

InstallShield Express Edition User Guide 617


Glossary

Term Definition
INSTALLLEVEL Initial level at which features are selected “ON” for installation by
default.
integrated A software program’s interface. Also referred to as an interactive
development development environment.
environment (IDE)
interactive A software program’s interface. Also referred to as an integrated
development development environment.
environment (IDE)
interface The point at which independent systems communicate with each other.
The user interface of an application often consists of toolbars, menus,
buttons, windows, and other items.
Internal Consistency Tests that can be run on a Windows Installer database (using Orca,
Evaluator (ICE) Msival2, or the Premier or Professional editions of InstallShield) to warn
about potential (or actual) authoring errors.
internal source files Files that are included in the installation archive file.
internal user interface Built-in capabilities of an installer that can be used to create a graphical
user interface that is displayed to the end user during installation.
internet Explorer (IE) The browser developed by Microsoft and distributed with their Windows
operating systems.
ISM See .ism file.
isolated application An application that has been modified so that it always loads the
versions of components, such as .dll files, with which it was originally
developed and tested.
ISScript.msi InstallScript engine installer. ISScript.msi installs the required files
to run an installation. The InstallScript engine is also known as the
InstallShield Scripting Run Time. InstallScript is a programming
language used to create installations.
JAR Acronym for Java archive file. See also .jar file.
Java Archive See .jar file.
Java Native Interface A Java specification that enables Java code to call native code in a
(JNI) shared library. Native code in the JNI library can also invoke Java code
through JNI.
Java Virtual Machine A simulated computer that interprets Java programs compiled into
(JVM) bytecode. The Java programs are usually stored in .class files.
JNI See Java Native Interface.
JPEG See .jpg file.
JVM See Java Virtual Machine.
KB See knowledge base.

618 InstallShield Express Edition User Guide


Glossary

Term Definition
key file A unique file for each component that Windows Installer uses to detect
the component’s presence. In order to create advanced component
settings or shortcuts, a key file must be specified.
key path A unique registry value for each component that Windows Installer uses
to detect the component’s presence. A component can have either a
key file or a key path, but not both.
knowledge base (KB) A collection of technical information, instructions, and articles that are
beyond the scope of the software’s help information. The Macrovision
Knowledge Base features tips, tricks, and techniques, answers to
Frequently Asked Questions, and articles on both technical and design
issues. Macrovision Corporation posts periodic updates to the
Knowledge Base Articles on its Web site (http://www.macrovision.com).
left-click The act of selecting the left button on a mouse.
library A collection of similar objects that are stored for occasional use, such
as programs in source code or object code form, data files, scripts,
and templates. A program library is a collection of (usually)
precompiled, reusable programming routines that a programmer can
“call” when writing code.
load-ordering group One service may require another service to already be running before it
starts. For this reason, services need to be grouped and set to load in a
specific order. Service load-ordering groups are listed under
HKEY_LOCAL_MACHINE\System\CurrentControl
Set\Control\ServiceGroupOrder. The service’s Start Type property
determines when it loads within its group.
localization The process of adapting a product or service to a particular language
and culture.
log database (LogDB) A database that is on the target machine and contains a log of
everything that was configured to be logged during installation and
uninstallation.
log file File containing a record of the activity that occurred during a software
process (such as an installation, a build, a download) on a computer
workstation or Web server. For example, Web servers maintain log files
listing every request made to the server, summarizing files that were
copied; bytes that were transferred; or which pages, images, and files
are requested. A build log file lists all features, setup types, merge
modules, dynamic links, and files included in the build.
LogDB See log database.
logging The process of recording the activity of a software process (such as an
installation, a build, or a download) in a log file.
macro An instruction that represents a sequence of instructions.

InstallShield Express Edition User Guide 619


Glossary

Term Definition
maintenance mode When a user runs an installation program a second (or later) time for a
product already installed on their system, the installation runs in
maintenance mode. Maintenance mode enables the user to modify
feature selections from the first-time installation, repair the features
already installed, or remove the entire program.
major upgrade A comprehensive update of the product that warrants a change in the
ProductCode property. A new product code is required if you want to
have two versions of a product installed on the same machine.
managed application An application is called a “managed application” if elevated (system)
privileges are used to install the application.
MD See media descriptor.
media descriptor The semantics of an installable unit (IU). It provides a mapping of the
(MD) elements in the deployment descriptor (DD) to some physical source for
the data, which is usually files.
merge module (MM) A package containing all of the logic and files needed to install distinct
pieces of functionality such as run-time .dll files and virtual machines.
Merge modules are built once and can be added to any installation
project.
metafile An image saved using the standard Windows metafile format. A metafile
is a set of drawing instructions. Windows metafiles have a .wmf file
extension.
MFC See Microsoft Foundation Classes.
Microsoft Data Engine A fully SQL Server–compatible data engine for building desktop and
(MSDE) shared solutions. It provides an easy migration path to SQL Server 7.0.
Solutions built with MSDE can be migrated to full SQL Server 7.0
without requiring a change in a single line of code.
Microsoft Developer A set of online and offline services designed to help developers write
Network (MSDN) applications using Microsoft products and technologies.
Microsoft disc The first operating system created by Microsoft. MS-DOS is the
operating system underlying operating system of Windows 95, 98, and ME. Windows NT,
(MS-DOS) 2000, and XP operating systems support existing DOS applications.
Microsoft Foundation A huge set of C++ classes that developers can use to write Win32
Classes (MFC) applications. To run an application that uses MFC, the MFC engine has
to be installed on a target system.
MIDI See musical instrument digital interface.

620 InstallShield Express Edition User Guide


Glossary

Term Definition
migrating The process of moving from the use of one operating environment to
another that is, in most cases, thought to be a better one. For example,
moving from Windows NT Server to Windows 2000 Server would be
considered a migration because it involves ensuring that new features
are exploited and that old settings do not require changing; it also
involves taking steps to ensure that current applications continue to
work in the new environment. Migration could also mean moving from
Windows NT to a UNIX-based operating system (or the reverse). You can
also migrate data from one kind of database to another kind of
database. This usually requires converting the data into some common
format that can be output from the old database and input into the new
database. Migration is also used to refer simply to the process of
moving data from one storage device to another.
MIME See multipurpose internet mail extensions.
minor upgrade An update to a product in which the changes made to the installation do
not warrant a change in the Product Code.
MM See merge module.
modal Requires the user to interact with it before the application can continue,
restricting the user’s activities with other windows or dialog boxes. See
also modeless.
modeless Enables the user to interact with other windows and dialog boxes. See
also modal.
MSDE See Microsoft Data Engine.
MSDE named A named instance of an installation of the Microsoft data engine (MSDE).
instance See also named instance.
MSDE object template A base for the MSDE merge module. When you add the MSDE merge
module to a Windows Installer project or an InstallScript project, the
InstallShield application starts with a base file (or stub) for this merge
module. You need to configure this merge module, and then the
application can apply your settings to the base file.
MSDN See Microsoft Developer Network.
MS-DOS See Microsoft disc operating system.
MS-DOS prompt The Microsoft Disc-Operating System (MS-DOS) prompt is the visual
indicator in the Command Prompt window signaling that MS-DOS is
ready to accept a new command. The default MS-DOS prompt is C:>,
followed by a blinking cursor.
MSI See .msi file.
MSM See .msm file.
MSP See .msp file.
MST See .mst file.

InstallShield Express Edition User Guide 621


Glossary

Term Definition
multimedia A collection of various media such as sound, video, graphics, and
animation used together to convey a message.
multipurpose Internet The standard used by Web servers to identify the files that they are
mail extensions sending to Web clients. The MIME standard is a way of specifying both
(MIME) the type of file being sent and the method that should be used to turn it
back into its original form.
musical instrument A protocol designed for recording and playing back music on digital
digital interface (MIDI) synthesizers. Unlike .wav files, which are digital recordings of actual
sound (voice or music), MIDI files simply define the instruments and
notes that are to be played, and how they should be played. A
synthesizer (generally part of a MIDI-capable sound board) on the end-
user’s system reads the MIDI instructions and plays the music. Since
MIDI files contain only instructions and not the actual music, they are
many times smaller than digital audio files of the same duration. MIDI
files also use less processor power to play.
named instance An instance is a complete and independent installation of SQL Server on
a given server. One default instance and any number (up to 16) of
named instances can be installed on a single server. Apart from the
management tools and client connectivity components that are shared
between instances, each instance is effectively standalone. Each
instance has its own security, can be started and stopped
independently, and can even be service packed independently of other
instances on the same server.
nested installation A type of custom action that installs or removes another installation
package (sometimes called the child product) from within a running
installation (called the parent product).
network A network is two or more computers connected together to share
hardware, software, and information. During installation, it may be
necessary to move installation files that are on a network to your
computer’s hard drive to install the software properly.
NT service An application that is installed on Windows NT to run as a service,
meaning that once it is installed, execution is automatic and transparent
to any user, and a user does not have to log in for the service to start.
NT manages services that are defined and described in the registry.
object A package containing all of the logic and files needed to install distinct
pieces of functionality.
One Really Cool An external tool for editing Windows Installer files.
Application (ORCA)
One-Click Install With a One-Click Install installation, the end user can download an
application with minimal effort and can begin using the application
immediately. The installation is automatically downloaded,
uncompressed, and then executed automatically, with minimal user
input. End users are not asked to specify a download location, and they
are not required to manually launch the installation.

622 InstallShield Express Edition User Guide


Glossary

Term Definition
operating system (OS) The software that controls the operation of a computer and directs the
processing of programs by assigning storage space in memory and
controlling input and output functions.
ORCA See One Really Cool Application.
OS See operating system.
package All of the files needed to run an installation, including the installation
database file, your application’s files (separate from the installation
database file or compressed into it), and an executable file (which may
have all of the above files compressed inside it).
package code The globally unique identifier for an installation package. See also
globally unique identifier (GUID).
panel A window within a wizard that contains one or more related settings that
an end user can configure. See also wizard.
parent/child See nested installation.
installation
patch A special type of installation package that contains just the bits and
portions of the application that is necessary to either update the
application’s files and installation to a specific version or to fix a bug in
an earlier version.
patch file A patch package used for patching. A patch package (.msp) file
contains the transforms and instructions necessary for upgrading one
or more installed versions of a product. Windows Installer uses a patch
package to patch local or administrative installations. A patch package
does not include a database like a regular installation package. Instead
it contains at minimum one database transform that adds patching
information to the database of its target installation package. The
installer uses this information to apply the patch files that are stored in
the cabinet file stream of the patch package.
patching The method of updating an installation that replaces only the bits being
changed rather than the entire application. This means that end users
can download a patch for a product that is much smaller than the entire
product.
path In a computer operating system, a path is the route through a file
system to a particular file. A path name is the specification of that path.
Each operating system has its own format for specifying a path name.
The DOS, Windows, and OS/2 operating systems use the following
format:
driveletter:directorynamesubdirectorynamefilename
.suffix. UNIX-based systems use the following format: /
directory/subdirectory/filename.

InstallShield Express Edition User Guide 623


Glossary

Term Definition
path variable A variable that represents a location that can be defined once in a
central location so that it is not necessary to change every source file’s
path each time that the project is moved or the folder structure is
changed. You can instead use path variables to define commonly used
paths once, and they are used during the development of your
installation project. These paths do not apply to the target machines
where the application is being installed. Rather, they are used to link to
source files that need to be included in your installation project. When
the project is built, those links are evaluated and the files they point to
are built into the installation package.
PKCS See public-key cryptography standards.
platform The operating system for which the installation program is intended. An
installation technology may be limited to creating installations for a
specific platform(s).
preview mode Mode for viewing the design of the user interface, or the current
appearance of dialog and billboards. Preview mode is a term used in
Windows Installer.
product The actual application to be installed or uninstalled.
product code A string that uniquely identifies a product.
progress bar The visual indication of the progress of an executable file.
property A value that has been placed on an object within an installation project
that is used during installation or uninstallation by the installer or
uninstaller.
public property A global variable whose value is set by the end user or system
administrator. A public property can be set or changed during
installation through interaction with the user interface as well as by
setting the property on the command line, by applying a transform, or
by using a standard or custom action. Unlike private property values,
the values of public properties can be changed. Public property names
cannot contain lowercase letters.
public-key Developed by RSA Security, Inc., these specifications standardize
cryptography aspects of public-key cryptography that are not covered by existing
standards (PKCS) standards bodies.
publishing A type of advertising (“just-in-time” installation) in which no user-interface
elements are created for the component during installation, but the
component can still be installed through Add and Remove Programs of
the Control Panel or when an installed component requests the
published component from the installer.
qualified component A method of single-level indirection that is similar to a pointer. Qualified
components are primarily used to group components with parallel
functionality into categories.

624 InstallShield Express Edition User Guide


Glossary

Term Definition
QuickPatch A special type of patch package that contains just the bits and portions
of the database necessary to update your application’s files and
installation to a specific version. You can create a QuickPatch in
InstallShield by using the QuickPatch type of project.
readme file A text file that is included with the distribution of an application that
contains important information. This information often pertains to the
installation, uninstallation, or functionality that may not have been
included in other product documentation.
red green blue (RGB) The three colors of light that can be mixed to produce any other color.
Colored images are often stored as a sequence of RGB triplets or as
separate red, green, and blue overlays, though these are not the only
possible representations. These three colors correspond to the three
“guns” in a color cathode ray tube (CRT) and to the color receptors in
the human eye.
redistributable A merge module, object, or other file that may be legally distributed with
an installation or application.
reduced user The reduced UI level displays authored modeless dialogs, built-in modal
interface (UI) error messages, and disc-prompt messages during installation. This UI
level does not display any authored modal dialogs. This UI level uses the
installer’s internal user interface capabilities. See also modal,
modeless, and internal user interface.
reference count A tally that is incremented each time a shared file is installed. It is
maintained under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows\CurrentVersion\SharedDLLs.
refresh build This type of build only recompiles custom code. It can also perform
single file replacement, meaning it can only rebuild and add or modify a
single changed file without rebuilding the entire installation. This type of
build is available for InstallScript projects only.
Regedt32.exe, The two versions of the Windows Registry Editor. The Registry Editor
Regedit.exe enables you to edit the entries in the registry. Regedt32 provides more
functionality for editing the registry. If errors occur during installation,
you may need to edit the registry to complete installation.
Regedt32.exe and Regedit.exe have been merged in Windows
XP computers, thus these two applications perform the same
functionality in the new operating systems.
registry A central database used by the Windows operating system to track the
personal settings and the software and hardware installed on a
computer. During installation, installation choices are written to the
registry.
registry file A text file of a predefined format that contains keys and values that can
be merged into a registry.
reinstallation When a product has been installed on a machine and its installation is
run again, the installation reinstalls the product by overwriting its
existing files, shortcuts, and registry entries.

InstallShield Express Edition User Guide 625


Glossary

Term Definition
relative path A path that includes all of the information necessary to locate a file by
starting at the current folder on the current drive, for example,
IS11.5\Support. That folder can be located along that relative path
only if it exists in the current directory.
release build A full rebuild fit for releasing.
release notes A file that is included with the distribution of an application. This file
contains important information about the installation and uninstallation
of the application. It can also contain information that may not have
been included in other product documentation.
remote procedure call A small routine placed in a program that is used to request a service on
(RPC) stub another computer. RPC is a protocol, or agreed-upon format for
transmitting data, that allows a program to request a service from a
program located in another computer. The stub accepts the request
from the program and forwards it to the remote procedure. When the
procedure is complete, the stub receives the result and passes it back
to the program that made the request.
repair mode In repair mode, the installation checks for any type of corruption, such
as missing or damaged files, incorrect registry entries, and self-
registering files. If the installation detects any corruption, it attempts to
repair the problem. See also maintenance mode.
resiliency The ability for the application to reinstall components as necessary. If a
component is accidentally deleted or corrupted, Windows Installer
technology enables the application to essentially repair itself.
restricted public A global variable for which the installation author can limit the ability to
property set or change it. Usually, only system administrators can manipulate
restricted public properties. Restrictions are used to maintain a secure
environment.
result set The set of rows created by executing a SELECT statement.
RGB See red green blue.
rich text format (RTF) A Microsoft file format that contains special commands to indicate
formatting information such as fonts and margins. RTF lets you
exchange files between different word processors and operating
systems.
rollback The installation keeps track of all changes that are made during the
installation process so that, if an error occurs and the installation is
aborted, the changes will be “rolled back,” that is, the machine will be
restored to its original state.
row A set of related columns that describe a specific entity, also known as a
record.
RPC stub See remote procedure call stub.
RTF See rich text format.

626 InstallShield Express Edition User Guide


Glossary

Term Definition
run time The time during which the installation interacts with the installer to install
or uninstall your application on the target machine.
safe mode Safe mode is a troubleshooting mode available in Windows 95, 98, ME,
and 2000. When you start your computer in safe mode, only the
operating system and mouse, keyboard, and display drivers are loaded.
You may be able to start your computer in safe mode when it otherwise
would not start at all. Safe mode lets you troubleshoot the operating
system to determine what is not functioning properly.
schema A description of the current structure of tables and views in a data
source. The schema describes what columns are in each table, the data
type of each column, and the relationships between tables.
SCM See Service Control Manager.
SDK See Software Development Kit.
Section 508 A United States law that amended the Rehabilitation Act to require
federal agencies to make their electronic and information technology
accessible to people with disabilities. Section 508 was enacted to
eliminate barriers in information technology, to make available new
opportunities for people with disabilities, and to encourage
development of technologies that will help achieve these goals. The law
applies to all federal agencies when they develop, procure, maintain, or
use electronic and information technology. Under Section 508,
agencies must give disabled employees and members of the public
access to information that is comparable to the access available to
others.
security tool A privacy tool that detects and eliminates destructive pests, such as
Trojans, spyware, addware, and hacker tools on your computer. It
complements anti-virus and firewall software, extending protection
against non-viral malicious software that can evade the end user’s
existing security and invade privacy.
self-healing See auto-repair.
self-registering file A file that can enter information about itself in the Windows registry and
remove that information upon uninstallation. Other types of files can be
used without entering information into the registry. The installation of a
self-registering file consists of installing the file to its desired location
and then registering the file on your computer.
sequence A collection of actions and dialogs that is executed sequentially in an
installation project.
sequence tables Tables that list the actions that control the installation process and
specify their order of execution.

InstallShield Express Edition User Guide 627


Glossary

Term Definition
service For Windows Installer–based or InstallScript-based projects, this is a
program that runs in the background whenever a computer is running.
Services perform tasks that do not require user interaction, such as
software installation, process monitoring, file transfer, task scheduling,
network management, and many more. In Win32, services are managed
by the Service Control Manager.
Service Control Maintains the system’s database of services and exposes an interface
Manager (SCM) for controlling these services.
service pack (SP) An update to a software product that fixes existing problems and may
provide product enhancements. The next version of a product
incorporates all services packs previously released.
setup See installation.
setup project See installation project.
Setup.inx The compiled script file. It is the object code that the installer engine
executes.
shortcut A file that points to an application. Clicking the shortcut is a fast way to
open the application. Shortcuts are usually placed on the desktop or on
the Start menu. See also advertised shortcut.
silent installation An installation that is run without a user interface or any end user
intervention.
small update A patch that upgrades a package where both the installed package and
the most recent one have the same version number.
software development The documentation, samples, command-line compilers, debugging aids,
kit (SDK) utilities, and tools designed to enable developers to create applications
and libraries that target a specific operating system. SDKs are usually
provided by the manufacturer of the operating system.
source list A list that specifies the locations where the installer searches for
installation files. The entries in the source list can be network locations,
URLs, or compact disks.
SP See service pack.
splash screen An image that is displayed to end users during the startup of a product
installation. You can specify the image to be displayed, the length of
time that it should display, and whether it contains localized images.
spyware Any technology that aids in gathering information about a person or
organization without their knowledge. On the Internet, spyware is
programming that is put on someone’s computer to secretly gather
information about the user and relay it to advertisers or other interested
parties. Spyware can be loaded on a computer as a software virus or as
the result of installing a new program. Data collecting programs that are
installed with the user’s knowledge are not, properly speaking, spyware,
if the user fully understands what data is being collected and with whom
it is being shared.

628 InstallShield Express Edition User Guide


Glossary

Term Definition
SQL See Structured Query Language.
SQL statement A complete phrase in SQL that begins with a keyword and completely
describes an action to be taken. For example, SELECT * FROM
Orders.
standard action An action that is built into an installation development software product.
InstallShield products also support the creation and use of custom
actions. See also action, custom action.
string table A database that maintains the string IDs, values, and comments for all
supported languages. These strings are used in dialogs and message
boxes displayed to the end user at run time.
Structured Query A language used to work with databases.
Language (SQL)
summary information The properties such as title, author, package code, templates,
stream summary, and schema that are defined for a Windows Installer package
and are used by the installer to install the application.
synchronous The opposite of asynchronous execution, where control of the process
execution is not released until the entire process has completed.
system policy The rules and regulations by which a system must abide.
system privileges The system, programs, and functions available to each user.
table A collection of rows of data.
TARGETDIR In a Windows Installer–based installation, the TARGETDIR property
specifies the root destination directory for the installation. In an
InstallScript installation, the TARGETDIR system variable, by default,
specifies the root destination directory for the installation.
Task Manager A tool available on Windows platforms that provides information about
the applications and processes running on your computer as well as
your computer’s performance. Prior to installation, you may need to use
the Task Manager to end running applications and processes to prevent
conflicts.
temp directory A folder on your hard drive where the operating system or applications
can temporarily store files while they are in use. When the application
exits, the temporary files are deleted. It may be necessary to manually
clean, or delete files from, the temp directory.
template Something that establishes or serves as a pattern.
transform A transform (.mst) file represents the differences between two
installation databases. For example, network administrators may want
to distribute different configurations of a product to the various
departments in the company. As a result, you can create a transform
for every configuration of the product, then apply the appropriate
transform as needed.

InstallShield Express Edition User Guide 629


Glossary

Term Definition
transform error A set of properties that are used to set the error conditions in a
condition flags transform.
transform validation The set of properties used to verify that a transform can be applied to
flags the Windows Installer package.
tree node A data structure that contains zero or more “child” nodes. Nodes are
tree “roots”. Tree nodes that do not have “children” are typically referred
to as “leaves”.
trees Data that is structured like a tree.
UI See user interface.
uncompress See decompress.
uniform/universal Represents the location of a Web site or page.
resource locator
(URL)
uninstallation The undoing of an installation. Uninstallation is the installation
maintenance option that enables the end user to remove the product
files and reverse any changes that were made to the machine made
during installation.
uninstallation log file A record of all uninstallation-related events that occurred during an
installation. The log file is initialized at the beginning of the installation. If
this log file becomes corrupted, it may result in an error during
uninstallation.
unInstallShield A component included in the Setup Wizard that uninstalls the product
from the end user’s PC.
unspanned CD/DVD The payload is laid out in a CD/DVD archive, but no spanning across
media type multiple media is used.
Update Manager An optional Win32 or Java-based client application that can be used by
(Windows or Java) end users to set their own update schedules, or to silence the update
queries performed by the agent.
Update Manager An optional Win32 or Java-based client application that can be used by
(Windows or Java) end users to set their own update schedules, or to silence the update
queries performed by the agent.
upgrade A move from a lesser version of an application to a newer, usually
improved version of an application.
upgrade code The code required to install a newer version of existing software.
upgrading The process of installing a newer version of existing software.
URL See uniform/universal resource locator.
user interface (UI) The user’s access to the software.

630 InstallShield Express Edition User Guide


Glossary

Term Definition
user profile Record of an individual end user’s settings, such as shortcuts, favorites,
and settings for application, display, and hardware. User profiles enable
multiple users to share a single computer while maintaining their own
preferences.
validation The process of validating, that is, to confirm the true form of data.
value pack (VP) An installation that upgrades the features and functions of an installed
application.
variable A value stored in the computer. Its value can be composed of any
printable characters, numeric or text. Unlike a constant, whose value
never changes, a variable’s value can be changed at any time.
volume The total amount of space, in blocks, on one piece of media.
VP See value pack.
Web installation An installation that end users can access and run from a Web site.
Web site A location on the World Wide Web.
WinDir Stores the path to the executable file for Win16 on Win32 (WOW).
window The area in which an open application appears on a screen.
Windows API The Windows application programming interface (API), which provides
the building blocks that are used by applications written for the Windows
platform. Each API is a specific method prescribed by a computer
operating system or by an application program. A programmer writing
an application can make requests of the operating system or another
application with the use of a Windows API. Each API has different
system requirements to run properly.
Windows installation The compact disc that contains the Windows operating system. If your
CD computer manufacturer installed the operating system on your
computer, the installation CD should have been included with your
computer documentation. If you installed the Windows operating system
on your computer, you used the installation CD to do so.
Windows Installer (1) An installation and configuration service. It is based on a data-driven
model and provides all installation data and instructions in a single,
complete package. In the data-driven installation model, a master set of
installation tables is created where every application resource (files,
registry keys, and so on) is clearly tied to the component or feature it
supports. The user selects the objects to install and where to install
them, and the Windows Installer manages the procedural instructions.
(2) Refers to the service, properties, and tables of an .msi package.
Windows Installer An operating system component that centrally manages application
service installation configuration and application uninstallation.
Windows NT service See Windows service.
Windows service Long-running executable applications that run in their own Windows
sessions. For example, writing messages to an event log.

InstallShield Express Edition User Guide 631


Glossary

Term Definition
Windows system Contains core operating system files, which are necessary to keep the
folder computer running properly. Errors occurring during installation may be a
result of missing or corrupt files contained in the System folder.
wizard (1) A program utility that works as an interactive guide by walking the
user step-by-step through an unfamiliar task.
(2) The InstallShield Wizard is the wizard that displays during the run
time of an installation or uninstallation. It presents the end user with a
flexible, predefined series of dialogs that walk them through the
installation or uninstallation process.
wizard dialog Dialogs that display to the end user during installation and uninstallation.
They enable end users to interact with the operation by reading or
specifying information.
wizard interface Used by the end user to interact with a wizard at run time.
WYSIWYG What you see is what you get.
XCopyFile An InstallScript function that copies one or more files and subdirectories
to a target directory, creating subdirectories on the target machine, if
necessary.
XML See extensible markup language.
XSL See extensible stylesheet language.

632 InstallShield Express Edition User Guide


INDEX

.NET assembly 307


Symbols .NET Compact Framework 1.0 424
.NET Compact Framework 2.0 424
.cab file 195 .NET Compact Framework for mobile device
adding to your project for Windows Mobile installation 424
devices 192 _IsSetupTypeMin 96
building a release that has 195
mobile device installations with existing 189
removing from mobile device installations in
Numerics
your project 195
signing 423 404 error messages for a Web site or virtual
special considerations for adding multiple to directory 179
your project 193
.dll custom actions 151
settings 496
A
.exe file 155
custom actions 155 Access 97 object 106
.ini file 473 accessing the setup type at run time 96
adding a section to 144 Acquiring a trialware license 234
creating a keyword 144 actions, custom 495
pointing to a file 143 calling a DLL function 154
view for 473 setting properties for 151
.isproj 204 launching an .exe 155
.msi files setting properties for 155
running multiple ones simultaneously 117 scheduling in an installation or uninstallation
.NET 157
issues with trialware 226 VBScript 157

InstallShield Express Edition User Guide 633


Index

setting properties for 156 installing BDE support 107


activation of trialware 231 billboards 492
by email 244 browsing for merge modules and objects 113
by phone 245 building a release 200
end-user privacy and 226 for a mobile device 195
InstallShield Activation Service Publisher Web from the command line 203
Site 229 initiating a build 200
managing 229 installing Windows Installer 291
overview 231 mobile devices installations 189
running reports on 229 performing quick builds 202
Add or Remove Programs in Control Panel 87 preparing for release 502
information stored in 87 setting properties for 503
adding 307 setting volume labels for multiple-disk
.NET assemblies to a project 307 installations 216
adding files to an IIS virtual directory 178 single self-extracting installation file 209
existing .cab files for a mobile device to your specifying the prerequisites location for 120
project 192 troubleshooting build errors 537
merge modules and objects to your project troubleshooting run-time errors 576
105
multiple .cab files for a mobile device to your
project 193 C
Palm OS installation to your project 191
setup prerequisites to projects 109 CD browser, creating 219
setup prerequisites to redistributables gallery CE AppManager 193
115 CE installations 189
trialware file 232 CEAPPMGR.exe 193
trialware license 234 chaining installations 117
Windows Mobile device installation to your COM server, registering 123
project 190 COM+ applications and components 490
application lifecycle 23 adding to your installation 176
assemblies 287 command line 203
patching in the global assembly cache 287 building an installation from 203
automatic update notification MsiExec.exe parameters for 581
creating a shortcut to check for updates 185 Setup.exe parameters for 581
disabling in a Project 186 command-line parameters for IsCmdBld.exe 579
installation files needed for 184 Compact engine requirements 4
registering your application for 186 Compact project type 25
Update Service 448 components
autoplay 217 definition 20
compressed installation, creating 209
context-sensititive help 9
B converting Express projects to Lite projects and
vice versa 31
BDE Merge Module 107 creating

634 InstallShield Express Edition User Guide


Index

compressed, self-extrating installation file dialogs 491


209 dialogs, trialware run-time 246
installations for mobile devices 189 overview 246
InstallShield projects in Microsoft Visual setting hyperlinks for 244
Studio .NET 304 digital signing
QuickPatch project 282 QuickPatch packages 285
for an existing QuickPatch 283 DIM
overview 282 add new reference to feature 125
setup projects 29 adding new reference 124
custom actions 495 associate with feature 125
calling a DLL function 154 create shortcut to DIM reference 126
setting properties for 151 edit variables in DIM reference 126
including in QuickPatch 533 insert DIM virtual directory 125
launching an .exe 155 reference overview 124
setting properties for 155 DIM reference 124
scheduling in an installation or uninstallation Disk1 folder 162
157 distributing a release 526
VBScript 157 downloading redistributables to your computer
setting properties for 156 112
custom error messages for a Web site or virtual dynamic file linking 102
directory 179
custom images on dialog boxes 326
Custom Setup dialog 597 E
options for 166
sample 597 Edit Binary Value dialog box 326
Edit DWORD Value dialog box 327
Edit String Value dialog box 328
D email activation 244
enabling automatic update notification 184
DATABASEDIR 429 environment variables 477
default destination folder for mobile device properties 477
installation 413 setting 148
dependencies 465 view for 477
dynamic scanning 121 errors 537
importing Visual Basic projects 123 build 537
static scanning 121 Setup.exe run-time 576
Designed for Windows logo 80 errors, configuring for a Web site or virtual
destination folder 429 directory 179
General Information properties 429 evaluation version, creating 221
specifying hard-coded destination directories executable
100 creating a single executable file for
using registry key values as directory distribution
specifiers 87 including setup prerequisites when 117
Destination Folder dialog box 325 expiration date

InstallShield Express Edition User Guide 635


Index

setting or changing for trialware 242 Knowledge Base articles 14


Express project type 25 Online Communities 14
Support Web site 14
using 6
F HTTP errors, configuring 179
hyperlinks for the trialware run-time dialogs 244
features 436
definition 20
file extension associations 475 I
creating 142
details 476 icon specification for mobile device installation
files 459 422
associating with features 463 IIS 480
finding in your project 103 configuring error messages for 179
including application files 97 creating a virtual directory 177
linking dynamically 102 creating a Web site 177
overwriting on the target machine 102 overview 176
predefined destination folders 461 view 480
properties 331 IIS_VERSION property 181
scanning for dependencies 465 IISROOTFOLDER support 180
finding files and folders in your project 103 images, custom, on dialog boxes 326
Folder Properties dialog box 338 INetTrans.exe 226
folders 103 Install If Absent, Unnistall If Present option for
default destintation for mobile device registry keys 139
installation 413 Install Only option for registry keys 139
finding in your project 103 install/uninstall behavior for registry keys 139
freeware 226 installation project types 25
installation projects 24
changing name or location 30
G creating 29
migrating 54
global assembly cache 287 opening 29
patching assemblies in 287 saving 30
globalization 33 typical elements 21
overview 33 working with 25
supported languages 34 installations 20
GUIDs 32 definition 20
INSTALLDIR 297
InstallShield Activation Service 229
H InstallShield Activation Service Publisher Web
Site 229
help InstallShield Licensing Service 226
context-sensitive 9 Instmsia.exe 517
Help Library conventions 7 Instmsiw.exe 517

636 InstallShield Express Edition User Guide


Index

Internet distribution 209 contacting 15


Internet Explorer prerequisite 117 products 11
Internet Information Services 480 Professional Services 12
configuring error messages for 179 Support Web site 14
creating a virtual directory 177 Technical Support 14
creating a Web site 177 Training 12
overview 176 major Upgrade 268
view 480 managing COM+ applications and compontents
IsCmdBld.exe 203, 579 490
IsSvcInst*.dll 226 MDAC 2.8 prerequisite 117
migrating Express 2.x projects 54
details 55
J troubleshooting 574
minor Upgrade 269
Java and issues with trialware 226 modifying 194
Java(TM) 2 Runtime Environment prerequisite installation for mobile devices 194
117 MSBuild 204
Jet 4.0 prerequisite 117 MSDE 2000 Object SP3 389
JRE prerequisite 117 MSDE 2000 prerequisite 117
MsiPatchOldAssemblyFile 287
MsiPatchOldAssemblyName 287
K

Knowledge Base articles N


help 14
New Project dialog box 342
non-administrator patch 281
L requirements 281
notifying end users about updates
Lang ID 35 creating a shortcut to check for updates 185
language identifiers 35 disabling in a Project 186
license, trialware 234 installation files needed for 184
adding 234 registering your application for 186
lifecycle of an application 23 Update Service 448
lock permissions for files and directories 348
lock permissions for the registry 349
locked-down environment 281 O
patches for 281
objects
managing gallery of 111
M objects/merge modules 105
adding to your project 105
Macrovision 11 downloading to your computer 112
Consulting Services 13 managing the gallery 114

InstallShield Express Edition User Guide 637


Index

merge modules 463 and HKEY_CURRENT_USER 140


merge modules and objects from your phone activation 245
project 118 PowerBuilder and issues with trialware 226
modifying the Access 97 object 106 prerequisites 117
ODBC resources 471 adding to projects 109
associating with features 146 adding to redistributables gallery 115
attributes 146 configuring a release that includes 117
including in your installation 145 installation order for 119
installing 471 overview 117
offline email activation 244 release location for 120
offline phone activation 245 removing from projects 119
Online Communities removing from redistributables gallery 116
help 14 running installations with 118
opening uninstalling applications with 118
installation projects 29 Product Activation type of trialware 221
Output window 317 activation by email 244
activation by phone 245
expiration date 242
P expiration dates 239
how InstallShield protects 223
Palm OS device installations 189 limits and extensions for 235
adding to your project 191 managing licenses for 229
building a release that has 195 overview of the activation process 231
modifying 194 running reports on 229
overview 189 run-time dialogs 246
removing from your project 195 ProductCode 297
renaming 195 ProductName 297
requirements 4 products
Palm OS Wizard 391 hierarchy of features and components for 20
accessing 191 ProductVersion 297
overview 391 Professional Services
patch 279 Macrovision 12
sequences for small updates 279 Project Assistant 36
uninstallation of 281 project types 25
Patch Design view 269 properties 297
patching using 296
assemblies in the global assembly cache Windows Installer Properties 297
287
how Windows Installer handles 80
project type 25 Q
vs. upgrading 272
with non-administrator patches 281 quick builds 202
wizard 366 QuickPatch
per-user vs. per-machine installations 148 how Windows Installer handles 80

638 InstallShield Express Edition User Guide


Index

project type 25
wizard 366 S
QuickPatch projects 26
custom action 533 saving
procedures for 282 project with new name or location 30
SCResetLicense*.exe 218
searching for files and folders in your project
R 103
See cata source names (DSNs) 471
Readme 428 See DLL custom actions 151
reboot 159 See end-user dialogs 491
redistributable 105 See INI File Changes 473
adding to your project 105 See Pocket PC installations 26
browsing for 113 See projects 24
removing from your project 118 Select Icon dialog box 350
redistributables self-extracting installation file, creating 209
adding prerequisites to projects 109 sequences
managing gallery of 111 for installing prerequisites 119
setup prerequisites 117 for small-update patches 279
registering COM servers 123 serial number validation 158
registry entries 133 setting uninstall behavior for registry keys 140
creating keys 133 Setup DLL Properties dialog box 352
creating values 135 setup prerequisites 117
drag-and-drop 134 adding to projects 109
importing .reg files 381 adding to redistributables gallery 115
install/uninstall behavior for 139 configuring a release that includes 117
REG_EXPAND_SZ 137 installation order for 119
REG_MULTI_SZ 137 overview 117
removing 195 release location for 120
installation for a mobile device from your removing from projects 119
project 195 removing from redistributables gallery 116
merge modules and objects from your running installations with 118
project 118 uninstalling applications with 118
setup prerequisites from projects 119 Setup Prerequisites dialog box 353
setup prerequisites from redistributables setup types 442
gallery 116 accessing at run time 96
trialware file 264 edit 94
requirements 495 view for 442
requirements for target systems 4 Setup.exe 209
running an installation creating for your installation 209
running multiple .msi files simultaneously including setup prerequisites in 117
117 installing Windows Installer with an
with setup prerequisites 118 application 291
Setup.exe Command-Line Parameters 581

InstallShield Express Edition User Guide 639


Index

SETUPEXEDIR 297 text and messages 494


shareware 226 editing in InstallShield 172
shell, trialware 226 toolbar
Shortcut Properties dialog box 353 adding InstallShield toolbars to the Visual
shortcuts and program folders 467 Studio toolbar 305
creating 129 training
a shortcut to check for updates 185 Macrovision 12
an application shortcut 129 trialware 221
hot keys 131 acquiring license for 234
setting properties 469 activation overview 231
uninstallation 130 allowing activation by email 244
view for 467 allowing activation by phone 245
silent installation 219 creating for your product 221
small update 279 e-commerce solution 221
patch sequences for 279 end-user privacy 226
smart device installation excluding protection from a release 214
overview 26 expiration dates 239
project type 25 how InstallShield protects 223
wizard 410 INetTrans.exe 226
Smartphone 2002 and 2003 installations 189 informing end users how to extend a Try and
SOURCEDIR 297 Die trial 264
splash screen 588 InstallShield Activation Service Publisher Web
subweb 177 Site 229
adding files to 178 issues with .NET, Java, and PowerBuilder
configuring error messages for 179 226
creating 177 IsSvcInst*.dll 226
summary information stream 87 limits and extensions for 235
support files 501 managing licenses for 229
system search 396 running reports on 229
file details 330 run-time dialogs 246
SCResetLicense*.exe 218
setting the hyperlinks for the run-time dialogs
T 244
setting the trial limit 242
target desktop destination for mobile device shell 226
installation 412 specifying type of 233
target system requirements 4 testing 218
TARGETDIR 297 types 221
Technical Support view 448
Macrovision 14 Try and Buy/Product Activation trialware 221
telephone activation 245 activation by email 244
testing a release 525 activation by phone 245
testing a trialware release 218 e-commerce solution 221
TestTools folder 218 expiration date 242

640 InstallShield Express Edition User Guide


Index

expiration dates 239 Organize Your Setup 427


how InstallShield protects 223 Prepare for Release 502
limits and extensions for 235 Specify Application Data 459
managing licenses for 229 virtual directories
overview of the activation process 231 Custom Errors Tab 490
running reports on 229 Directory Security Tab 489
run-time dialogs 246 Documents Tab 488
Try and Die trialware 221 Virtual Directory Tab 487
expiration date 242 virtual directory 177
expiration dates 239 adding files to 178
how InstallShield protects 223 configuring error messages for 179
informing end users how to extend a trial 264 creating 177
limits and extensions for 235 Visual Basic project type 25
run-time dialogs 246 Visual Basic projects 123
Visual Studio .NET 303
adding InstallShield toolbars or commands to
U 305
adding project output from Web Services or
Uninstall Entire Key option for registry keys 139 application 307
uninstalling 118 integrating InstallShield with 303
applications with prerequisites 118 opening InstallShield projects in 304
patches 281
Update Service 448
creating a shortcut to check for updates 185 W
disabling in a Project 186
installation files needed for 184 Web deployment 210
registering your application for 186 Web services, deploying 180
view 448 Web site 177
upgrading 443 adding files to 178
to a newer version of InstallShield 54 configuring error messages for 179
vs. patching 272 creating 177
your product on a target machine 443 Windows Installer engine requirements 4
Windows logo 80
Windows Managment Instrumentation
V prerequisite 117
Windows Mobile device installations 189
VBScript custom action 157 adding to your project 190
creating 157 building a release that has 195
properties for 156 modifying 194
views 427 removing from your project 195
Configure the Target System 466 renaming 195
Customize the Setup Appearance 491 requirements 4
Define Setup Requirements and Actions 494 Windows Mobile Wizard 410
list of, in InstallShield 427 accessing 190

InstallShield Express Edition User Guide 641


Index

WMI prerequisite 117

642 InstallShield Express Edition User Guide

Вам также может понравиться