Wise Solutions WISE FOR WINDOWS INSTALLER 5 User Manual

Copyright
©1994-2003 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.
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: A A
PPLICATIONWATCH™; CONFLICTMANAGER®; INSTALLATION DEVELOPMENT LIFE CYCLE™; INSTALLBUILDER®;
I
NSTALLMAKER®; INSTALLMANAGER®; INSTALLTAILOR™; MSI DEBUGGER™; MSI SCRIPT™;
P
ACKAGEMANAGER™; SETUPCAPTURE®; SMARTMONITOR™; SMARTPATCH®; SOFTWARE DISTRIBUTION MADE
E
ASY™; SOFTWARE INSTALLATIONS MADE EASY®; VISUAL MSIDIFF™; VIRTUAL CAPTURE™; WEBDEPLOY™;
W S
OLUTIONS®; 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 M 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.
PPLICATION ISOLATION WIZARD™;
ISE INSTALLATION SYSTEM®; WISE PACKAGE STUDIO®; WISE SOFTWARE REPOSITORY™; WISE
ICROSOFT® WINDOWS® and MICROSOFT® VISUAL STUDIO® .NET, which are registered Trademarks of
Wise Solutions, Inc.
47911 Halyard Drive Plymouth, Michigan 48170 USA Phone: 734-456-2100 • Fax: 734-456-2456 E-mail: info@wise.com • Web: www.wise.com
2
5.0
Contents
1 Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Documentation Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Getting Help and Product Support . . . . . . . . . . . . . . . . . . . . . . . . . .18
Getting Updates Over the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
2 Wise for Windows Installer Basics . . . . . . . . . . . . . . 21
Wise for Windows Installer Editions . . . . . . . . . . . . . . . . . . . . . . . . .22
Options for New Installations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Project Files and Database Files. . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Specifying the Target Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
What’s Different in a 64-Bit Installation? . . . . . . . . . . . . . . . . . . .30
Using Installation Expert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Customizing Installation Expert Page Groups . . . . . . . . . . . . . . . .33
Using the Current Feature Drop-Down List . . . . . . . . . . . . . . . . . .34
Using the Current Release Drop-Down List . . . . . . . . . . . . . . . . . .36
Compiling, Testing, and Running Your Installation . . . . . . . . . . . . . . .37
Compiling Your Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Testing Your Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Running Your Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Using the Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Filtering the Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Finding Table Errors From the Task List . . . . . . . . . . . . . . . . . . . .42
Adding User-Defined Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Creating and Editing Installation Templates . . . . . . . . . . . . . . . . . . . .44
Setting Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Setting General Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Setting .NET Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Setting Digital Signature Preferences. . . . . . . . . . . . . . . . . . . . . .50
Setting Installation Expert Options . . . . . . . . . . . . . . . . . . . . . . .51
Setting Merge Module Directories . . . . . . . . . . . . . . . . . . . . . . . .52
Activating Suppressed Prompts . . . . . . . . . . . . . . . . . . . . . . . . . .53
3
CONTENTS
Setting Repository Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . 53
Setting Source Control Preferences . . . . . . . . . . . . . . . . . . . . . . . 55
Setting the Target Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
About Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Selecting a Component Rule Set. . . . . . . . . . . . . . . . . . . . . . . . . 59
Using Component Rules to Align GUIDs in an Upgrade . . . . . . . . . 61
Customizing Component Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Microsoft Best Practices Component Rule Set . . . . . . . . . . . . . . . . 65
One File Per Component Rule Set . . . . . . . . . . . . . . . . . . . . . . . . 66
Where are Installation Resources Stored? . . . . . . . . . . . . . . . . . . . . 68
Using the Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Sharing Installation Resources . . . . . . . . . . . . . . . . . . . . . . . . . . 70
About the Share Point Directory in Wise for Windows Installer . . . . 72
Sharing the Wise Software Repository With Wise Package Studio . . 73
Generating Shared Resource Reports . . . . . . . . . . . . . . . . . . . . . 75
Downloading Redistributable Files . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Downloading Redistributables From the Wise Web Site or Product CD . 78
Downloading Redistributables From Other Vendors’ Web Sites . . . . 79
Command Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Command Line Option Example . . . . . . . . . . . . . . . . . . . . . . . . . 82
Automating the Build Process. . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3 Setting Up Your Project . . . . . . . . . . . . . . . . . . . . . . . 83
Before You Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Starting a New Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Product Details Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Incrementing the Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Setting the Default Installation Directory . . . . . . . . . . . . . . . . . . . 88
General Information Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Add/Remove Programs Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Features Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Strategies for Organizing Files Into Features . . . . . . . . . . . . . . . . 94
Adding a New Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Configuring a Feature Using Its Drop-Down List . . . . . . . . . . . . . . 97
Configuring a Feature Using the Feature Details Dialog . . . . . . . . . 98
Using Conditions With Features . . . . . . . . . . . . . . . . . . . . . . . . 102
Adding and Deleting Feature Conditions . . . . . . . . . . . . . . . . . . 103
Managing Binary Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4
CONTENTS
Adding Binary Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
Refreshing Binary Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4 Building Your Installation . . . . . . . . . . . . . . . . . . . . 109
Files Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Files Page Directories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Files Page Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
Adding a File to the Installation. . . . . . . . . . . . . . . . . . . . . . . . .112
Adding Merge Modules Instead of Files. . . . . . . . . . . . . . . . . . . .114
Adding Contents of Directories to the Installation . . . . . . . . . . . .115
Wildcard Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
Adding .NET Assemblies to the Installation . . . . . . . . . . . . . . . . .118
Editing Settings for Automatic Updating . . . . . . . . . . . . . . . . . . . 119
Removing a File From the Destination Computer . . . . . . . . . . . . .121
Copying and Moving Files on the Destination Computer . . . . . . . .123
Editing File Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
How Self-Registration Information is Captured . . . . . . . . . . . . . .132
Registry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Creating or Editing Registry Key Settings . . . . . . . . . . . . . . . . . .136
Removing Registry Entries From the Destination Computer . . . . .137
Importing and Exporting Registry Entries . . . . . . . . . . . . . . . . . . 139
Configuring General Registry Settings . . . . . . . . . . . . . . . . . . . . 139
Configuring Permissions for Registry Keys . . . . . . . . . . . . . . . . .141
Viewing Shared Registry Resources . . . . . . . . . . . . . . . . . . . . . . 142
Special Registry Keys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
INI Files Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Creating or Editing .INI Files. . . . . . . . . . . . . . . . . . . . . . . . . . .143
Tips for Creating and Editing .INI Files . . . . . . . . . . . . . . . . . . . . 145
Shortcuts Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Adding a Shortcut to Your Installation . . . . . . . . . . . . . . . . . . . . 146
Editing a Shortcut Configuration . . . . . . . . . . . . . . . . . . . . . . . .148
Environment Variables Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
File Associations Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Determining Extension Settings . . . . . . . . . . . . . . . . . . . . . . . .152
Adding Command Verbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Selecting MIME Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Services Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Adding a Service to the Destination Computer . . . . . . . . . . . . . .154
Controlling Services on the Destination Computer . . . . . . . . . . . . 156
ODBC Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
5
CONTENTS
Setting ODBC Data Source Details . . . . . . . . . . . . . . . . . . . . . . 158
Setting ODBC Driver Details. . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Setting ODBC Translator Details . . . . . . . . . . . . . . . . . . . . . . . . 159
5 Your Installation on the Destination Computer . . . . 161
About System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Setting a Requirement on the System Requirements Page. . . . . . 162
Setting a Requirement by Creating a Launch Condition . . . . . . . . 164
Performing a System Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Searching For Files or Directories . . . . . . . . . . . . . . . . . . . . . . . 166
Searching For Items in .INI Files . . . . . . . . . . . . . . . . . . . . . . . 169
Searching For a Registry Value. . . . . . . . . . . . . . . . . . . . . . . . . 171
Searching For a Previously-Installed Component . . . . . . . . . . . . 172
Setting Features for Installation Types . . . . . . . . . . . . . . . . . . . . . . 174
6 Organizing Your Installation Into Releases . . . . . . . 177
About Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Creating a New Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Outputting a Multiple-Language Release . . . . . . . . . . . . . . . . . . 180
Customizing a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Customizing Properties for a Particular Release . . . . . . . . . . . . . 182
Customizing Summary Items for a Particular Release . . . . . . . . . 183
Defining a Feature Set for a Release . . . . . . . . . . . . . . . . . . . . . 184
Sharing Settings Between Releases . . . . . . . . . . . . . . . . . . . . . 184
Creating a Demo Release: An Example . . . . . . . . . . . . . . . . . . . 185
Setting Build Options for a Release . . . . . . . . . . . . . . . . . . . . . . . . 187
Creating a Clean Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Creating Web-Based Installations With WebDeploy . . . . . . . . . . . . . 193
The WebDeploy Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Tips for Creating an Efficient WebDeploy Installation . . . . . . . . . 196
Creating a WebDeploy Installation . . . . . . . . . . . . . . . . . . . . . . 196
Uploading a WebDeploy Installation to the Web . . . . . . . . . . . . . 198
Setting Up Media for Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . 201
Adding a Media Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Adding a Media Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Including Features and Components in Media Items . . . . . . . . . . 206
Sharing Media Settings Between Releases . . . . . . . . . . . . . . . . . 207
Spanning an Installation Across Media and Sharing Media Size
Information: An Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6
CONTENTS
7 Advanced Installations . . . . . . . . . . . . . . . . . . . . . . 211
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
Installing a Web Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Setting Up a Web Application Installation . . . . . . . . . . . . . . . . . .218
Setting Up a Virtual Directory . . . . . . . . . . . . . . . . . . . . . . . . . .219
Configuring a Microsoft SQL Server During Installation . . . . . . . . . . . 223
Setting SQL Connection Strings. . . . . . . . . . . . . . . . . . . . . . . . .224
Specifying SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Specifying Replacements in SQL Statements . . . . . . . . . . . . . . .226
Importing .NET Framework Security Settings . . . . . . . . . . . . . . . . . 228
MTS/COM+ Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Adding an MTS or COM+ Application . . . . . . . . . . . . . . . . . . . . .231
8 Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Pocket PC and Smartphone Installations . . . . . . . . . . . . . . . . . . . . .236
How a Pocket PC or Smartphone Installation Works. . . . . . . . . . . 236
Processor and Platform Support for Pocket PC . . . . . . . . . . . . . . 237
Compiling a Pocket PC or Smartphone Installation. . . . . . . . . . . .238
Creating a Pocket PC or Smartphone Installation. . . . . . . . . . . . . 238
Palm OS Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
9 Translating an Installation . . . . . . . . . . . . . . . . . . . 253
About the Languages Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Translating Your Installation Into Another Language. . . . . . . . . . . . . 255
Creating a Translated .MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Creating a Language Transform . . . . . . . . . . . . . . . . . . . . . . . .257
Sharing Language Settings Between Releases. . . . . . . . . . . . . . .259
Removing a Language from Your Installation . . . . . . . . . . . . . . .260
Defining and Translating Into Additional Languages . . . . . . . . . . . . .262
About the New Language Wizard. . . . . . . . . . . . . . . . . . . . . . . .263
Defining a New Language and Exporting All Text for Translation . . 264
Importing All Text Strings After Translation . . . . . . . . . . . . . . . .265
Importing All Text Strings With the New Language Wizard . . . . . .267
Translating Text Strings You’ve Added or Changed . . . . . . . . . . . . . .269
Translating Text Strings by Exporting to a File . . . . . . . . . . . . . .269
Translating Text Directly Without Exporting It. . . . . . . . . . . . . . .273
Resizing Buttons and Text Boxes After Translation . . . . . . . . . . . . . .276
7
CONTENTS
Using the Language Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Changing the Default Language . . . . . . . . . . . . . . . . . . . . . . . . 277
About the Default Release Language . . . . . . . . . . . . . . . . . . . . . 279
About the Language Strings Dialog . . . . . . . . . . . . . . . . . . . . . . . . 280
Keeping Track of Changed Text Strings . . . . . . . . . . . . . . . . . . . 280
What Pre-Translated Languages Are Available? . . . . . . . . . . . . . . . . 282
Language IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10Distributing Your Installation . . . . . . . . . . . . . . . . . 285
Package Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Copying an Installation to the Share Point Directory . . . . . . . . . . 286
Copying a Compiled Setup Program to the Network . . . . . . . . . . 288
Copying a Compiled Setup Program to an FTP Server . . . . . . . . . 288
Performing an Administrative Installation of a Windows Installer
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Copying a Setup Program to Removable Media. . . . . . . . . . . . . . 290
WiseUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
The WiseUpdate Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Using WiseUpdate in Your Installation . . . . . . . . . . . . . . . . . . . . 295
Using the WiseUpdate Client . . . . . . . . . . . . . . . . . . . . . . . . . . 303
WiseUpdate Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Troubleshooting WiseUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . 306
11Upgrading Applications . . . . . . . . . . . . . . . . . . . . . . 307
Preparing for Software Updates . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Step 1: Archive Shipping Version of .MSIs . . . . . . . . . . . . . . . . . 308
Step 2: Determine the Form of the Update . . . . . . . . . . . . . . . . 308
Step 3: Determine the Product Code and Product Version . . . . . . 310
Step 4: Check Installation With UpgradeSync . . . . . . . . . . . . . . 310
Using UpgradeSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
What You Need to Create a Patch . . . . . . . . . . . . . . . . . . . . . . . 315
Creating a Patch File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Specifying Previous Versions for Patches . . . . . . . . . . . . . . . . . . 320
Advanced Upgrade Version Settings . . . . . . . . . . . . . . . . . . . . . 321
Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
What You Need to Create an Upgrade . . . . . . . . . . . . . . . . . . . . 323
What is the Upgrade Code? . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Creating an Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
8
CONTENTS
12Working With Source Paths . . . . . . . . . . . . . . . . . . . 327
Using Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Adding a Project to Source Control . . . . . . . . . . . . . . . . . . . . . .329
Adding Files to Source Control . . . . . . . . . . . . . . . . . . . . . . . . . 331
Checking Files In. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Checking Files Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332
Getting Latest Version of Files. . . . . . . . . . . . . . . . . . . . . . . . . .333
Removing Files from Source Control . . . . . . . . . . . . . . . . . . . . .333
Undoing Check Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333
Showing History of the Project File . . . . . . . . . . . . . . . . . . . . . . 334
Showing the Differences Between Project Files . . . . . . . . . . . . . . 334
Comparing to Latest Installation in Source Control . . . . . . . . . . . 335
Defining Path Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Turning Path Variable Substitution On and Off . . . . . . . . . . . . . .338
Creating a User-Defined Path Variable . . . . . . . . . . . . . . . . . . . .338
Creating a Path Variable Based on an Environment Variable . . . . . 339
Creating a Path Variable Based on a Registry Value. . . . . . . . . . .340
Changing Source Paths in an Installation . . . . . . . . . . . . . . . . . . . . 342
Changing One Source Directory . . . . . . . . . . . . . . . . . . . . . . . .342
Changing Multiple Source Directories . . . . . . . . . . . . . . . . . . . . .343
Converting to Relative Source File Paths . . . . . . . . . . . . . . . . . .344
Converting to UNC-Based Source File Paths . . . . . . . . . . . . . . . . 345
Changing the Source Directory Dynamically During Compile. . . . .346
Converting an .MSI to a .WSI File . . . . . . . . . . . . . . . . . . . . . . . . . 349
Using the .MSI to .WSI Conversion Tool . . . . . . . . . . . . . . . . . . .349
Specifying Merge Module Source Directories . . . . . . . . . . . . . . . . 351
Specifying File Source Directories . . . . . . . . . . . . . . . . . . . . . . . 353
13Merge Modules and Transforms. . . . . . . . . . . . . . . . 357
About Merge Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
Available Tabs and Pages in Merge Modules . . . . . . . . . . . . . . . .359
Creating a Merge Module by Creating a New Installation . . . . . . .359
Creating a Merge Module From Existing Components . . . . . . . . . . 365
Creating a Configurable Merge Module . . . . . . . . . . . . . . . . . . . . 366
About the Merge Modules Page . . . . . . . . . . . . . . . . . . . . . . . . .374
About Transforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
Creating a Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
Setting Transform Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Applying a Transform to an Installation . . . . . . . . . . . . . . . . . . .383
9
CONTENTS
14Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
ApplicationWatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Convert InstallShield Professional . . . . . . . . . . . . . . . . . . . . . . . . . 390
Convert SMS Installer or WiseScript Installation . . . . . . . . . . . . . . . 392
Import Visual Studio Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Importing an Installation From a Visual Studio Project . . . . . . . . 394
Package Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Validating a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Customizing Validation Modules . . . . . . . . . . . . . . . . . . . . . . . . 402
Predefined Validation Modules . . . . . . . . . . . . . . . . . . . . . . . . . 413
15Setup Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
About Setup Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Product Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Specifying Summary Information . . . . . . . . . . . . . . . . . . . . . . . 418
Features Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
About the Features Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Working With Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Components Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Modules Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Working With Items in the Combined Folder . . . . . . . . . . . . . . . 423
Components Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
About the Component Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Component Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Adding a Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Editing a Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Moving Items Between Components . . . . . . . . . . . . . . . . . . . . . 439
About the Key Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Isolating a .DLL With an .EXE. . . . . . . . . . . . . . . . . . . . . . . . . . 440
Adding Published Components . . . . . . . . . . . . . . . . . . . . . . . . . 441
10
Tables Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Working With Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Editing Binary Data in the Icon Table . . . . . . . . . . . . . . . . . . . . 449
Comparing Windows Installer Files . . . . . . . . . . . . . . . . . . . . . . 450
About Wise Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
CONTENTS
16Using Conditions and Properties . . . . . . . . . . . . . . . 455
Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456
Where Can You Use Conditions? . . . . . . . . . . . . . . . . . . . . . . . . 456
Condition Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Examples of Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460
Creating Conditions Using Condition Builder . . . . . . . . . . . . . . . . 461
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
How Do You Use Properties? . . . . . . . . . . . . . . . . . . . . . . . . . . .469
Creating a New Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . .469
Build Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .471
INI File Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476
Runtime Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479
17Working With Dialogs . . . . . . . . . . . . . . . . . . . . . . . 481
About Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .482
About the Wizard Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .482
Choosing Dialogs on the Dialogs Page . . . . . . . . . . . . . . . . . . . . . .485
Changing the Theme of Your Dialogs . . . . . . . . . . . . . . . . . . . . .485
Adding and Editing Dialog Themes. . . . . . . . . . . . . . . . . . . . . . .486
Importing Text into License and Readme Dialogs . . . . . . . . . . . .487
About the Dialogs Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Turning Dialogs On or Off. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Adding Controls to Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . .489
Editing Dialog Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .490
Creating a New Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .491
Organizing and Aligning Controls in Dialogs . . . . . . . . . . . . . . . .492
About Dialog Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495
Types of Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495
Basic Control Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .497
Setting an Event on a Control . . . . . . . . . . . . . . . . . . . . . . . . . .500
Assigning Help to a Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Assigning Conditions to a Control . . . . . . . . . . . . . . . . . . . . . . . 502
Setting the Graphic for a Control. . . . . . . . . . . . . . . . . . . . . . . . 502
Setting the Items in a Control. . . . . . . . . . . . . . . . . . . . . . . . . . 502
Adding Billboards to a Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . .504
How Billboards Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504
Creating a Billboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Obtaining Logon Information From a Dialog . . . . . . . . . . . . . . . . . . 508
Adding the Logon Information Dialog . . . . . . . . . . . . . . . . . . . . . 508
11
CONTENTS
18Macro Editor and OLE Automation . . . . . . . . . . . . . . 511
About Macro Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Manually Run Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Wise for Windows Installer Event Macros . . . . . . . . . . . . . . . . . . . . 515
Writing and Editing a Macro for a Wise for Windows Installer Event . . 515
About the Macro Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Macro Editor Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Macro Editor Right-Click Menu . . . . . . . . . . . . . . . . . . . . . . . . . 519
OLE Automation for Wise for Windows Installer Functions . . . . . . . . 521
About Visual Basic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Object Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
19Debugger for Windows Installer . . . . . . . . . . . . . . . 547
About the Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Parts of the Debugger Window . . . . . . . . . . . . . . . . . . . . . . . . . 549
Rearranging the Debugger Window . . . . . . . . . . . . . . . . . . . . . . 550
Running the Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Setting and Clearing Debugger Breakpoints . . . . . . . . . . . . . . . . 552
Evaluating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Working With Temporary Tables and Columns . . . . . . . . . . . . . . 553
Searching For Text in Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 553
20Using MSI Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
The MSI Script Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
About MSI Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
About Installation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
About Installation Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Finding Text in MSI Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Editing Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Types of Actions in Sequences . . . . . . . . . . . . . . . . . . . . . . . . . 564
About the Standard and Custom Tabs . . . . . . . . . . . . . . . . . . . . 565
Adding and Editing Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Commenting Out Script Lines. . . . . . . . . . . . . . . . . . . . . . . . . . 566
Calling WiseScripts with Custom Actions . . . . . . . . . . . . . . . . . . . . 567
WiseScript Editing Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Examples of WiseScripts You Run From an .MSI . . . . . . . . . . . . . 568
12
CONTENTS
Guidelines for Using Custom Actions . . . . . . . . . . . . . . . . . . . . . . .574
Tips on Custom Action Location. . . . . . . . . . . . . . . . . . . . . . . . . 574
Tips on Custom Action Conditions . . . . . . . . . . . . . . . . . . . . . . . 575
Tips for Running Install MSI Custom Actions. . . . . . . . . . . . . . . .576
Tips for Calling VBScripts and JScripts . . . . . . . . . . . . . . . . . . . .578
Tips on Calling .DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Launching a Custom Action from a Dialog . . . . . . . . . . . . . . . . . . . .581
Custom Actions That Are Added Automatically. . . . . . . . . . . . . . . . . 582
Troubleshooting: When Custom Actions Don’t Work . . . . . . . . . . . . .584
21Custom Action Reference. . . . . . . . . . . . . . . . . . . . . 585
Call Custom DLL From Destination . . . . . . . . . . . . . . . . . . . . . . . . . 585
Call Custom DLL From Installation . . . . . . . . . . . . . . . . . . . . . . . . .587
Call Custom DLL From Installed Files . . . . . . . . . . . . . . . . . . . . . . .588
Configuring .DLL Parameter Settings . . . . . . . . . . . . . . . . . . . . . . .589
Call DLL From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Call DLL From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . .591
Call JScript From Embedded Code . . . . . . . . . . . . . . . . . . . . . . . . .592
Call JScript From Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . .593
Call JScript From Installed Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Call JScript From Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .595
Call VBScript From Embedded Code . . . . . . . . . . . . . . . . . . . . . . . .596
Call VBScript From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Call VBScript From Installed Files. . . . . . . . . . . . . . . . . . . . . . . . . . 598
Call VBScript From Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . .599
Display Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Download File From Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
End Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .602
Execute Program From Destination . . . . . . . . . . . . . . . . . . . . . . . .602
Execute Program From Installation . . . . . . . . . . . . . . . . . . . . . . . .603
Execute Program From Installed Files. . . . . . . . . . . . . . . . . . . . . . . 604
Execute Program From Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
If Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Install MSI From Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . .606
Install MSI From Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Install MSI From Relative Path. . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Launch Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .610
Open Document From Installed Files . . . . . . . . . . . . . . . . . . . . . . . 610
Pause Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .610
13
CONTENTS
Post Data to HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Remark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Run WiseScript From Destination . . . . . . . . . . . . . . . . . . . . . . . . . 612
Run WiseScript From Installation . . . . . . . . . . . . . . . . . . . . . . . . . 613
Run WiseScript From Installed Files. . . . . . . . . . . . . . . . . . . . . . . . 615
Set Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Set Feature State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Set Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Terminate Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Using the Custom Action Location Tab . . . . . . . . . . . . . . . . . . . . . . 620
Using the Custom Action Location Tab for Merge Modules. . . . . . . . . 621
Using the Custom Action Properties Tab . . . . . . . . . . . . . . . . . . . . . 623
22Windows Installer and .NET Technologies. . . . . . . . 627
About Microsoft Windows Installer. . . . . . . . . . . . . . . . . . . . . . . . . 628
Frequently Asked Questions About Microsoft Windows Installer . . 628
Working With Components and Features . . . . . . . . . . . . . . . . . . 631
About GUIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
About Microsoft .NET Technology. . . . . . . . . . . . . . . . . . . . . . . . . . 633
Microsoft .NET FAQs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Requirements for Creating a .NET Installation . . . . . . . . . . . . . . 636
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
14
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.
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 in this section cover:
! Documentation Roadmap.
! Getting Help and Product Support.
! How to Check Online Help.
! Getting Updates Over the Web.
15
1: WELCOME

Documentation Roadmap

The Wise for Windows Installer Reference Manual, online help, and Getting Started Guide assume that you are proficient in the use of the Windows
operating system. If you need help using the operating system, consult its user documentation.
Wise for Windows Installer often provides multiple ways to accomplish a task. In some cases, you can use the main menu, the right-click menu, or a toolbar, or you can press a key combination, but instructions in this documentation generally include only the most convenient method. If you are most comfortable with a particular method, check the right-click menu, the main menu, and the toolbar to learn the options available to you.
To learn about Wise for Windows Installer, see the following:
! Reference Manual. The reference manual is available in .PDF format
from the Help menu. It contains detailed technical information and step­by-step instructions for performing common tasks. The Wise for Windows Installer reference material consists of two reference manuals: Wise for Windows Installer and WiseScript Editor. The Enterprise Edition also includes a Software Manager reference manual. They contain detailed technical information and step-by-step instructions for performing common tasks. Each reference manual is available in .PDF format from the individual product’s Help menu; select Reference Manual. Printed manuals are available from Wise Solutions for a fee; see
Contact Wise Solutions Sales on page 19.
! Online Help. All the material in the reference manual is also available
in the online help system. To access the contents, index, and search functions, select Help Topics from the Help menu. To access context­sensitive help, press the F1 key from any place in the product, and you will see help that describes the part of the product that you are in.
! Getting Started Guide. The printed Getting Started Guide contains
system requirements, installation instructions, and a tutorial. You can access a .PDF copy of the Getting Started Guide from the Help menu in Wise for Windows Installer.
! Windows Installer SDK Help. You can access the online help for
Windows Installer by selecting Windows Installer SDK Help from the Help menu within Wise for Windows Installer. This gives you access to the developer documentation for Windows Installer, which is written by Microsoft. Because Wise for Windows Installer is a front end for Windows Installer, you can get more technical details about the way Windows Installer works from its own help system. Also, the reference manual and online help for Wise for Windows Installer often refer you to the Windows Installer SDK Help for more details.
16
DOCUMENTATION ROADMAP
! Release Notes. You can access the product release notes by selecting
Release Notes from the Help menu. The release notes document, which is in HTML format, lists new features, enhancements, bug fixes, and known issues for the current version. It also links you to release notes for previous product versions.
17
1: WELCOME

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
Press the F1 key to display a help window for the active page or dialog. You can get help on most windows and dialogs in the product. Select Help Topics from the Help menu to see all the information in the Reference Manual presented on-screen.
Select other commands from the Help menu to view information on using help, to view the Windows Installer SDK Help, to view the .PDF-format Reference Manual, to view resources on the Web, or to upgrade to the latest point release.
If you need help and cannot find the answer in the documentation, read about our technical support options below.
Use the Wise Solutions Technical Support Center
Registered Wise customers can use the Technical Support Center, located at support.wise.com, to access a wide array of technical support services. At this Web site, you can 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 Newsgroups by visiting www.wise.com/newsgroups.asp. Newsgroup postings by fellow administrators contain answers, tips, analysis, and other comments. Contribute your own expertise to help others.
Subscribe to TechInfo
TechInfo is a free monthly e-mail newsletter that contains technical tips, product updates, and other important technical information. To subscribe or to read back issues, check the Support section at www.wise.com.
Ask Our Support Team
18
If you can’t find an answer in our online resources, Wise Solutions offers flexible payment options to meet your support needs. You can obtain support by phone or online at support.wise.com. For additional details about our support services, see www.wise.com/supportoptions.asp or call
GETTING HELP AND PRODUCT SUPPORT
1-734-456-2600. Before you contact technical support, make sure you have the following:
! Serial number and product version, which you can find by selecting
About... from the Help menu.
! Operating system version and service pack version if applicable.
! A description of what you do before the problem occurs.
! Your name, company name, and how to contact you.
! Contract number or payment information, if applicable.
Take Advantage of our Consulting and Training Services
When you have a challenging repackaging or installation problem, turn to Wise Solutions for help. We put our expertise to work for you with script writing, repackaging, installation development, and more. Upgrade your personnel’s skills with one of our many training classes; check our Web site (www.wise.com) for the schedule in your area. Our Web site also lists consulting services that you can obtain for your company. Our solutions are fully customizable to fit your project and budget.
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: http://www.wise.com/ordercentermain.asp
19
1: WELCOME

Getting Updates Over the Web

The Check for Updates command on the Help menu provides an easy way to 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 Check for Updates from the Help menu.
You are connected to the Product Updates page of the Wise Solutions Web site.
• If you have not registered this product, follow the screen prompts to
register. After you complete the registration, go to the Support page, click the link to the Download Center, and click the link to the Updates page.
• If you have registered this product, you are connected to the
Updates 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. On the General tab of the Preferences dialog, select an option in the Check for Updates drop­down list. This sets the frequency at which you want to be reminded to check for updates.
20
Chapter 2

Wise for Windows Installer Basics

Read this overview before creating your first installation. It contains information on getting started with Wise for Windows Installer. Topics cover:
! Wise for Windows Installer Editions.
! Options for New Installations.
! File Types.
! Project Files and Database Files.
! Specifying the Target Platform.
! Using Installation Expert.
! Compiling, Testing, and Running Your Installation.
! Using the Task List.
! Creating and Editing Installation Templates.
! Setting Preferences.
! Component Rules.
! Where are Installation Resources Stored?
! Using the Enterprise Edition.
! Downloading Redistributable Files such as merge modules and Windows
Installer and .NET runtimes.
! Command Line Options.
! Automating the Build Process.
21
2: WISE FOR WINDOWS INSTALLER BASICS

Wise for Windows Installer Editions

Wise for Windows Installer is available in three editions, each designed to fulfill the needs of a particular type of user. The version you purchase determines what features are available to you.
! Enterprise Edition is a Windows Installer® and .NET authoring tool that
supports organizations that develop multiple software applications which 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 authoring tool
designed 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 an installation authoring tool designed for
professional software developers who want basic but robust support for creating Windows Installer® and .NET installations.
The following table, which intentionally does not mention all features, only summarizes the differences between each edition. If a particular feature is not listed, then it is included in all product editions. For a more comprehensive list of all features, refer to the Products section of the Wise Solutions Web site (www.wise.com). For a list of new features and enhancements in the current release, refer to the Release Notes, which are in an HTML file available from the Help menu.
Feature Std Pro Ent
General
Specify the target platform for an installation X X
Create configurable merge modules X X
Macro Editor XX
OLE Automation XX
User-defined tasks X
Use merge modules from the Wise Software Repository X
Enable the Logon Information dialog to configure server software after installation to run under a particular user
XX
Debugger for Windows Installer X X
WiseScript Express XXX
Preferences
22
WISE FOR WINDOWS INSTALLER EDITIONS
Feature Std Pro Ent
Repository settings X
Sharing Installation Resources
Share installation resources in the share point directory X
Distribute to the share point directory X
View 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 XX
Mobile Devices page XX
MTS/COM+ page XX
SQL Server Scripts page X X
Virtual Directories page and ability to install Web applications X X
WebDeploy page XX
WiseUpdate page XX
Tools
Patch Creation tool and patch support X X X
Software Manager X
Upgrade Sync XXX
Package Validation tool
Turn individual rules on and off X X
Create a new validation module (.CUB file) X
Create new validation rules X
23
2: WISE FOR WINDOWS INSTALLER BASICS

Options for New Installations

When you create a new installation, you first choose what kind of installation you want to create. The New Installation File dialog shows several options, each of which starts an installation in a different way. You can create new files either in Windows Installer database format (.MSI/ .MSM) or in Wise’s project format (.WSI/.WSM). Some options let you start a new installation by using a tool, such as Palm Application, and some let you create different kinds of Windows Installer installations from templates.
! Predefined Templates. Templates created by Wise Solutions.
Windows Application. See Starting a New Installation on page 85.
Web Application. See Setting Up a Web Application Installation on
page 218.
Server Application. See Obtaining Logon Information From a
Dialog on page 508. Installations created from this template work
only on Windows NT, Windows 2000, or Windows XP.
Pocket PC Application. See Creating a Pocket PC or Smartphone
Installation on page 238.
Palm Application. See Palm OS Installations on page 249.
Smartphone Application. See Creating a Pocket PC or
Smartphone Installation on page 238.
! Custom Templates. If you make your own templates, they appear
under this category. See Creating and Editing Installation Templates on page 44.
! Other Templates.
Merge Module. See Creating a Merge Module by Creating a New
Installation on page 359.
Transform. See Creating a Transform Based on an Existing .MSI on
page 381.
! Conversion Tools. Templates that open wizards to convert installations
from other formats.
SMS Installer or WiseScript Installation. See Convert SMS
Installer or WiseScript Installation on page 392.
InstallShield Professional. See Convert InstallShield Professional
on page 390.
24
OPTIONS FOR NEW INSTALLATIONS
! Import Tools. The following tools import a development project file
into an installation. Target file information is extracted from the project file and added to the installation. See Import Visual Studio Projects on page 394.
Visual Basic.
Visual C#.
Visual J#.
When you choose an option above, you can also choose the format of the file:
! Create standard .MSI or .MSM file that contains all binary and
cabinet files. Mark this option to create a new Windows Installer installation file. Because the installation file generally encapsulates all the files of the installation, an .MSI is usually larger in size and takes longer to save. Also, some options that determine the output of an .MSI file are not available if you choose to work with the .MSI file itself. To create a project file that contains instructions for compiling the .MSI or .MSM file, select the option below.
! Create .WSI or .WSM project file that can be compiled into an
.MSI or .MSM. Mark this option to create a project file instead of a installation file. Unlike .MSI files, project files are NOT installation files that can be distributed; they describe and compile to a distributable .MSI file. Working in a project file lets you edit and save the .WSI file quickly and gives you more options for outputting the .MSI file. A .WSI file compiles to an .MSI file, and a .WSM file compiles a .MSM file (merge module).
The Target Platform section appears if the Prompt for target platform option is marked in the Target Platform tab of the Preferences dialog. For information about 64-bit installations, see What’s Different in a 64-Bit
Installation? on page 30.
! Create installation for 32-bit platform enables the installation for
32-bit platforms.
! Create installation for 64-bit platform enables the installation for
64-bit platforms.
25
2: WISE FOR WINDOWS INSTALLER BASICS

File Types

Wise for Windows Installer lets you create and edit different types of Windows Installer database files, which can be executed by the Windows Installer software. You can either create and edit the actual Windows Installer database file, or create and edit a project file that contains instructions for compiling the Windows Installer database file; see Project
Files and Database Files on page 28. There are distinct file types for
standard installation database files, merge modules, patch files, and transforms. Each extension is described below.
Extension Description
.MSI Windows Installer file. An .MSI is a distributable Windows Installer
installation package file. The .MSI file extension is associated with the Windows Installer executable, MSIExec.EXE. When a file with this extension is opened on a destination computer, the Windows Installer software executes it, thereby installing an application. You can open and edit .MSI files in Wise for Windows Installer; however, because you are already working in an .MSI file, options that have to do with creating an .MSI file, such as those on the Releases, Release Settings, and Media page, are disabled. You can convert an .MSI to a project file (.WSI); see
Converting an .MSI to a .WSI File on page 349.
.WSI Wise for Windows Installer project file. A project file stores a description
of a Windows Installer installation package (.MSI file), and is in the same format as an .MSI file. The .WSI file extension is unique to Wise for Windows Installer. You can open the .WSI file in Wise for Windows Installer and click the Compile button to create the corresponding .MSI file. The advantages of working in a .WSI file instead of directly editing an .MSI file are that the .WSI file is smaller in size, and that you can set multiple options for the output of the .MSI file.
.MSM Windows Installer merge module. Merge modules are pre-compiled
libraries of components (files, registry changes, and other system changes) that install a discrete portion of your application. They cannot be run alone, but must be merged with a Windows Installer database (.MSI). Merge modules give you flexibility in developing installations because you can break the installation of your application into logical parts and share merge modules between projects. See About Merge
Modules on page 358.
26
FILE TYPES
Extension Description
.WSM Windows Installer merge module project file. This file extension is unique
to Wise for Windows Installer. It is a project file that stores a description of a Windows Installer merge module (.MSM), but does not store the merge module contents. You can open the .WSM file in Wise for Windows Installer and click the Compile button to create the corresponding .MSM file. See About Merge Modules on page 358.
.MST Windows Installer transform file. A transform changes a Windows
Installer package at runtime, and must be applied from the command line. See About Transforms on page 380.
.MSP Windows Installer patch. A patch is a small update that only updates an
existing installed application. Patch installations contain only the differences between the old and new versions of an application. You create a patch installation by using the Patch Creation tool. This creates an .MSP file that you distribute to end users. See Patches on page 315.
.PCP Windows Installer patch creation project file. Contains the settings and
other information necessary to compile a Windows Installer patch. When you use the Patch Creation tool to create a patch, a patch creation project file is created for you automatically. See Patches on page 315.
.EXE You can choose to have the .MSI file wrapped inside an .EXE file. Doing so
gives you the option of pre-installing the Windows Installer database engine before performing your own installation. If there is a possibility that the Windows Installer database engine is not on the destination computer, then use this option because your .MSI file cannot run if the Windows Installer database engine is not installed. See Setting Build
Options for a Release on page 187 for more information.
27
2: WISE FOR WINDOWS INSTALLER BASICS

Project Files and Database Files

In most cases, the setup program that you distribute will be an .MSI file. Windows Installer operates on .MSI files, which are a type of relational database that stores installation information and files in tables. See About
Microsoft Windows Installer on page 628.
On the Build Options page (see Setting Build Options for a Release on page 187) or on the Media page (see Setting Up Media for Distribution on page 201), you can specify to output an installation in different ways:
! As a single-file .MSI, which contains compressed installation files.
! As an .MSI file that has external compressed .CAB files.
! As an .MSI file that has external uncompressed files.
! As an .EXE file that contains the .MSI and installation files. This method
provides the ability to pre-install Windows Installer or other runtimes.
When you create an installation, you can choose to work either in a .WSI (project) file or an .MSI file. The same applies to merge modules; work in a merge module (.MSM) file or a Wise merge module project (.WSM) file.
How are installation files/ paths stored?
Can you create releases?
If you work in .WSI or .WSM (Wise project)
Externally. The project contains paths to the installation files. During compile, they are compiled into the resulting .MSI or .EXE.
Yes. Use the Releases page and other pages under Release Definition in Installation Expert.
If you work in .MSI or .MSM (Windows Installer database)
Inside the database file. Files are refreshed from disk unless you mark the Don’t update or recompress files ... option on the Product Details page
No. Because you are already working in the final output file, options for multiple output files are disabled, which includes all pages under the Release Definitions page group in Installation Expert.
28
PROJECT FILES AND DATABASE FILES
Compiling does what?
Can you switch from working on one file type to the other?
If you work in .WSI or .WSM (Wise project)
Reads the project information and compiles a database file, which contains installation files.
You can switch from working in a project file to working in a database file by compiling the project, opening the resulting database file, and continuing further development in the database file. However, an .MSI file created by compiling a .WSI does not contain file paths; it contains only the files themselves. Therefore, any files added prior to the switch will not be refreshed from disk because they have no file path. Only those files you add after the switch contain file paths and are refreshed from disk.
If you work in .MSI or .MSM (Windows Installer database)
Refreshes installation files from disk unless the Don’t update or recompress files ... option is marked on the Product Details page.
Use the MSI to WSI Conversion tool (see Converting an .MSI to a .WSI
File on page 349) to convert an
.MSI to a .WSI. It extracts installation files from an .MSI, saves them to disk at the locations you specify, and creates a .WSI file that points to those files.
29
2: WISE FOR WINDOWS INSTALLER BASICS

Specifying the Target Platform

Professional and Enterprise Editions only.
#
By default, installations you create are for 32-bit platforms. You can also create an installation for a 64-bit installation using the Preferences dialog; see Setting the Target Platform on page 56.
" Note:
64-bit installations are supported only by Windows Installer 2.0 or higher.
To create a 64-bit installation:
1. Select Preferences from the Edit menu. The Preferences dialog appears.
2. On the Target Platform tab, do one of the following:
• If you want all future installations to be 64-bit, mark the Default to
64-bit... option.
• If you want to determine the target platform for each new
installation you create, mark the Select platform in New Installation File dialog option.
3. Close the Preferences dialog.
4. From the File menu, select New. The New Installation File dialog appears. It contains a Target Platform section if you marked the Select platform... checkbox.
5. If you see a Target Platform section, mark the 64-bit... option and click OK. Otherwise a 64-bit installation is created automatically.

What’s Different in a 64-Bit Installation?

# Professional and Enterprise Editions only.
A 64-bit installation file differs from a 32-bit installation in the following ways:
! The minimum version of Windows Installer is set to 2.00. This is located
in the Installer Version field on the General Information page in Installation Expert. You should not change this value in a 64-bit installation, because 64-bit installations are not supported by Windows Installer versions lower than 2.0.
30
Loading...
+ 626 hidden pages