Wise Solutions WISE FOR WINDOWS INSTALLER 6 User Manual

Wise for Windows Installer, Version 6.0
Copyright
Notice
Trademarks
©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.”
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.
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 the Product Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Using the Task List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Where are Installation Resources Stored?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using the Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Downloading Redistributable Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
About Page Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Customizing Page Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Using the Current Feature Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . 26
Using the Current Release Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . 27
Filtering the Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Finding Table Errors From the Task List. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Adding User-Defined Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
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 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 user­friendly 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

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.)
Documentation Roadmap
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

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.
Getting Help and Product Support
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

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.
Getting Updates Over the Web
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

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.)
Product Editions
Feature Std Pro Ent
General
Specify the target platform for an installation X X
Create configurable merge modules XX
Macro Editor XX
OLE Automation XX
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 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) XX
Debugger for Windows Installer XX
Package Contents Reports X
WiseScript Express XXX
Wise Options
Repository options X
Sharing Installation Resources
Open an installation package from the Wise Software Repository X
XX
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 XX
Clean Build page XX
Mobile Devices page XX
MTS/COM+ page XX
SQL Server Scripts page XX
Web Files page, ability to edit .XML files X X
WebDeploy page XX
WiseUpdate page XX
Tools
Patch Creation and patch support X X X
Software Manager X
Upgrade Sync XXX
Package Validation
Turn individual rules on and off XX
Create a new validation module (.CUB file) X
Create new validation rules X
21

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.
About Visual Studio .NET Integration
22

Using Installation Expert

To access Installation Expert, click Installation Expert at the lower left of the Wise for Windows Installer main window.
Page Views
Using Installation Expert
Page Groups
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
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.
Using Installation Expert
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
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.
Using Installation Expert
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
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.
Using Installation Expert
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 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.
Using Installation Expert
27

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.
About the Product Home Page
28

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.
Using the Task List
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
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.
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.

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