Wise Solutions WISE FOR WINDOWS INSTALLER 6 User Manual

4.8 (4)
Wise Solutions WISE FOR WINDOWS INSTALLER 6 User Manual

Wise for Windows Installer, Version 6.0

Copyright

©1994-2004 Wise Solutions, Inc. All Rights Reserved.

This documentation and the accompanying software are copyrighted materials. Making unauthorized copies is prohibited

by law. No part of the software or documentation may be reproduced, transmitted, transcribed, stored in a retrieval system or translated into any human or computer language without prior written permission of Wise Solutions, Inc. Wise Solutions, Inc. asserts its “Moral Right” to be identified as the author of this work, in all jurisdictions which recognize the “Moral Right.”

Notice

Unless otherwise provided by written agreement with Wise Solutions, Inc., this publication, and the software sold with this publication, are provided “as is” without warranty of any kind either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. The entire risk arising out of the use or performance of this publication and software remains with you. In no event will Wise Solutions, Inc., or any of its suppliers, be liable for any lost profits, lost savings, direct, incidental or indirect damages or other economic or consequential damages, even if Wise Solutions, Inc., or its suppliers, have been advised of the possibility of such damages. Wise Solutions, Inc. reserves the right to modify this document at any time without obligation to notify anyone. In no event shall Wise Solutions, Inc.’s or its suppliers’ liability under this agreement exceed the sum of any amounts paid hereunder by the customer to Wise or the supplier.

Trademarks

Wise Solutions, Inc. owns a number of registered and unregistered Trademarks and Service Marks (the “Marks”). These

Marks are extremely valuable to Wise Solutions, Inc. and shall not be used by you, or any other person, without Wise Solutions, Inc.’s express written permission. The Marks include, but are not necessarily limited to the following: Application Isolation Wizard™; ApplicationWatch™; ConflictManager®; ExpressBuild™; Installation Development Life Cycle™; InstallBuilder®; InstallMaker®; InstallManager®; InstallTailor™; MSI Debugger™; MSI Script™; PackageManager™; Preflight Deployment™; SetupCapture®; SmartMonitor™; SmartPatch®; Software Distribution Made Easy™; Software Installations Made Easy®; Visual MSIDiff™; Virtual Capture™; WebDeploy™; Wise Installation System®; Wise Package Studio®; Wise Software Repository™; Wise Solutions®; WiseScript™; WiseScript Express™; WiseUpdate®; WiseUser®; and the Wise Solutions logo.

In addition to Wise Solutions, Inc.’s Marks, some Wise Products may include Trademarks or Service Marks owned by other corporations. These other Marks include, but are not necessarily limited to Microsoft® Windows® and Microsoft® Visual Studio® .NET, which are registered Trademarks of Microsoft Corporation.

You shall not use any of the Trademarks or Service Marks of Wise Solutions, Inc., Microsoft Corporation, or any other entity, without the express written permission of such Trademark or Service Mark owner.

Wise Solutions, Inc.

47911 Halyard Drive; Plymouth, Michigan 48170 USA

Phone: 734-456-2100 • Fax: 734-456-2456 • info@wise.com • www.wise.com

2

Contents

1 Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Documentation Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Getting Help and Product Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Getting Updates Over the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Product Editions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 About Visual Studio .NET Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Using Installation Expert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 About Page Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Customizing Page Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Using the Current Feature Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . 26 Using the Current Release Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . 27

About the Product Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Using the Task List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Filtering the Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Finding Table Errors From the Task List. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Adding User-Defined Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Where are Installation Resources Stored?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Using the Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Sharing Installation Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 About the Share Point Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 How Source Files Are Indexed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Generating Package Contents Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Generating Shared Resource Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Downloading Redistributable Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Downloading Redistributables From the Wise Web Site or Product CD. . . . . . . 39 Downloading Redistributables From Other Vendors’ Web Sites . . . . . . . . . . . . 40

3 Setting Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Setting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Setting General Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Setting .NET Assembly Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Setting Advertising Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Setting Digital Signature Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Setting ExpressBuild Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Setting Installation Expert Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Setting Merge Module Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Activating Suppressed Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Setting Repository Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Setting Source Control Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Setting the Default Target Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Setting Visual Studio Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Setting Wildcard Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3

Creating and Editing Installation Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 About Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Selecting a Component Rule Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Using Component Rules to Align GUIDs in an Upgrade . . . . . . . . . . . . . . . . . 65 Customizing Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Microsoft Best Practices Component Rule Set. . . . . . . . . . . . . . . . . . . . . . . . 68 One File Per Component Rule Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4 Working With Wise Installation Files . . . . . . . . . . . . . . . . . . . . . . 71

Before You Create an Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Project Files and Database Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Starting a New Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Creating an Installation Within a Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Creating a Stand-alone Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Creating a Device Driver Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Options for New Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Specifying the Target Platform in an Installation . . . . . . . . . . . . . . . . . . . . . . . . 82 What’s Different in a 64-Bit Installation? . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Entering Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Overview Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Project Type Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Projects Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Main Project Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Project Outputs Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

How the Installation Integrates With the Solution . . . . . . . . . . . . . . . . . . . . . . . 88 Scanning the Solution for New Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Opening an Installation Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Comparing Windows Installer Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Saving an Installation as XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Working With Installations in the Software Manager Database . . . . . . . . . . . . . . 94

Compiling, Testing, and Running An Installation . . . . . . . . . . . . . . . . . . . . . . . . 95 Compiling An Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Testing An Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Running An Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5 Defining an Installation Project . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Project Summary Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Product Details Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Adding Meta Data to the Software Manager Database. . . . . . . . . . . . . . . . . 102

Incrementing the Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Setting the Default Installation Directory. . . . . . . . . . . . . . . . . . . . . . . . . . 104

General Information Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Add/Remove Programs Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Features Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Strategies for Organizing Files Into Features . . . . . . . . . . . . . . . . . . . . . . . 108

Adding a New Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Configuring a Feature Using Its Drop-Down List . . . . . . . . . . . . . . . . . . . . . 110

4

Configuring a Feature Using the Feature Details Dialog . . . . . . . . . . . . . . . . 112

Using Conditions With Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Adding and Deleting Feature Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Managing Binary Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Adding Binary Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Refreshing Binary Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6 Assembling an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Files or Web Files Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Installation Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Files or Web Files Page Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Adding Files to an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Adding Assembly Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Adding Merge Modules Instead of Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Adding Files From the Wise Software Repository . . . . . . . . . . . . . . . . . . . . 127 Adding Contents of Directories to the Installation. . . . . . . . . . . . . . . . . . . . 127 Adding Files From Outside the Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Adding .NET Assemblies to the Installation . . . . . . . . . . . . . . . . . . . . . . . . 130 Editing Settings for Automatic Updating . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Removing a File From the Destination Computer . . . . . . . . . . . . . . . . . . . . 132 Copying and Moving Files on the Destination Computer . . . . . . . . . . . . . . . 133 Editing File Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 How Self-Registration Information is Captured. . . . . . . . . . . . . . . . . . . . . . 142

Registry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Adding Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Removing Registry Entries From the Destination Computer . . . . . . . . . . . . . 146 Importing and Exporting Registry Entries . . . . . . . . . . . . . . . . . . . . . . . . . 148 Configuring General Registry Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Setting Permissions for Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Viewing Shared Registry Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Special Registry Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

INI Files Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Creating and Editing .INI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Shortcuts Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Adding a Shortcut to an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Editing a Shortcut Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Adding an Environment Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Adding File Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Determining Extension Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Adding Command Verbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Selecting MIME Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Services Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Adding a Service to the Destination Computer . . . . . . . . . . . . . . . . . . . . . . 161 Controlling Services on the Destination Computer . . . . . . . . . . . . . . . . . . . 162

Adding an ODBC Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Setting ODBC Driver Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Setting ODBC Translator Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

5

7 Your Installation on the Destination Computer . . . . . . . . . . . . . 166

About System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Setting a Requirement on the System Requirements Page . . . . . . . . . . . . . 167 Setting a Requirement by Creating a Launch Condition . . . . . . . . . . . . . . . . 168

Performing a System Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Searching For Files or Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Searching For Items in .INI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Searching For a Registry Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Searching For a Previously-Installed Component . . . . . . . . . . . . . . . . . . . . 175

Setting Features for Installation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

8 Organizing Your Installation Into Releases . . . . . . . . . . . . . . . . 179

About Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Creating a New Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Outputting a Multiple-Language Release . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Customizing a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Customizing Properties for a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Customizing Summary Items for a Release . . . . . . . . . . . . . . . . . . . . . . . . 184 Defining a Feature Set for a Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Sharing Settings Between Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Example: Creating a Demo Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Setting Build Options for a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Adding Prerequisites to a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Editing the WiseScript that Creates the Installation .EXE. . . . . . . . . . . . . . . 191

Creating a Clean Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Creating Web-Based Installations With WebDeploy . . . . . . . . . . . . . . . . . . . . . 195 The WebDeploy Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Tips for Creating an Efficient WebDeploy Installation . . . . . . . . . . . . . . . . . 197 Creating a WebDeploy Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Uploading a WebDeploy Installation to the Web . . . . . . . . . . . . . . . . . . . . . 199

Setting Up Media for Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Adding a Media Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Adding a Media Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Including Features and Components in Media Items . . . . . . . . . . . . . . . . . . 205 Sharing Media Settings Between Releases . . . . . . . . . . . . . . . . . . . . . . . . . 206 Example: Spanning an Installation Across Media and Sharing Media Size Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

9 Advanced Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

About Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Command Line Options For WFWI.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Adding a Digital Signature to Your Installation. . . . . . . . . . . . . . . . . . . . . . . . . 212 Creating an Installation for Microsoft SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Creating a .NET Installation When You Have the .NET Framework . . . . . . . . . . . 214 Creating a .NET Installation Without the .NET Framework. . . . . . . . . . . . . . . . . 215

About Web Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Features That Support Web Installations . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Creating a Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Creating a Virtual Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Creating a New Web Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

6

Setting Installation Options for a Web Installation . . . . . . . . . . . . . . . . . . . 222 Setting Details for Web Sites, Virtual Directories, and Web Folders. . . . . . . . 224

Configuring a Microsoft SQL Server During Installation. . . . . . . . . . . . . . . . . . . 226 Tips on Using the SQL Server Scripts Page . . . . . . . . . . . . . . . . . . . . . . . . 227 Setting SQL Connection Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Specifying SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Specifying Replacements in SQL Statements . . . . . . . . . . . . . . . . . . . . . . . 229

Importing .NET Framework Security Settings . . . . . . . . . . . . . . . . . . . . . . . . . 230

MTS/COM+ Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Adding an MTS or COM+ Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

10 Mobile Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Mobile Devices Page Compared to Mobile Device Package Editor . . . . . . . . . . . . 235 About the Mobile Devices Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 About Mobile Device Package Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Pocket PC and Smartphone Installations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 How a Pocket PC or Smartphone Installation Works . . . . . . . . . . . . . . . . . . 238 Processor and Platform Support for Pocket PC . . . . . . . . . . . . . . . . . . . . . . 239 Creating a Pocket PC or Smartphone Installation . . . . . . . . . . . . . . . . . . . . 239 Compiling a Pocket PC or Smartphone Installation . . . . . . . . . . . . . . . . . . . 240

Setting Application Information for a Mobile Device . . . . . . . . . . . . . . . . . . . . . 241 Setting Platform Support for a Mobile Device . . . . . . . . . . . . . . . . . . . . . . . . . 242 Setting Platform Information for a Mobile Device. . . . . . . . . . . . . . . . . . . . . . . 244 Setting Files for a Mobile Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Editing Details for Mobile Device Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Setting Registry for a Mobile Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Setting Shortcuts for a Mobile Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Setting Desktop Computer Details for a Mobile Device Installation. . . . . . . . . . . 251 Palm OS Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

11 Translating an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

About the Languages Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Creating a Translated .MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Creating a Language Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Sharing Language Settings Between Releases . . . . . . . . . . . . . . . . . . . . . . 258 Removing a Language from an Installation . . . . . . . . . . . . . . . . . . . . . . . . 259

Defining and Translating Into Additional Languages . . . . . . . . . . . . . . . . . . . . . 260 About the New Language Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Defining a New Language and Exporting All Text for Translation . . . . . . . . . 261 Importing All Text Strings After Translation . . . . . . . . . . . . . . . . . . . . . . . . 262 Importing All Text Strings With the New Language Wizard . . . . . . . . . . . . . 263

Translating Text Strings You’ve Added or Changed . . . . . . . . . . . . . . . . . . . . . . 265 Translating Text Strings by Exporting to a File . . . . . . . . . . . . . . . . . . . . . . 265 Translating Text Directly Without Exporting It . . . . . . . . . . . . . . . . . . . . . . 267

Resizing Dialog Controls After Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

About the Language Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Changing the Default Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 About the Default Release Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

About the Language Strings Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

7

Keeping Track of Changed Text Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . 274

What Pre-Translated Languages Are Available? . . . . . . . . . . . . . . . . . . . . . . . . 276

Language IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

12 Distributing an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Package Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Copying an Installation to the Share Point Directory . . . . . . . . . . . . . . . . . . 280 Copying an Installation to a Network Directory . . . . . . . . . . . . . . . . . . . . . 282 Copying an Installation to an FTP Server. . . . . . . . . . . . . . . . . . . . . . . . . . 282 Performing an Administrative Installation . . . . . . . . . . . . . . . . . . . . . . . . . 283 Copying an Installation to Removable Media . . . . . . . . . . . . . . . . . . . . . . . 284

WiseUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 The WiseUpdate Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Using WiseUpdate in an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Options for Running WiseUpdate Client . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 WiseUpdate Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Troubleshooting WiseUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

13 Upgrading Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Preparing for Software Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Archive the Shipping Version of the .MSI. . . . . . . . . . . . . . . . . . . . . . . . . . 297

Determine the Form of the Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Determine the Product Code and Product Version. . . . . . . . . . . . . . . . . . . . 298

Check the Installation With UpgradeSync . . . . . . . . . . . . . . . . . . . . . . . . . 298

UpgradeSync. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Using UpgradeSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

About Patch Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Creating a Patch File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Creating an Upgrade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

14 Working With Source Paths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Using Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Adding an Installation to Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Adding Files to an Installation in Source Control. . . . . . . . . . . . . . . . . . . . . 317 Checking Files Into Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Checking Files Out from Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Getting Latest Version of Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Removing Files from Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Undoing the Check Out of Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Showing History of the Installation File . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Showing the Differences Between Installation Files. . . . . . . . . . . . . . . . . . . 320 Comparing the Current Installation to the Latest in Source Control. . . . . . . . 321

About Path Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Turning Path Variable Substitution On and Off . . . . . . . . . . . . . . . . . . . . . . 322 Creating a User-Defined Path Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Creating a Path Variable Based on an Environment Variable . . . . . . . . . . . . 323 Creating a Path Variable Based on a Registry Value . . . . . . . . . . . . . . . . . . 324

Changing Source Paths in an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

8

Changing Source Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Converting to Relative Source File Paths . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Converting to UNC-Based Source File Paths. . . . . . . . . . . . . . . . . . . . . . . . 327 Changing the Source Directory Dynamically During Compile . . . . . . . . . . . . 327

15 Merge Modules and Transforms . . . . . . . . . . . . . . . . . . . . . . . . . 329

About Merge Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Available Tabs and Pages in Merge Modules. . . . . . . . . . . . . . . . . . . . . . . . 331 Creating a Merge Module As a New Installation . . . . . . . . . . . . . . . . . . . . . 334 Creating a Merge Module Within a Solution . . . . . . . . . . . . . . . . . . . . . . . . 336 Creating a Merge Module From Existing Components . . . . . . . . . . . . . . . . . 337 Creating a Configurable Merge Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 About the Merge Modules Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

About Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Creating a Transform Based on an Existing .MSI . . . . . . . . . . . . . . . . . . . . 348 Setting Transform Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Applying a Transform to an Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Multiple Instance Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

16 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

ApplicationWatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Convert InstallShield Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Convert SMS Installer or WiseScript Installation . . . . . . . . . . . . . . . . . . . . . . . 358

Import Visual Studio Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Importing an Installation From a Visual Studio Project . . . . . . . . . . . . . . . . 361 Importing an Installation From a Visual Basic Project . . . . . . . . . . . . . . . . . 362

MSI to WSI Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Converting an .MSI to a .WSI File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Specifying Merge Module Source Directories . . . . . . . . . . . . . . . . . . . . . . . 366 Specifying File Source Directories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

Package Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Validating a Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Customizing Validation Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Predefined Validation Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

17 Setup Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

About Setup Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

Product Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

Specifying Summary Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

Features Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Assigning a Component to a Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

Modules Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

Advertising Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

Creating a Folder in Setup Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Creating Duplicate File Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Components Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

Component Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Adding and Editing a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Moving Items Between Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

About the Key Path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

9

Isolating a .DLL With an .EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Adding Published Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

Tables Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Creating a New Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Creating a New Row in a Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Editing Existing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Searching for Table Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Finding Validation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Editing Binary Data in the Icon Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 About Wise Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

18 Using Conditions and Properties . . . . . . . . . . . . . . . . . . . . . . . . . 405

Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Where Can You Use Conditions?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Condition Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

Examples of Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

WiseFixConditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

Creating Conditions With Condition Builder . . . . . . . . . . . . . . . . . . . . . . . . 409

Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

How Do You Use Properties? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

Creating a New Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Build Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

INI File Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Runtime Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

19 Working With Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

About Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 About the Wizard Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

Using the Dialogs Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Changing the Theme of Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Adding and Editing Dialog Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Importing Text into License and Readme Dialogs . . . . . . . . . . . . . . . . . . . . 430

About the Dialogs Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Adding Controls to Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

Editing Dialog Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Creating a New Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

About Dialog Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Types of Dialog Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Editing Dialog Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Organizing and Aligning Controls on Dialogs . . . . . . . . . . . . . . . . . . . . . . . 442

About Billboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Adding Billboards to a Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

Obtaining Logon Information From a Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Adding the Logon Information Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

About the SQL Connection Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Adding the SQL Connection Dialog to an Installation. . . . . . . . . . . . . . . . . . 449 Editing Additional SQL Connection Dialogs. . . . . . . . . . . . . . . . . . . . . . . . . 450

Adding the Custom Property Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

10

20 OLE Automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

About OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

About Macro Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455

Creating, Editing, and Running a Macro. . . . . . . . . . . . . . . . . . . . . . . . . . . 455

Events That Can Trigger a Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

About the Macro Editor Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

OLE Automation Function Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

AddComPlusApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

AddComPlusApp2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

AddComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

AddComponentToFeature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

AddFeature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

AddFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

AddFileEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

AddMergeModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

AddRegistryValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

AddRegistryValueEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

AddShortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

AddShortcutEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

AddVirtualDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

AddWildcard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

Compile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

CreatePatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

DeleteFeature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

EnableExceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

EnableRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

GenerateGuid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

GetComponentDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

GetLastError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

GetProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

NewEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

QueryDisplayValidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

QueryFixValidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

RunScriptMacro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

SetComponentGuid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

SetComponentKeyPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

SetFileSelfRegister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

SetMediaOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

SetProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

SetRestartIIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

SetSilent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

UseScriptFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

OLE Automation Object Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

WColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

WColumnDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

WColumnDefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

WColumns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

WFWI.Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

11

WRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

WRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

WTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

WTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

Visual Basic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

21 Debugger for Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . 481

About the Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 The Debugger Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Running the Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Setting and Clearing Debugger Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . 484 Evaluating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Working With Temporary Tables and Columns . . . . . . . . . . . . . . . . . . . . . . 485 Searching For Text in Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

22 Using MSI Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486

The MSI Script Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

About MSI Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 About Installation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 About Installation Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Finding Text in MSI Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

Editing Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 Types of Actions in MSI Script Sequences . . . . . . . . . . . . . . . . . . . . . . . . . 492 About the Standard and Custom Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 Adding and Editing Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Commenting Out Script Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493

Calling WiseScripts with Custom Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 WiseScript Editing Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Examples of WiseScripts You Run From an .MSI. . . . . . . . . . . . . . . . . . . . . 495

Guidelines for Using Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Guidelines for Custom Action Location . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Guidelines for Custom Action Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Guidelines for Nested Installation Custom Actions . . . . . . . . . . . . . . . . . . . 501 Guidelines for Calling VBScripts and JScripts . . . . . . . . . . . . . . . . . . . . . . . 502 Guidelines for Calling .DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

Launching a Custom Action from a Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Custom Actions That Are Added Automatically . . . . . . . . . . . . . . . . . . . . . . . . 505 Troubleshooting Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

23 Custom Action Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

Call Custom DLL From Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

Call Custom DLL From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508

Call Custom DLL From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

Configuring .DLL Parameter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

Call DLL From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

Call DLL From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

Call JScript From Embedded Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

Call JScript From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

Call JScript From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

Call JScript From Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514

12

Call VBScript From Embedded Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Call VBScript From Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Call VBScript From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Call VBScript From Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Display Message. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Download File From Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 End Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Execute Program From Destination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Execute Program From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Execute Program From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Execute Program From Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 If Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Install MSI From Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Install MSI From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Install MSI From Relative Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Launch Web Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Open Document From Installed Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Pause Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 Post Data to HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 Remark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Run WiseScript From Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Run WiseScript From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Run WiseScript From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Set Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Set Feature State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Set Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Terminate Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Using the Custom Action Location Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Using the Custom Action Location Tab for Merge Modules . . . . . . . . . . . . . . . . . 533 Using the Custom Action Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

24 Windows Installer and .NET Technologies . . . . . . . . . . . . . . . . . 537

About Microsoft Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 Frequently Asked Questions About Microsoft Windows Installer . . . . . . . . . . 538 Working With Components and Features . . . . . . . . . . . . . . . . . . . . . . . . . . 540 About GUIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

About Microsoft .NET Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 Frequently Asked Questions About Microsoft .NET . . . . . . . . . . . . . . . . . . . 541 Requirements for Creating a .NET Installation . . . . . . . . . . . . . . . . . . . . . . 543

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

13

Chapter 1

Welcome

Wise for Windows Installer is an installation development system for creating and editing Windows® Installer (.MSI) installation packages. It is a complete and userfriendly front end for generating Windows Installer database files, which are executed by the Windows Installer engine. With Wise for Windows Installer, you can create installations that are compliant with Microsoft’s Windows 2000 logo program. Use Wise for Windows Installer to edit and refine installations that you’ve converted from other formats, and use it to import development projects.

Through its Visual Studio integrated editor, Wise for Windows Installer offers a complete, seamless integration of the entire installation authoring environment directly into the Microsoft® Visual Studio® .NET development environment. This tight integration allows for automatic synchronization of your development project with your installation, saving you time and significantly improving the quality of your installations.

Microsoft® Windows® Installer is a Microsoft technology that provides a standard installation engine that can be used for the installation of any 32-bit or 64-bit Windows software product. It resides on the destination computer and performs the installation of applications. Windows Installer technology provides developers with features not currently available in traditional installation-building products.

Topics include:

!Documentation Roadmap.

!Getting Help and Product Support.

!How to Check Online Help.

!Getting Updates Over the Web.

14

Documentation Roadmap

Documentation Roadmap

The Wise for Windows Installer documentation assumes that you are proficient in the use of the Windows operating system. If you need help using the operating system, consult its user documentation.

Use the following sources of information to learn the product.

Online Help

The online help contains detailed technical information and step-by-step instructions for performing common tasks. For details on using help, see Check Online Help on page 16.

Reference Manual

All the material in the online help is also available in .PDF-format reference manuals. Reference manual .PDFs are provided for Wise for Windows Installer and WiseScript Express. The Enterprise Edition also includes a Software Manager reference manual. To access the .PDF reference manuals, select Help menu > Reference Manual from within each product. (In Visual Studio: Help menu > Wise Help > Reference Manual.)

Getting Started Guide

The printed Getting Started Guide contains system requirements, installation instructions, and a tutorial. To access a .PDF version of the Getting Started Guide, select Help menu > Getting Started. (In Visual Studio: Help menu > Wise Help > Getting Started.)

Windows Installer SDK Help

You can get technical details about Windows Installer from its own help system, which is written by Microsoft for a developer audience. In Wise for Windows Installer, select Help menu > Windows Installer SDK Help. (In Visual Studio: Help menu > Wise Help > Windows Installer SDK Help. Windows Installer SDK help topics are also available within the Visual Studio .NET help collection.)

Release Notes

A release notes document, in .HTM format, covers new features, enhancements, bug fixes, and known issues for the current version of this product. It also contains links to release notes for other versions. Access the release notes in the following ways:

!Browse the product CD.

!Select Help menu > Release Notes. (In Visual Studio: Help menu > Wise Help > Release Notes.)

!If you are a registered user, visit http://support.wise.com to enter the Support Center, and then click the Downloads link.

15

Getting Help and Product Support

Getting Help and Product Support

Wise Solutions offers many resources to help you use our products. You can search the product help or reference manual .PDF for answers, or you can use one of the many support resources available to you as a registered Wise Solutions customer.

Check Online Help

You can access help in the following ways:

!To display context-sensitive help for the active page or dialog, press F1.

!To select a help topic from a table of contents, index, or search, select Help menu > Help Topics. (In Visual Studio: Help menu > Wise Help > Help Topics.)

Select other commands from the Help menu to view the Windows Installer SDK Help, to view the .PDF-format reference manual or getting started guide, to view Wise Solutions resources on the Web, or to check for upgrades.

If you need help and cannot find the answer in the documentation, explore our technical support options below.

Use the Wise Solutions Technical Support Center

Registered Wise Solutions customers can use the Technical Support Center, located at www.wise.com/support.asp, to submit online support requests, register products, manage customer information, download updates, or search the Knowledgebase. The Knowledgebase contains how-to procedures, answers to common support questions, and workarounds.

Visit Our Newsgroups

Visit Wise Solutions Newsgroups at www.altiris.com/support/forum/default.asp. Newsgroup postings by your peers contain answers, tips, analysis, and other comments. Contribute your own expertise to help others.

Subscribe to TechInfo

TechInfo is a free e-mail newsletter that contains technical tips, product updates, and other important technical information. To subscribe or to read back issues, visit www.wise.com/techinfo.asp.

Ask Our Support Team

If you can’t find an answer in our online resources, you can obtain support by phone or online at www.wise.com/support.asp. Wise Solutions offers flexible payment options to meet your support needs. For additional details about our support services, visit www.wise.com/supportoptions.asp or call 1-734-456-2600.

Before you contact technical support, obtain the following:

!Serial number and product version, which you can find by selecting Help menu > About.

!Operating system version and service pack version if applicable.

!A description of what you do before the problem occurs.

!The text of any error messages that appear.

!Your name, company name, and how to contact you.

!Contract number or payment information, if applicable.

16

Getting Help and Product Support

Take Advantage of our Consulting and Training Services

When you have a challenging repackaging or installation problem, turn to Wise Solutions. Our consultants can help with script writing, repackaging, installation development, and other solutions that are fully customizable to fit your project and budget. Visit www.wise.com/consulting.asp for details.

To upgrade your installation and packaging skills, consider Wise Solutions training. Our certified instructors draw from practical experience to provide relevant course content. Visit www.wise.com/training.asp for course descriptions and schedules.

Contact Wise Solutions Sales

Contact Wise Solutions’ Sales department to purchase additional products, upgrades, support services, or consulting and training services.

U.S.: 1-800-554-8565 Europe/Netherlands: +31 70 392 72 20

Other International: 734-456-2100 (in U.S.) Web Site: www.wise.com/ordercentermain.asp

17

Getting Updates Over the Web

Getting Updates Over the Web

You can get the latest version of Wise for Windows Installer using your active Internet connection. Minor point releases (x.01, x.02, and so on) are generally free, while major number releases generally incur an upgrade fee. Point releases generally contain maintenance updates such as bug fixes and minor feature additions.

To check for updates:

1.Connect to the Internet.

2.In Wise for Windows Installer, select Help menu > Check for Updates.

A confirmation prompt appears, then you are connected to the Wise Solutions Web site.

If you have not registered this product, follow the screen prompts to create a user account with Wise and register. You will need a valid product serial number. After you complete the registration, enter the Wise Technical Support Center and click the Downloads link.

If you have registered this product, you are connected to the Downloads page.

3.Follow the instructions on the Web page to download the appropriate update.

Note

Wise for Windows Installer can remind you to check for updates. Select an option in the Check for Updates drop-down list in Wise Options. This sets the frequency at which you will be reminded to check for updates.

18

Chapter 2

Basics

Read this overview before creating your first installation. It contains information on getting started with Wise for Windows Installer.

Topics include:

!Product Editions.

!About Visual Studio .NET Integration.

!Using Installation Expert.

!About the Product Home Page.

!Using the Task List.

!Where are Installation Resources Stored?

!Using the Enterprise Edition.

!Downloading Redistributable Files such as merge modules and Windows Installer and

.NET runtimes.

19

Product Editions

Product Editions

Wise for Windows Installer is available in 3 editions, each designed to fulfill the needs of a particular type of user. The edition you purchase determines what features are available to you.

!Enterprise Edition is a Windows Installer® and .NET installation authoring tool supporting organizations that develop multiple applications that share common resources. It helps professional developers create installations that adhere to their organization’s standards, thereby decreasing the risk of deployment errors.

!Professional Edition is a Windows Installer® and .NET installation authoring tool for professional software developers who want to create installations for the next generation of applications, including desktop, server, Web, and mobile devices.

!Standard Edition is a Windows Installer® and .NET installation authoring tool for professional software developers who want basic but robust support for creating Windows Installer® and .NET installations.

The following table, which does not include all features, summarizes the differences between each edition. If a feature is not listed, it is included in all product editions. For a more comprehensive list of features, visit the Products section of the Wise Solutions Web site (www.wise.com). For new features and enhancements in the current release, see the Release Notes, available from the Help menu. (In Visual Studio: select Help menu > Wise Help.)

Feature

Std

Pro

Ent

 

 

 

 

General

 

 

 

 

 

 

 

Specify the target platform for an installation

 

X

X

 

 

 

 

Create configurable merge modules

 

X

X

 

 

 

 

Macro Editor

 

X

X

 

 

 

 

OLE Automation

 

X

X

 

 

 

 

User-defined tasks

 

 

X

 

 

 

 

Use merge modules from the Software Manager database

 

 

X

 

 

 

 

Add meta data to the Software Manager database

 

 

X

 

 

 

 

Enable the Logon Information dialog to configure server software after installation to run

 

X

X

under a particular user

 

 

 

 

 

 

 

Enable the SQL Connection dialog to generate a valid connection string

 

X

X

 

 

 

 

Enable the Custom Property dialog to gather data from the end user during installation

 

X

X

 

 

 

 

ExpressBuild (distributed compiles)

 

X

X

 

 

 

 

Debugger for Windows Installer

 

X

X

 

 

 

 

Package Contents Reports

 

 

X

 

 

 

 

WiseScript Express

X

X

X

 

 

 

 

Wise Options

 

 

 

 

 

 

 

Repository options

 

 

X

 

 

 

 

Sharing Installation Resources

 

 

 

 

 

 

 

Open an installation package from the Wise Software Repository

 

 

X

 

 

 

 

20

Product Editions

Feature

Std

Pro

Ent

 

 

 

 

Share installation resources in the share point directory

 

 

X

 

 

 

 

Distribute to the share point directory

 

 

X

 

 

 

 

View and use resources shared by other applications

 

 

X

 

 

 

 

Shared Resource Reports in Wise for Windows Installer

 

 

X

 

 

 

 

Installation Expert Pages

 

 

 

 

 

 

 

.NET Framework Security page

 

X

X

 

 

 

 

Clean Build page

 

X

X

 

 

 

 

Mobile Devices page

 

X

X

 

 

 

 

MTS/COM+ page

 

X

X

 

 

 

 

SQL Server Scripts page

 

X

X

 

 

 

 

Web Files page, ability to edit .XML files

 

X

X

 

 

 

 

WebDeploy page

 

X

X

 

 

 

 

WiseUpdate page

 

X

X

 

 

 

 

Tools

 

 

 

 

 

 

 

Patch Creation and patch support

X

X

X

 

 

 

 

Software Manager

 

 

X

 

 

 

 

Upgrade Sync

X

X

X

 

 

 

 

Package Validation

 

 

 

 

 

 

 

Turn individual rules on and off

 

X

X

 

 

 

 

Create a new validation module (.CUB file)

 

 

X

 

 

 

 

Create new validation rules

 

 

X

 

 

 

 

21

About Visual Studio .NET Integration

About Visual Studio .NET Integration

You can use Wise for Windows Installer from within Visual Studio .NET. The Visual Studio integrated editor lets you create all the same installation file types that you create in the stand-alone Wise editor. The Wise editor and Visual Studio integrated editor are different interfaces for the same product; they share the same preferences, recently-used file lists, dialog templates, themes, and installation templates. (The Visual Studio integrated editor was formerly sold separately as Wise for Visual Studio .NET.)

There are several differences between the Wise editor and the Visual Studio integrated editor that are inherent in the Visual Studio .NET development environment.

Examples:

!In the Visual Studio integrated editor, you have different choices about how to start a new project, and you can set source paths to update automatically according to Visual Studio’s build configuration.

!In the Visual Studio integrated editor, installations synchronize automatically with the other projects in the solution. Example: adding .EXEs, .DLLs, .OCXs, and assemblies to the solution adds them to the installation.

!Installation meta data fields (examples: application name, version, manufacturer, and default directory) are populated using data from the Visual Studio .NET solution.

When you double-click an installation file in Windows Explorer, you are prompted to select which editor to open the file in. You can set an option on this dialog to always open that file in a specific editor.

If you create an installation project in the Visual Studio integrated editor, and then uninstall Microsoft Visual Studio .NET, you can continue working on the installation project in the Wise editor. However, if you right-click a .WSI or .MSI, an option still exists to edit in the Visual Studio integrated editor, which is no longer possible. Initiate a repair on Wise for Windows Installer to remove options that have to do with the Visual Studio integrated editor.

22

Using Installation Expert

Using Installation Expert

Page Views

Page Groups

To access Installation Expert, click Installation Expert at the lower left of the Wise for Windows Installer main window.

Page Area

 

 

 

 

 

 

 

 

View Navigation

Testing and

Distribution

Page Views

Use the Page Views drop-down list to select a page view, which is a set of Installation Expert page groups and pages. See About Page Views on page 24 and Customizing Page Views on page 25.

Page Groups

When you select a page view, its pages are organized into page groups. Click the group name to expand or collapse its pages. Click a page name to display that page.

Page Area

When you click a page name in a page group, this area displays the page’s options. Each page lets you define a specific aspect of the installation. (Examples: On the Files page, you define what files are included in the installation. On the Registry page, you define what registry keys and values are created on the destination computer.) Complete just the pages that are pertinent to your particular installation, in any order. If required information is missing, Wise for Windows Installer alerts you to the problem during compile.

To display help for the current page, press F1. To return an Installation Expert page to its last saved state, select Edit menu > Reset Page.

View Navigation

Click these tabs to change views. (In Visual Studio: these are buttons instead of tabs.)

23

Using Installation Expert

Testing and Distribution

Compile, Test, Debug, and Run buttons test and compile the installation. The Distribute button copies the installation package to various locations, such as an FTP site or network directory. It also performs administrative installations. (In Visual Studio: These buttons are not available, but the same functionality is available through menu commands.)

About Page Views

A page view is a set of Installation Expert page groups and pages that you select from the Page Views drop-down list. Select a page view to display only specific page groups and pages. There are 3 types of page views:

!Predefined page views that display the groups and pages most frequently used for a particular type of installation. The All page view displays all page groups and pages. The Merge Module page view appears for all merge modules. You cannot edit or delete predefined page views.

!Custom page views that you create to meet your specific needs. See Customizing Page Views on page 25.

!Page views that are created when you create an installation template. You cannot delete these page views. See Creating and Editing Installation Templates on page 60.

The page views are arranged alphabetically in the Page Views drop-down list with the exception of the All page view, which is always first. The list also includes <New View...> and <Customize Page Views...>, which are at the end of the list and are used to create or customize page views.

Predefined Templates and Page Views

Most predefined installation templates have an associated page view. When you create a new installation by using one of these templates, the page view that is associated with that template becomes the default page view of the installation. When you open the installation, this page view appears in the Page Views drop-down list. You can select a different page view from the list at any time (with the exception of the Merge Module page view, which can only be used with merge modules). When you select a different page view, it changes the pages displayed in Installation Expert but does not change the installation type. If you change the page view and save the installation, this new page view displays the next time you open the installation, unless you clear the Display the page view associated with a project when a project is opened checkbox in Wise Options.

Custom Templates and Page Views

When you create an installation template, a page view is created with the same name and is listed in the Page Views drop-down list. For details on creating custom templates, see Creating and Editing Installation Templates on page 60. However, when you use a template to create an installation, the default page view is the page view that was displayed when the template was created. If the template’s default page view is a custom page view, you can customize it. See Customizing Page Views on page 25.

(Enterprise Edition only.) You can share page views that are associated with an installation template because the page view is stored in the template, which is located in the share point directory.

24

Using Installation Expert

Which Page View Appears?

!The Display the page view associated with a project when a project is opened checkbox in Wise Options determines what page view appears. If you clear this checkbox, the page view in Installation Expert does not change when you open a project regardless of its associated page view. See Setting Installation Expert Options on page 51.

!The All page view is used when you open an installation file that does not have an associated page view. An .MSI does not have an associated page view.

Customizing Page Views

You can create customized Installation Expert page views that display only the page groups and pages that you use most often. You can customize the page view of custom installation templates or create customized page views that are not associated with a template. You cannot customize the predefined page views, but you can make a copy of a predefined page view and then customize it.

When you customize a page view, you can specify how many page groups appear, what the group names are, and what pages appear under each group.

Buttons to edit page groups and pages are disabled when a predefined page view is selected in Page View Name.

These pages appear under the group selected in Page Groups.

The page groups appear on the left side of Installation Expert.

To create a page view:

1.From the Page Views drop-down list in Installation Expert, select <New View...>. The Enter Name dialog appears.

2.Enter a name for the page view.

To create an access key for the name, type & before a letter in the name. The page view access keys appear only in the page group’s right-click menu accessed by using the context menu key (the key next to the right Ctrl key).

3.Click OK.

On the Customized Page Views dialog, the new page view is selected in Page View Name, but it has no page groups or page names.

4.To copy the page groups and pages of an existing page view:

Click Copy View. The Copy View dialog appears.

Select the page view to copy and click OK.

25

Using Installation Expert

You can now customize the page view by changing its page groups and pages.

To customize a page view:

1.From the Page Views drop-down list in Installation Expert, select <Customize Page Views...>.

The Customize Page Views dialog appears.

2.Select the page view from Page View Name, and do any of the following:

To add a new page group, click the Page Groups Add button and enter a name.

To rename a page group, select the page group and click Rename.

To add a page to a page group, select the page group and click the Add button to the right of Page Names. In the Select Pages to Add dialog, select one or more pages and click OK.

To delete a page group or a page name, select it and click its Delete button.

3.Click OK on the Customize Page Views dialog.

To delete a page view, select it from Page View Name and click the top Delete button.

Using the Current Feature Drop-Down List

The Current Feature drop-down list appears on pages in the Feature Details page group. When it appears, you can set options on a per-feature or per-condition basis. You add features and conditions on the Features page, then select a feature from Current Feature before setting options on other pages.

Example: Suppose you have 3 features, and each feature requires different registry entries. On the Registry page, you select the first feature from Current Feature, create its registry entries, select the second feature in the list, create its registry entries, and so on. Follow the same steps on the Files or Web Files page: select a feature from Current Feature, then add files for that feature.

During installation, files, registry entries, and other system changes are installed only if the feature they belong to is installed. The same applies to conditions; add files, registry entries, and other changes to a condition, and during installation, those files and registry entries are installed only if the condition is true and the feature is installed.

The All Features (Modify/Delete only) option in Current Feature displays information for all features at once. (Example: On the Files page this option displays all folders and files for all features.) Add and New buttons are disabled while all features are displayed; you must select a single feature to add items.

On some pages, Current Feature also contains numbers in parentheses, which represents the number of that page’s items (files or registry keys) that are assigned to each feature or condition.

26

Using Installation Expert

Using the Current Release Drop-Down List

The Current Release drop-down list appears on pages in the Release Definition page group.

A release is a special version of your application. Example: a 30-day evaluation release for evaluators. Use Current Release to configure separate settings, media, and language options for each release.

27

About the Product Home Page

About the Product Home Page

The Product Home page provides information about your installation of Wise for Windows Installer, quick access to areas of the current installation, and access to Wise Solutions resources on the Web.

The Product Home page appears by default when you start Wise for Windows Installer. To prevent the Home page from appearing by default, clear Display Home page at startup on Wise Options > General tab. To go to the Product Home page, click Home at the lower left of the Wise for Windows Installer main window.

Two Product Home pages are available:

!A static page that is installed with Wise for Windows Installer. This appears if you do not have an Internet connection, or if you disable the dynamic Home page.

!A dynamic page that is downloaded from the Wise Solutions Web site if you are connected to the Internet when you start Wise for Windows Installer. To prevent a dynamic page from being downloaded from the Internet, mark Don’t get Home page from Internet on Wise Options > General tab.

The contents of the page vary depending on the edition of Wise for Windows Installer that you are using. Typical contents are:

!List of most recently used installation files.

!Shortcut links for creating a new installation project or opening an existing one.

28

Using the Task List

Using the Task List

When Wise for Windows Installer encounters installation issues that could cause problems, it displays them in the Task List. You can manually display or hide the Task List from the View menu.

The Task List gathers all installation issues into one place, and makes it easy to analyze their causes. If the issue is caused by an error in a table, you can quickly jump from the Task List to the row in the table that caused the error. See Finding Table Errors From the Task List on page 30.

When you resolve the issue that corresponds to a task, the task is deleted the next time you run the procedure that generated the task. Example: If a task was added to the Task List because of a compile error and you resolve that error, the next time you compile the installation that task is removed from the list.

How Tasks are Added to the Task List

!Save or Compile

If errors occur when you save or compile the installation, the errors are displayed in the Task List.

!Package Validation

When you run Package Validation, validation issues appear in the View / Correct dialog. If you mark the Add to Task List checkbox on the View / Correct dialog, each issue becomes a task in the Task List when you click Finish. If Package Validation encounters save or compile errors, the package validation process ends and the errors are added to the Task List. See Package Validation on page 370.

!Check Tables

When you check tables, the installation is searched for component and table errors and results are placed in the Task List. To check tables, select Setup Editor > Tables tab, right-click in the left pane and select Check Tables. See Finding Validation Errors on page 400.

!User-Defined

In the Enterprise Edition, you can add user-defined tasks to the task list. See Adding User-Defined Tasks on page 31. (Not available in the Visual Studio integrated editor.)

!Meta Data

In the Enterprise Edition, when you create an .MSI or .WSI, a task is added to remind you to add the package meta data to the Software Manager database by filling in the Application and Package fields on the Product Details page.

Note

When you close an installation, all tasks, except user-defined tasks, are removed from the

Task List. (In the Visual Studio integrated editor, user-defined tasks are not available.)

Task List Icons

The following icons help you quickly identify the types of tasks:

An error that will cause incorrect behavior and must be fixed.

29

Using the Task List

Validation issues found by Package Validation. See Validating a

Package on page 370.

A task you created. In the Enterprise Edition, this icon also appears with a task that reminds you to add the package meta data to the Software Manager database.

Operations You Can Perform in the Task List

!Filter tasks by type. See Filtering the Task List.

!Find table errors. See Finding Table Errors From the Task List on page 30.

!Sort a Task List’s column by clicking its header.

!Copy a task’s description by right-clicking its description.

!Delete a task by right-clicking its description.

Filtering the Task List

1.Right-click in the Task List and select Show Tasks, then select a filter. (In Visual Studio: right-click in the Visual Studio .NET Task List and select Show Tasks.)

Save/Compile

(In Visual Studio: this is called Build Errors.) Tasks that correspond to errors generated when you save or compile.

Validation

Tasks that correspond to issues generated during Package Validation.

Component

Tasks that correspond to component errors generated when you check tables. For information on how to check tables, see Using the Task List on page 29.

Table

Tasks that correspond to table validation errors generated when you check tables. For information on how to check tables, see Using the Task List on page 29.

User-Defined

Tasks that you have created. (Enterprise Edition only).

When you set a filter, it is in effect until you change it. However, when you encounter installation issues, the filter is reset to All so installation issues can be displayed.

Finding Table Errors From the Task List

If a task is associated with a table, you can access that table directly from the Task List, which helps you discover the problem that caused the issue.

Example: If a source file for the installation was moved or deleted at its source, a WiseSourcePath table error appears during compile. When you double-click this task, the WiseSourcePath table appears in Setup Editor, and the row in the table that is the cause of the problem is highlighted. Use the source path information in the row to ascertain and resolve the problem.

30

Loading...
+ 530 hidden pages