Symantec WINDOWS INSTALLER EDITOR 8.0 Reference

Hide thumbs Also See for WINDOWS INSTALLER EDITOR 8.0:
Table of Contents

Advertisement

Quick Links

Windows Installer Editor Reference

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the WINDOWS INSTALLER EDITOR 8.0 and is the answer not in the manual?

Questions and answers

Summary of Contents for Symantec WINDOWS INSTALLER EDITOR 8.0

  • Page 1 Windows Installer Editor Reference...
  • Page 2 Copyright © 2009 Symantec Corporation. All rights reserved. Symantec, the Symantec Logo, and Altiris are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners.
  • Page 3: Technical Support

    The Technical Support group also creates content for our online Knowledge Base. The Technical Support group works collaboratively with the other functional areas within Symantec to answer your questions in a timely fashion. For example, the Technical Support group works with Product Engineering and Symantec Security Response to provide alerting services and virus definition updates.
  • Page 4 Licensing and registration If your Symantec product requires registration or a license key, access our technical support Web page at the following URL: www.symantec.com/techsupp/ Customer service Customer service information is available at the following URL: www.symantec.com/techsupp/ Customer Service is available to assist with the following types of issues:...
  • Page 5 Consulting Symantec Consulting Services provide on-site technical Services expertise from Symantec and its trusted partners. Symantec Consulting Services offer a variety of prepackaged and customizable options that include assessment, design, implementation, monitoring, and management capabilities. Each is focused on establishing and maintaining the integrity and availability of your IT resources.
  • Page 6: Table Of Contents

    Contents Technical Support ............3 Chapter 1: Introduction .
  • Page 7 One File Per Component Rule Set ..........57 Chapter 3: Working With Wise Installation Files .
  • Page 8 Adding Contents of Directories to the Installation ....... . 114 Adding .NET Assemblies to the Installation .
  • Page 9 Adding Roles and Services to the Server Roles and Services Dialog Box ....168 Setting a Requirement by Creating a Launch Condition ......169 Performing a System Search .
  • Page 10 Creating a Command Line To Apply to an Installation ......230 Applying UI Options to an Installation ........232 Applying Logging Options to an Installation .
  • Page 11 About the Default Release Language......... 285 About the Language Strings Dialog .
  • Page 12 Changing the Source Directory Dynamically During Compile ......321 Chapter 13: Merge Modules and Transforms ....... . 323 About Merge Modules .
  • Page 13 Component Errors ........... . . 374 Adding and Editing a Component .
  • Page 14 Spacing Dialog Controls Evenly ......... 421 Setting Dialog Tab Order .
  • Page 15 Troubleshooting Custom Actions..........459 Chapter 21: Custom Action Reference .
  • Page 16 Appendix A: Wise Custom Actions ........502 Appendix B: Wise Tables.
  • Page 17: Chapter 1: Introduction

    Chapter 1 Introduction This chapter includes the following topics: About Windows Installer Editor on page 17 Starting the Software on page 17 The Product Interface on page 18 Using Installation Expert on page 19 Using the Task List on page 25 Installation Resources and Their Locations on page 28 Generating Package Contents Reports...
  • Page 18: The Product Interface

    Introduction On the Projects tab, click the Run link to the right of the task or tool associated with Windows Installer Editor. The installation associated with the current project might be opened by default. This tool might open to a different view based on command-line options defined in Process Templates Setup.
  • Page 19: Using Installation Expert

    Introduction MSI Script MSI Script provides a powerful yet easy-to-use environment for editing Windows Installer installation sequences. A sequence is a set of actions that are performed during a particular type of installation. MSI Script is easy to work with even if you are not familiar with the underlying Windows Installer technology.
  • Page 20 Introduction Installation Expert window in Windows Installer Editor Page Views Page Area Page Groups View Navigation Compile and Test 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. About Page Views on page 21 and Customizing Page Views...
  • Page 21: About Page Views

    Introduction Compiling and Testing Compile, Test, Debug, and Run buttons test and compile the installation. See also: Using the Current Release Drop-Down List on page 24 Using the Current Feature Drop-Down List on page 23 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.
  • Page 22: Customizing Page Views

    Introduction 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. Customizing Page Views on page 22.
  • Page 23: Using The Current Feature Drop-Down List

    Introduction To create a page view From the Page Views drop-down list in Installation Expert, select <New View...>. The Enter Name dialog box appears. Enter a name for the page view. To create an access key for the name, type & (ampersand) before a letter in the name.
  • Page 24: Using The Current Release Drop-Down List

    Introduction Current Feature drop-down list Example: Suppose you have three 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.
  • Page 25: Using The Task List

    Introduction Using Installation Expert on page 19 Using the Current Feature Drop-Down List on page 23 Using the Task List When Windows Installer Editor 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.
  • Page 26: Filtering The Task List

    Introduction An error that will cause incorrect behavior and must be fixed Validation issues found by Package Validation See About Package Validation in the Wise Package Studio Help. A task you created This icon also appears with a task that reminds you to add the package meta data to the Software Manager database.
  • Page 27: Finding Table Errors From The Task List

    Introduction 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.
  • Page 28: Generating Shared Resource Reports

    Introduction Generating Shared Resource Reports The following shared resource reports provide a quick way to review the resources that are shared by the current installation and other packages in the Software Manager database. Shared Files Report Lists the files that are shared by the current installation and packages in the Software Manager database.
  • Page 29: Generating Package Contents Reports

    Introduction You can specify alternate locations for storing resources. See Setting Repository Preferences in the Wise Package Studio Help. Directory Contents Custom Actions Files that you create to use in custom actions, such as WiseScripts, VBScripts, .DLLs, and so on, that you use in Windows Installer installations. Languages Language resource files that are used to change the language of installations.
  • Page 30: Downloading Redistributable Files

    Introduction Downloading Redistributable Files The Download Redistributables wizard, available from the Help menu, lets you obtain merge modules, Windows Installer runtime installers, and .NET Framework runtime installers. You need the Windows Installer runtimes if you decide to pre-install Windows Installer with an installation. You need the .NET Framework if you are creating an installation that contains .NET elements.
  • Page 31: Downloading Redistributables From Other Vendors' Web Sites

    Introduction If you chose to download any merge modules, the Target Location dialog box appears, where you specify merge modules’ download location; otherwise the download starts and you can skip the next step. Runtimes are downloaded to private directories where they are accessed as needed by Windows Installer Editor. From Target Location, select the directory to download the selected merge modules to, then click Next.
  • Page 32: Product Documentation

    The product release notes cover new features, enhancements, bug fixes, and known issues for the current version of this product. To access the release notes, select Release Notes from the Symantec program group on the Windows Start menu. Windows Installer Editor Reference...
  • Page 33: Chapter 2: Setting Up

    Chapter 2 Setting Up This chapter includes the following topics: How you can set up Windows Installer Editor on page 33 Setting Options on page 33 Creating and Editing Installation Templates on page 48 Component Rules on page 49 How you can set up Windows Installer Editor Before you create and edit installations, set up Windows Installer Editor to reflect your organization’s standards: Set options that control the installations you create and determine the installation...
  • Page 34: Setting General Options

    Setting Up Setting Source Control Options on page 46 Setting Wildcard Groups on page 47 Setting General Options To set general options, select Tools menu > Options and click the General tab. Automatic Options Create backup copy during save Mark this to create a new backup file every time you save. The backup file name consists of the current file name plus a number.
  • Page 35: Setting .Net Assembly Options

    Setting Up Note Windows Installer Editor has its own code for merging a module into an .MSI, but this check box causes your merge to follow the Microsoft conventions for merging. Microsoft’s merging code adds a custom action to the installation for each predefined directory referenced in each included merge module.
  • Page 36 Setting Up If the options on the .NET Assemblies tab are unavailable, install the .NET Framework and run a manual repair of the Windows Installer Editor .MSI from Add/Remove Programs. COM Interop Options Default Application Type This determines the default setting for the Application Type field on the Product Details page for new installations.
  • Page 37: Setting Advertising Options

    Setting Up Note On .NET Framework versions earlier than 1.1, the scan does not occur when you add an assembly from a UNC or mapped network drive (example: the share point directory). To enable scanning of such assemblies, either upgrade to .NET Framework version 1.1 or later, or change your .NET security so that the share point directory is fully trusted.
  • Page 38: Setting Digital Signature Options

    Setting Up Scan advertising information into advertising tables Place registry entries that are considered to be advertising information into advertising tables. Create registry entries for any information that cannot be placed in the advertising tables. This results in an installation that supports advertising.
  • Page 39: About Expressbuild

    Setting Up Signing with Public/Private Key Pair Files Signcode.exe Location Enter the path of the signcode.exe that performs the signing tasks. Credentials File Enter the path of the credentials file that contains your Digital ID. Private Key File Enter the path of the private key file (.PVK). If this key is lost or stolen, contact your certificate authority immediately.
  • Page 40: Setting Expressbuild Options

    Setting Up Setting ExpressBuild Options Not available in Standard Edition. If you turn ExpressBuild on, it is turned on globally; that is, it is in effect for all installation files you open, regardless of when they were created. Before you use ExpressBuild, verify that you meet the requirements for using ExpressBuild options and review the reasons why multi-processor compile might not work.
  • Page 41: How Expressbuild Groups Work

    Setting Up Setting Options on page 33 How ExpressBuild Groups Work Not available in Standard Edition. You can specify a build group of computers within the same NT domain or workgroup to share processing of compiles. To specify a build group, first you select an arbitrary name for the build group.
  • Page 42: Setting Installation Expert Options

    Setting Up Because each processor compresses .CAB files, using multiple processors is more efficient if files are arranged into multiple, moderately-sized .CAB files. To achieve this, select One Cab per feature or One Cab per component in the Cab Options field on the Media page.
  • Page 43: Setting Merge Module Directories

    Setting Up Show merge module components Mark this to view the files and registry entries from merge modules in Installation Expert. You can only view merge module components in an .MSI. By default, these items are hidden. Listbox Compatibility Mode If your computer has certain video drivers, you might have problems selecting items from list boxes within Windows Installer Editor.
  • Page 44: Activating Suppressed Prompts

    Setting Up Default Merge Module Directory Shows the path to the default merge module directory. All merge modules that are in this directory—along with the merge modules that are in the directories shown in the Directory list below—are listed on the Select Merge Module dialog box that appears when you click the Add button at the right of the Merge Modules page.
  • Page 45: Setting Repository Options

    Setting Up Setting Repository Options Use the Repository tab on the Wise Options dialog box to: (Client installations only.) Connect to a different Wise Software Repository (the share point directory and any databases associated with it). Changing the share point directory or a specific path does not copy resources to the new location.
  • Page 46: Setting Source Control Options

    Setting Up Warning If you are sharing component rules, be careful when editing existing rule sets because your changes will overwrite rule sets used by team members. Custom Actions Specify the location in which you will save files used in custom actions (examples: WiseScripts, .DLL files, JScript files, and VBScript files) that can be added to installations.
  • Page 47: Setting Wildcard Groups

    Setting Up Note If the following options do not appear on the Source Control tab, you probably don’t have a source code control system on your computer. It could also be that your SCCS is unrecognized or that there are communications problems between the SCCS server and your computer.
  • Page 48: Creating And Editing Installation Templates

    Setting Up Complete the dialog box and click OK: Group Name Enter a name to precede the wildcards in the Include Wildcards list. This is a visual identifier to help you quickly find the wildcards in the list. Wildcards Enter semi-colon delimited wildcards. (Example: Enter *.EXE;*.DLL for all .EXE and .DLL files.
  • Page 49: Component Rules

    Setting Up To include a description that will appear on the New Installation File dialog box when you click this template: Select Setup Editor > Product tab. Click the Summary icon. In the upper-right pane, double-click Comments. On the Summary Details dialog box that appears, enter a description of this template in Value and click OK.
  • Page 50: About Component Rules

    Setting Up One File Per Component Rule Set on page 57. For instructions on creating new rule sets, see Customizing Component Rules on page 53. You can share component rules with others in your organization through a share point directory. Sharing component rules ensures that you always use the most current set of rules and that your installations always adhere to company standards for creating components.
  • Page 51: Selecting A Component Rule Set

    Setting Up Selecting a Component Rule Set Use the Component Rule Selection dialog box to select a rule set and component naming conventions for the current installation or to set the default rule options for all future installations. The component key values you enter on the Component Rule Selection dialog box can be overridden by specific rules.
  • Page 52: Using Component Rules To Align Guids In An Upgrade

    Setting Up All resources that you add to this installation from this time forward will be organized into components according to the rule set and other conventions you specified. See also: Component Rules on page 49 Using Component Rules to Align GUIDs in an Upgrade Component rules can help you align component GUIDs in an upgrade with component GUIDs in previous versions of the installation.
  • Page 53: Customizing Component Rules

    Setting Up The previous versions will be checked in the order they appear in this list. Click OK on the Previous Installation Versions dialog box. All new resources you add to the upgrade installation will be checked against and aligned with the previous installations you specified. See also: Component Rules on page 49...
  • Page 54: Adding And Editing Component Rules

    Setting Up To customize an existing component rule set Select Component Rules menu > Customize. The Component Rules Manager dialog box appears, listing the predefined rule sets and any custom rule sets you have created. Click a rule set. To copy the rule set, click Copy, type the new name on the Enter Rule Set Name dialog box, and click OK.
  • Page 55 Setting Up To edit a rule, click the rule in the rules list and click Details. This starts the Component Rule Wizard, which you can step through to change the rule name or change any of the conditions or actions. For details, see the procedure below. When you finish, click OK on the Customize Component Rules dialog box.
  • Page 56: Microsoft Best Practices Component Rule Set

    Setting Up See also: Component Rules on page 49 Microsoft Best Practices Component Rule Set When you use this predefined rule set, components are created using the Microsoft component creation guidelines. See Organizing Applications into Components and Changing the Component Code in the Windows Installer SDK Help.
  • Page 57: One File Per Component Rule Set

    Setting Up Group non-keypath resources by resource type If the added resource cannot be set to the keypath, that is, if it is not a file, registry key, or ODBC data source, add the resource to an existing component that contains the same type of resource.
  • Page 58 Setting Up Create new components for resources not matching other criteria For all other resources that do not match the criteria above, create a new component for the resource and set the component key to the table name of the keypath or the first resource.
  • Page 59: Chapter 3: Working With Wise Installation Files

    Chapter 3 Working With Wise Installation Files This chapter includes the following topics: Before You Create an Installation on page 59 File Types on page 60 Project Files and Database Files on page 61 Target Platforms: 32-bit and 64-bit on page 62 Starting a New Installation (page 70) Options for New Installations...
  • Page 60: File Types

    Working With Wise Installation Files Using the Dialogs Page on page 402. If applicable, a Readme file and a license agreement file. File Types In Windows Installer Editor, you can create and edit different types of Windows Installer database files. You can work in the Windows Installer database file or in a project file that contains instructions for compiling the Windows Installer database file.
  • Page 61: Project Files And Database Files

    Working With Wise Installation Files Extension Description .EXE You can compile an .EXE that encapsulates the .MSI or that calls an external .MSI. Doing so gives you the option of pre-installing the Windows Installer runtime before performing your own installation, which ensures that the installation will run. Setting Build Options for a Release on page 193 and Adding Prerequisites to a...
  • Page 62: Target Platforms: 32-Bit And 64-Bit

    Working With Wise Installation Files If you work in a .WSI or .WSM If you work in an .MSI or .MSM (Wise project) (Windows Installer database) Can you switch from You can switch from a project file to a Use MSI to WSI Conversion to convert an working on one file database file by compiling the project, .MSI to a .WSI.
  • Page 63: How To Specify The Target Platform

    Working With Wise Installation Files How to Specify the Target Platform The target platform is stored in the Template Summary property of the .MSI or .MSM (merge module). For an installation to run, the platform in the Template Summary property must match the platform of the destination computer. The Template Summary property of the .MSI is set during compile based on the release’s Target Platform setting.
  • Page 64 Working With Wise Installation Files General Information page The minimum version of Windows Installer is set to 2.00 in the Installer Version field. Do not override this setting in a 64-bit installation, because 64-bit installations are not supported by Windows Installer versions earlier than 2.0. Setup Editor >...
  • Page 65: 32-Bit Applications On 64-Bit Computers

    Working With Wise Installation Files Custom actions Windows Installer Editor does not contain 64-bit versions of custom actions, however: When you create a custom action that calls a JScript or VBScript file, a check box lets you indicate that the script needs to access 64-bit functionality and run in a 64- bit process.
  • Page 66: Guidelines For Creating Platform-Specific Installations

    Working With Wise Installation Files Guidelines for Creating Platform-Specific Installations The following guidelines refer to creating installations in Windows Installer Editor. For more general guidelines, see Using 64-Bit Windows Installer Packages in the Windows Installer SDK Help. 32-bit Installations That Contain Only 32-bit Components On the New Installation File dialog box, select 32-bit as the target platform.
  • Page 67: Creating Multiple, Platform-Specific Installations From One Project File

    Working With Wise Installation Files A 64-bit merge module can be merged into a 64-bit installation. The processor type (x64 or Intel64) of the merge module must match that of the installation. See also: How to Specify the Target Platform on page 63 Using 64-bit Merge Modules in the Windows Installer SDK Help Creating Multiple, Platform-Specific Installations from One Project...
  • Page 68 Working With Wise Installation Files In MSI Script, add a custom action to set the value of the INSTALLDIR property. Defining the INSTALLDIR Property in a Mixed-Platform Installation on page 69. On the Releases page, create a release for each target platform. Example: Graphic32, Graphic64.
  • Page 69: Defining The Installdir Property In A Mixed-Platform Installation

    Working With Wise Installation Files On the Release Settings page, select the components to include in each release. Example: Select the 64-bit release. Select the features to be installed on 64-bit platforms. Within each feature, select the components to be installed on 64-bit platforms.
  • Page 70: Starting A New Installation

    Working With Wise Installation Files Example: The installation directory is Program Files (x86)\QuickFacts. In MSI Script, enter the following custom action: If VersionNT64 then Set Property INSTALLDIR to [ProgramFiles64Folder]\QuickFacts If the destination computer’s target platform is 64-bit, then the default installation directory is Program Files\QuickFacts.
  • Page 71: About Standard User Installations

    Working With Wise Installation Files Enable User Account Control (UAC) check box in Installation Expert > Windows Installer Options page. Creating an Installation for Standard Users on page 71. Click OK. The new installation opens. About Standard User Installations Windows Installer 4.0 or later only. The User Account Control (UAC) that was introduced with Windows Vista provides a temporary privilege-elevation model.
  • Page 72: Creating A Device Driver Installation

    Working With Wise Installation Files To create a standard user installation Do one of the following: In Installation Expert > Windows Installer Options page, clear the Enable User Account Control (UAC) check box. Setting Version-Specific Windows Installer Options on page 176. On the New Installation File dialog box, mark Create a Vista Standard User Installation.
  • Page 73: Options For New Installations

    Working With Wise Installation Files Select the driver package feature. Create a unique directory for the driver package. Add the driver package’s .INF file to the directory you created. The driver package’s .INF file must be the first file added to this directory so that it becomes the key path of the component.
  • Page 74: Opening An Installation Package

    Working With Wise Installation Files Obtaining Logon Information From a Dialog on page 425. Windows Mobile Opens the Windows Mobile wizard, which lets you add Windows Mobile .CAB files to a desktop installation. The wizard is also accessible from the Mobile Devices page. Adding Windows Mobile Files on page 220.
  • Page 75: Comparing Windows Installer Files

    Working With Wise Installation Files If the package status is Available, you are prompted to change the status to Under Development. Warning Use caution when changing available packages, because they might have been deployed to end users. If you try to save the package, a prompt asks if you want to overwrite the file that is in the repository.
  • Page 76 Working With Wise Installation Files See Revision Control in the Software Manager Help. Options for Comparing Files Compare the current file to another file. Compare any two files. Compare a transform to its base .MSI, to see the items that the transform changes in the .MSI.
  • Page 77: Saving An Installation As Xml

    Working With Wise Installation Files See also: Tables Tab on page 380 Saving an Installation as XML You can save a copy of an installation (.WSI, .MSI, WSM, or .MSM) in XML format. This lets you check the XML version of the installation into a text-based source code control system (SCCS), use text-based file comparison tools to find changes, or perform analyses with XML reporting tools.
  • Page 78: Compiling An Installation

    Working With Wise Installation Files page are unavailable. This is because the installation is connected to the package in the database. You can only edit these names on the Package Attributes dialog box in Software Manager. If you edit the installation’s meta data, the meta data in the database is updated when you save the installation.
  • Page 79 Working With Wise Installation Files releases in the installation are compiled. To compile a specific release, go to the Releases page, select one or more releases, and click the Compile button at the right of the Releases page. Speeding the Compile If you are working in a .WSI or .WSM file, you can use either of the following methods to speed the compile process: Mark the Enable Quick Compile check box in Wise Options.
  • Page 80: Testing And Running An Installation

    Working With Wise Installation Files Testing An Installation on page 80 Running An Installation on page 81 Running the Debugger on page 437 Testing and Running An Installation To test an installation, you can: Test the installation, which appears to run but does not install files or change the system.
  • Page 81: Running An Installation

    Working With Wise Installation Files Testing a transform or merge module You cannot test a transform or a merge module by itself. It can only be run in conjunction with an .MSI. To run a transform or merge module, run the base .MSI from the command line with the appropriate command-line options, which are documented in the Windows Installer SDK Help.
  • Page 82 This removes the layer that was previously created and creates a new one. Close Windows Installer Editor. Delete the virtual layer from the Symantec SVS applet. The name of the virtual layer is WiseTemp_ProductName where ProductName is the value of the ProductName property.
  • Page 83: Chapter 4: Defining An Installation Project

    Chapter 4 Defining an Installation Project This chapter includes the following topics: Project Summary Page on page 83 Product Details Page on page 83 General Information Page on page 89 Add/Remove Programs Page on page 90 Features Page on page 91 Managing Binary Resources on page 102 Project Summary Page...
  • Page 84 Defining an Installation Project See Defining Custom Meta Data Fields in the Software Manager Help. For an .MSI or .WSI, you can add the meta data that appears on the Product Details page to the Software Manager database. This lets you add package information to the Software Manager database early in the development or repackaging process.
  • Page 85 Defining an Installation Project Default Directory During installation, this directory is displayed to the end user on the Destination Folder dialog box, and the end user can change the default location for the application. (The Destination Folder dialog box is called the Single Feature Destination dialog box in Windows Installer Editor.) This defaults to the first directory you create on the Files or Web Files page.
  • Page 86: Adding Meta Data To The Software Manager Database

    Defining an Installation Project assemblies will be registered so that they can be called as though they were COM elements. When the .NET Application or Mixed option is selected, entries are created in the MsiAssembly and MsiAssemblyName tables for each assembly you add to the installation.
  • Page 87: Incrementing The Product Version

    Defining an Installation Project If this is the first time you have saved the installation, the Save As dialog box appears. Enter a name for the file and click Save. If a package with the same application and package name is already in the Software Manager database, a warning message appears.
  • Page 88: Setting The Default Installation Directory

    Defining an Installation Project Product Details Page on page 83. You can increment the version number automatically during compile by marking the Increment version number on compile check box on the Product Details page. When should you increment the version field? When you add or delete files from the installation.
  • Page 89: General Information Page

    Defining an Installation Project Mark Change Feature configurable directories to have any features that explicitly reference the default directory change when you select a new default directory. To see if a feature explicitly references a directory, double-click the feature name on the Features page.
  • Page 90: Add/Remove Programs Page

    Defining an Installation Project Comments Enter comments about the application that this installation installs. Add/Remove Programs Page Windows operating systems have an Add/Remove Programs or Programs and Features applet that let end users uninstall, change, or repair programs. Use the Add/Remove Programs page to enter the information necessary to support these capabilities.
  • Page 91: Features Page

    Defining an Installation Project Hide repair button Mark this to disable the installation repair option under the Support Information link in Add/Remove Programs. Features Page Use Installation Expert > Features page to create the structure of an installation by defining: What features make up the application.
  • Page 92: Strategies For Organizing Files Into Features

    Defining an Installation Project To configure installation options for a feature, click its icon ( ) and select an option from its drop-down list. Configuring a Feature Using Its Drop-Down List. To configure all items for a feature, click its name and click Details at the right of the Features page.
  • Page 93 Defining an Installation Project The core resources for an application should always be in a top-level feature. The core feature should install a functioning version of your application; it should have no dependencies on resources that are in optional features. When Windows Installer repairs an installation due to corruption or deletion of a resource, it repairs the entire feature.
  • Page 94: Adding A New Feature

    Defining an Installation Project Place stand-alone features as siblings The features External_Text_Editor and External_Graphics_Editor are stand-alone applications, which can run independently of the core application. Therefore, you can make them siblings of the Core feature. An end user can install the text editor or the graphics editor without the core application.
  • Page 95: Configuring A Feature Using Its Drop-Down List

    Defining an Installation Project To add the new feature at the top level, right-click the Features icon; to add the new feature under a feature, right-click the feature’s name. The Feature Details dialog box appears. Complete the dialog box. Configuring a Feature Using the Feature Details Dialog on page 96.
  • Page 96: Configuring A Feature Using The Feature Details Dialog

    Defining an Installation Project Will be installed to run from source Make the feature default to being run from source. (This option corresponds to setting Favor Source in the Attributes drop-down list on the Feature Details dialog box.) If a feature is installed to run from source, it is available to the application and visible to the end user, but is not actually installed on the local hard drive.
  • Page 97 Defining an Installation Project Note Some options on this dialog box set the default only; the end user can change the default during installation. To prevent the end user from being able to change the defaults you set, you can turn off the Select Feature dialog box on the Dialogs page, set features to be required, or set features to be hidden.
  • Page 98 Defining an Installation Project Installation Type). During a Custom installation, the end user can turn features on or off individually. Each installation has an installation level, stored in the property INSTALLLEVEL. Each feature has its own installation level value, which is set by this field. If a feature’s level is less than or equal to the installation’s INSTALLLEVEL property, then the feature is installed.
  • Page 99 Defining an Installation Project Attributes Specify the default for the feature in the installation. The end user can change the default. Favor Local The feature should be installed on the destination computer. Favor Source The feature should be run from the source CD or network directory. This means the feature is available to the application, but is not installed on the local hard drive.
  • Page 100: Using Conditions With Features

    Defining an Installation Project placed by the end user. To do this, you can call Windows Installer functions, such as MsiGetComponentPath. Note Only the files that are in the directory you select or in its child directories will be installed in the new directory that the end user selects. Example: Suppose FeatureA installs File1 in the Sample\FeatureA\ directory and File2 in the Windows directory.
  • Page 101: Adding And Deleting Feature Conditions

    Defining an Installation Project See also: WiseFixConditions on page 390 Features Page on page 91 Adding and Deleting Feature Conditions on page 101 Adding and Deleting Feature Conditions To add a new condition to a feature Select Installation Expert > Features page. Click a feature name.
  • Page 102: Managing Binary Resources

    Defining an Installation Project Managing Binary Resources Use Installation Expert > Resources page to add and update binary resources, and to change the names or source files for existing binary entries. It provides an easy way to edit and update peripheral files. (Examples: graphics you might have added for an installation dialog box or .DLLs you might call with a custom action.) Any changes you make here are reflected in the Binary table that you can access in Setup Editor >...
  • Page 103: Adding Binary Resources

    Defining an Installation Project To edit a selected source file, click Edit at the right of the page. The file opens in an appropriate application or you are prompted to select an application. Make the changes and save the file. To copy binary data into a new source file, click Save As at the right of the page.
  • Page 104 Defining an Installation Project To have a binary resource refreshed Do one of the following: Mark the corresponding check box in the Refresh column on the Resources page. Mark the Create/update link to refresh data when file changes check box on the Resource Details dialog box.
  • Page 105: Chapter 5: Assembling An Installation

    Chapter 5 Assembling an Installation This chapter includes the following topics: Files or Web Files Page on page 105 Resolving File Conflicts Within Windows Installer Editor on page 135 Registry Page on page 139 INI Files Page on page 148 Shortcuts Page on page 150 Adding an Environment Variable...
  • Page 106 Assembling an Installation Files page in Windows Installer Editor Current Feature drop-down list Directories available to your Files in the computer directory selected on the left Directories to be installed on Files or the destination operations to be computer installed on the destination computer The Windows directory represents the system directory...
  • Page 107: When To Use The File-Related Installation Expert Pages

    Assembling an Installation Delete (lower left) Remove a directory from the installation. This does not delete it from the destination computer. Details (lower left) On the Files page, use this to set NTSF permissions. On the Web Files page, use this to set all IIS-related details about the item, as well as Web-based security.
  • Page 108: Installation Directories

    Assembling an Installation Page When to use it Web Files To create Web folders, virtual directories, and Web sites, and add files to them To add files to a Web installation About Web Installations on page 245. Installation Directories A new installation contains several predefined directories. They appear in the lower-left list box of the Files page, and in the left pane of the Components and Features tabs in Setup Editor.
  • Page 109: Files Or Web Files Page Icons

    Assembling an Installation If the directory structure on your computer changes while you are assembling an installation, change the source directories in the installation, or convert them to relative or UNC-based source paths. About source paths on page 308. See also: Files or Web Files Page on page 105 Files or Web Files Page Icons...
  • Page 110 Assembling an Installation When you add files to a package that has already been distributed to the share point directory and imported, you are prompted to add the new files to the share point directory. If you do so, the .QUE file for that package is reset and you must re-import the package in Software Manager.
  • Page 111 Assembling an Installation Other dialog boxes might appear. Additional dialog boxes on page 111. To add files from the Components tab in Setup Editor On the Components tab, expand a component. Right-click the Files icon and select New > File. If the Files icon does not appear, right-click and select Hide Empty Folders/Items.
  • Page 112: Adding Merge Modules Instead Of Files

    Assembling an Installation Copying and Moving Files on the Destination Computer on page 122 Adding Merge Modules Instead of Files The Files in Merge Modules dialog box appears when a file that is part of a merge module is added to an installation. Typically, it appears when you: Add a file to the Files or Web Files page.
  • Page 113: Adding Files From The Wise Software Repository

    Assembling an Installation Files or Web Files Page on page 105 Adding Files to an Installation on page 109 Adding Contents of Directories to the Installation on page 114 Adding Files From the Wise Software Repository Not available in Standard Edition. The Files in Repository dialog box appears when a file that is used by a package in the Wise Software Repository is added to an installation.
  • Page 114: Adding Contents Of Directories To The Installation

    Assembling an Installation Adding Contents of Directories to the Installation You can add the entire contents of a directory to an installation or use wildcard filters to add only specified files in the directory. You also can link a directory that you add to the installation so that it is dynamically updated when the source directory changes.
  • Page 115: Adding .Net Assemblies To The Installation

    Assembling an Installation If you mark this check box, each time you save the installation, it is synchronized with the current contents of the directory. If you specified wildcards, the installation is synchronized based on the wildcard criteria. If you included subdirectories, those directories are updated also.
  • Page 116: How Assembly Dependencies Are Added To An Installation

    Assembling an Installation You can install assemblies into the Global Assembly Cache, the WinSxS directory, or a private directory. Each of these directories is used in a different way: Global Assembly Cache Assemblies that will be shared by many applications on the destination computer should be installed into the Global Assembly Cache directory.
  • Page 117: Assembly Dependencies

    Assembling an Installation Note On .NET Framework versions earlier than 1.1, the scan does not occur when you add an assembly from a UNC or mapped network drive (example: the share point directory). To enable scanning of such assemblies, either upgrade to .NET Framework version 1.1 or later, or change your .NET security so that the directory is fully trusted.
  • Page 118: About The Global Dependency Exclusion List

    Assembling an Installation Global dependency By default, certain dependencies are excluded from exclusion list assembly scans in all .NET installations. These global dependency exclusions are hard-coded. You can create an XML file that overrides the hard-coded dependency exclusions with exclusions that you define. Use this exclusion list to exclude specific dependencies, or dependencies that match a wildcard, from all installations.
  • Page 119: Editing Settings For Automatic Updating

    Assembling an Installation <Assembly name="^Microsoft.Vsa$" /> <Assembly name="^Microsoft_VsaVb$" /> <Assembly name="^Microsoft.Vsa.Vb.CodeDOMProcessor$" /> <Assembly name="^Microsoft.VisualC$" /> <Assembly name="^Accessibility$" /> <Assembly name="^cscompmgd$" /> <Assembly name="^CustomMarshalers$" /> <Assembly name="^IEExecRemote$" /> <Assembly name="^IEHost$" /> <Assembly name="^IIEHost$" /> <Assembly name="^ISymWrapper$" /> <Assembly name="^Microsoft.JScript$" /> <Assembly name="^mscorcfg$" /> <Assembly name="^Regcode$"...
  • Page 120 Assembling an Installation To configure a particular source directory, select it in the Source Directory list and complete the Wildcard Details dialog box: Include Wildcards, Exclude Wildcards To include or exclude files based on specific criteria, enter a semicolon-delimited list of wildcards. (Example: Enter *.EXE for all EXE files or *.DLL for .DLL files.) If you leave the wildcard fields blank, all files in the directory are added.
  • Page 121: Removing A File From The Destination Computer

    Assembling an Installation See also: Files or Web Files Page on page 105 Files or Web Files Page Icons on page 109 Installation Directories on page 108 Adding Files to an Installation on page 109 Adding Contents of Directories to the Installation on page 114 Removing a File From the Destination Computer You can add an operation to remove one or more files from the destination computer...
  • Page 122: Copying And Moving Files On The Destination Computer

    Assembling an Installation Remove During Specify when the file should be removed: during install, uninstall, or both install and uninstall. Click OK. The operation to remove a file from the destination computer appears, preceded by On the Files or Web Files page, the entry’s Type column contains “Remove.” To edit it, double-click its name.
  • Page 123: Editing File Details

    Assembling an Installation Source Directory Specify the directory on the destination computer where the file is located or create a new subdirectory. To create a new subdirectory, select a directory and click New Folder. Source File Name Specify the name of the file to be copied or moved. You can use wildcards to select multiple files or you can mark All Files to select all files in the selected directory.
  • Page 124: Editing General File Details

    Assembling an Installation The File Details dialog box appears. It contains several tabs. See: Editing General File Details on page 124 Setting Permissions for Files and Directories on page 126 Editing Self-Registration Settings for Files on page 127 Editing Assembly Settings for Files on page 127 Viewing Shared File Resources on page 130...
  • Page 125 Assembling an Installation Source Pathname The full path of the file on your computer. If this is blank, or if it is just a file name with no path, you might be working in an .MSI, which encapsulates the file itself. Font Name (File Details dialog box only.) The name of the font contained in the file, if it is a font file.
  • Page 126: Setting Permissions For Files And Directories

    Assembling an Installation Setting Permissions for Files and Directories You can set NTFS (NT file system) permissions for a single file or folder or for multiple files. The permissions you set are applied to the domain and user you specify, so you can set different permissions for the same file or folder for different users.
  • Page 127: Editing Self-Registration Settings For Files

    Assembling an Installation Editing Self-Registration Settings for Files Many files support self-registration (examples: many .OCXs and some .DLLs). You can edit these files so that they self-register during installation. To edit self-registration settings for files Do one of the following: In Installation Expert: On the Files or Web Files page, double-click a file.
  • Page 128 Assembling an Installation Creating a Win32 Assembly on page 129. To edit assembly settings for files Do one of the following: In Installation Expert: On the Files page, double-click a file. In Setup Editor: On the Components or Features tab, double-click a file. The File Details dialog box appears.
  • Page 129: Creating A Win32 Assembly

    Assembling an Installation See also: Editing File Details on page 123 Creating a Win32 Assembly Your can use Win32 assemblies to isolate applications on destination computers running under Windows XP or later. Isolating an application .EXE means its dependent, shared .DLL and .OCX files are placed in the application directory or in the WinSxS directory rather than in a non-side-by-side location.
  • Page 130: Viewing Shared File Resources

    Assembling an Installation is added to the installation as a side-by-side assembly. It is marked as a Win32 assembly and a manifest is created for it. External Manifest Adds the attributes of an external manifest file as a dependency. Specify a manifest file and click OK.
  • Page 131: Editing Xml Files During Installation

    Assembling an Installation A white exclamation point to the left of the package indicates that the current file is already in the Software Manager database and it does not conflict with the file used by that package. A red exclamation point to the left of the package indicates that the current file conflicts with the file used by that package.
  • Page 132: Editing Difxapp Options

    Assembling an Installation Not all lines are editable, only lines that have name-value attributes. (Example: <compilation defaultLanguage=”c#” />.) The Attribute Editor dialog box appears. To edit an XML attribute: Select the attribute in the top list box. In Dynamic Value, type a new value to replace the current value at run time. You can enter bracketed Windows Installer property names.
  • Page 133: How Self-Registration Information Is Captured

    Assembling an Installation Retain better-matching PnP function drivers Mark this to retain the device’s Plug and Play function driver if it is a better match for the device than the driver in the installation. If you clear this check box, the installation’s plug and play function driver is always installed. Prompt for missing device Mark this to prompt the end user to connect a device to the computer if the device matches this driver and is disconnected.
  • Page 134: Using Wisecomcapture.exe

    Assembling an Installation Using WiseComCapture.exe before you can scan a file’s self-registration information and add it to an installation, the file must be registered on your computer. If you prefer not to register files on your computer, you can run the scan routine as a stand-alone utility on a different computer. This utility, WiseComCapture.exe, is in the Windows Installer Editor installation directory.
  • Page 135: Resolving File Conflicts Within Windows Installer Editor

    Assembling an Installation Resolving File Conflicts Within Windows Installer Editor Not available in Standard Edition. You can detect and resolve conflicts between a package that is still in the authoring phase and those that have already been deployed, without importing the package into the Software Manager database.
  • Page 136: Resolving Conflicts Individually In Windows Installer Editor

    Assembling an Installation To resolve conflicts with rules in Windows Installer Editor Select Tools menu > Resolve Conflicts with Rules. The Resolve with Rules dialog box appears. From Datasource, select the Software Manager database containing the applications to use for conflict resolution. If the database is not listed, click Open.
  • Page 137 Assembling an Installation From Isolation method, select an option. Selecting an isolation method activates the Move button on the File Conflicts and File Conflicts in Registry pages. Do not move files Do not allow file isolation. Isolated Components Isolate files using Windows Installer isolated components. The isolation is managed by the operating system.
  • Page 138 Assembling an Installation If the file has extra non-advertising resources, they are moved to a new component. If the file’s shared .DLL counter is not set, it is set. If the component has more than one of these issues, a Fix Options dialog box appears, where you can select which actions to take.
  • Page 139: Registry Page

    Assembling an Installation Registry Page Use the Registry page to specify the registry entries to be installed, removed, or edited on the destination computer. You can either add registry entries manually or import a registry file (.REG). If you import a Visual Basic .VBR file, it will import the registry settings, but will not automatically set up for the installation of either a remote automation or DCOM™...
  • Page 140 Assembling an Installation Registry page in a 64-bit installation On a 64-bit computer, the 64-bit registry is visible here. The button The button menu lets you menu lets you add keys to the add values to 32-bit or 64-bit the 32-bit or registry.
  • Page 141: Adding Registry Keys

    Assembling an Installation Details Edit registry key settings. See also: Adding Registry Keys on page 141 Removing Registry Entries From the Destination Computer on page 142 Importing and Exporting Registry Entries on page 144 Configuring General Registry Settings on page 145 Setting Permissions for Registry Keys on page 147 Viewing Shared Registry Resources...
  • Page 142: Removing Registry Entries From The Destination Computer

    Assembling an Installation From Current Feature, select a feature or condition. (Because any item you add must be assigned to a specific feature, you cannot add an item when All Features is selected.) Items that you add to a feature are installed on the destination computer only if the feature is installed.
  • Page 143 Assembling an Installation Warning Be very careful when removing registry entries from the destination computer. Do not remove registry entries unless you are sure that they are not used by another application. To add a remove registry operation in Installation Expert Select Installation Expert >...
  • Page 144: Importing And Exporting Registry Entries

    Assembling an Installation Click OK. The remove registry operation appears in the upper-right pane. To edit it, double-click its name. To delete it, use the right-click menu. To remove multiple registry keys from the destination computer Select Installation Expert > Registry page. From Current Feature, select a feature or condition.
  • Page 145: Configuring General Registry Settings

    Assembling an Installation In the lower-left list box, right-click the key to export, and select Export to .REG File. To export all keys that you have designated for the destination computer, right-click the Destination Computer icon. In Setup Editor, on the Components or Features tab, right-click the Registry icon or a registry folder and select Export to .REG File.
  • Page 146 Assembling an Installation Remove value during install This value is removed from the registry key. On the Registry page, a red exclamation point appears over the icon of the registry value you selected. This option appears only when you access the Registry Details dialog box from the Registry page.
  • Page 147: Setting Permissions For Registry Keys

    Assembling an Installation Binary / Hex (REG_BINARY) Identifies the value as a binary in hexadecimal notation. Do not use spaces, commas, or other characters to separate the bytes. Example: AD30C0A94020A8FC4C0008. Click OK. Setting Permissions for Registry Keys Use the Registry Key Permissions dialog box to set permissions to protect your application’s registries against accidental deletion or changes.
  • Page 148: Special Registry Keys

    Assembling an Installation To view shared registry resources Double-click a registry value on the Registry page in Installation Expert or on the Components or Features tab in Setup Editor. The Registry Details dialog box appears. Click the Shared Resources tab. See also: Registry Page on page 139...
  • Page 149: Creating And Editing .Ini Files

    Assembling an Installation information on formatted text strings, see Formatted in the Windows Installer SDK Help. Editing Existing Tables on page 383. Creating and Editing .INI Files Note When you change an .INI file and then view its contents, the lines within the changed section might not be in the same order as before the change.
  • Page 150: Shortcuts Page

    Assembling an Installation To complete the INI File Details dialog box INI Filename Enter a name for the new .INI file, or click Import to import an existing .INI file. This file will be created on the destination computer, if it does not already exist. If it exists, the .INI contents you enter will be used to edit the existing .INI file.
  • Page 151 Assembling an Installation File in the installation Mark this to have the shortcut open a file in the installation. Advertised This is marked by default, which means this shortcut appears on the destination computer regardless of whether its target is installed or advertised. When the end user opens an advertised shortcut, installation of the target .EXE file is started.
  • Page 152: Editing A Shortcut Configuration

    Assembling an Installation Editing a Shortcut Configuration To edit a shortcut configuration Do one of the following: Select Installation Expert > Shortcuts page. a. From Current Feature, select a feature or condition. (Because any item you add must be assigned to a specific feature, you cannot add an item when All Features is selected.) b.
  • Page 153: Adding An Environment Variable

    Assembling an Installation Show Window Select whether the target file opens in a normal, minimized, or maximized window. Advertised Mark this to have the shortcut appear on the destination computer regardless of whether its target is installed or advertised. When the end user opens an advertised shortcut, installation of the target .EXE file is started.
  • Page 154: Adding File Associations

    Assembling an Installation Replacement Specify how to handle an existing value for the variable. Windows NT based system environment variable Mark this if this is a NT based system environment variable. Click OK. The environment variable is added. To edit it, double-click its name. To delete it, use the right-click menu.
  • Page 155: Determining Extension Settings

    Assembling an Installation To import a file association Select Installation Expert > File Associations page. From Current Feature, select a feature or condition. (Because any item you add must be assigned to a specific feature, you cannot add an item when All Features is selected.) Click Add at the right of the File Associations page and select Import.
  • Page 156: Adding Command Verbs

    Assembling an Installation Note The Description and Icon fields are associated with the ProgID, not the extension. If no ProgID is specified, those fields are unavailable. Click OK. Adding Command Verbs Use the Command Verbs tab to determine which actions are available when the end user right-clicks a file with your file association in Windows Explorer.
  • Page 157: Services Page

    Assembling an Installation Show Associated Mark this to display the MIME types currently associated with the selected file extension. To disassociate a MIME type, clear its check box. Click OK. Services Page Use the Services page to define applications to be installed as a service. You also can start, stop, and delete services that are installed on the destination computer.
  • Page 158 Assembling an Installation The options you set on the Create Service Details dialog box are dependent on how you coded your service. Some of the options correspond to options in the Services application. For details, see ServiceInstall Table in the Windows Installer SDK Help. Service Name Enter the name of the service.
  • Page 159: Controlling Services On The Destination Computer

    Assembling an Installation Manual Mark this to have the service enabled but not automatically started. If this option is marked, the end user can start the process manually using the Services control panel or Services application. Service interacts with desktop Mark this to have the service display UI (examples: an application window, an item on the taskbar, and so on) to the end user while it is running.
  • Page 160: Adding An Odbc Item

    Assembling an Installation Wait for service action to complete before continuing Mark this if the installation should wait until the actions specified above finish before continuing with installation. Click OK. The service control item appears. To edit it, double-click its name. To delete it, use the right-click menu.
  • Page 161: Setting Odbc Data Source Details

    Assembling an Installation Setting ODBC Data Source Details To set ODBC data source details Access the ODBC Data Source Details dialog box. Adding an ODBC Item on page 160. Complete the dialog box: Data Source Name Enter a name for the data source, or click Import to import data source information from a saved data source file.
  • Page 162: Setting Odbc Translator Details

    Assembling an Installation Setting ODBC Translator Details To set ODBC translator details Access the ODBC Translator Details dialog box. Adding an ODBC Item on page 160. Complete the dialog box: Description Enter a description of the translator, or click Import to import an existing translator.
  • Page 163 Assembling an Installation When the destination computer is running Windows XP SP2, Windows Server 2003 SP1, or later, the exceptions are added to the Windows Firewall exceptions list. When the destination computer is running an operating system that does not have Windows Firewall, the installation runs normally and the Windows Firewall exceptions are ignored.
  • Page 164 Assembling an Installation When a file that is specified in an exception is deleted from the installation, the exception entry and the associated custom actions are removed also. Windows Installer Editor Reference...
  • Page 165: Chapter 6: Your Installation On The Destination Computer

    Chapter 6 Your Installation on the Destination Computer This chapter includes the following topics: About System Requirements on page 165 Performing a System Search on page 169 Setting Version-Specific Windows Installer Options on page 176 Setting Features for Installation Types on page 181 About System Requirements You can define system requirements for an installation in two different areas of Windows...
  • Page 166 Your Installation on the Destination Computer Requirements that begin with “All” or “Do not check” indicate that this requirement is not checked. Any requirement you select includes not only the requirement but also any greater value. Example: Selecting a Windows version of Windows XP lets an installation run on any computer with Windows XP or any later versions of the same operating system.
  • Page 167: Setting A System Requirement For Server Roles And Services

    Your Installation on the Destination Computer Adding Prerequisites to a Release on page 198. SQL Server Version Use this option to check for the presence of SQL Server. By default, this value is not checked. This option is useful if you have set up this installation to configure a Microsoft SQL Server on the SQL Server Scripts page.
  • Page 168: Adding Roles And Services To The Server Roles And Services Dialog Box

    To add server roles and services to the Server Roles and Services dialog box Access the roles.txt file and remove its Read-only attribute. By default, the file is in the Program files\Symantec\Wise Package Studio\Windows Installer Editor directory. Open the roles.txt file.
  • Page 169: Setting A Requirement By Creating A Launch Condition

    Your Installation on the Destination Computer The next time you open the Server Roles and Services dialog box, the options you added to the roles.txt file appear in the list of server roles and services. Setting a Requirement by Creating a Launch Condition You can use launch conditions to check system requirements on the destination computer.
  • Page 170: Searching For Files Or Directories

    Your Installation on the Destination Computer To find a previous version of your application that wasn’t installed using Windows Installer technology. To find any files, directories, .INI files, registry entries, or components of a previous version of your application. You can specify the items to search for and then code the installation so the new version is placed in the same location as the previous one, rather than in a default location.
  • Page 171 Your Installation on the Destination Computer Search all fixed drives for a file Searches all permanent attached drives for the file. You determine how many levels down the search is performed by entering a search depth. This operation returns the entire path to the file. Example: C:\Program Files\Application\Application.exe.
  • Page 172: Searching For Items In .Ini Files

    Your Installation on the Destination Computer Min. Size The file’s size must be equal or greater than this number. Leave the default value of 0 to ignore the file size. Max. Size The file’s size must be equal or less than this number. Leave the default value of 0 to ignore the file size.
  • Page 173 Your Installation on the Destination Computer Property Specify a property name. It will hold the result of the search, which is a file name, directory path, or other value, depending on the operation performed by the search. If you’ve already defined a new public property (all uppercase) in the Properties icon on the Product tab, then you can select it from the list;...
  • Page 174: Searching For A Registry Value

    Your Installation on the Destination Computer To test the search, add a text box on one of the dialog boxes in the installation. In the text box’s Control Text field, enter the property name (surrounded by brackets) that you assigned to this search. (Example: [MY_PROPERTY].) This causes the value of the property to be displayed on the dialog box.
  • Page 175: Searching For A Previously-Installed Component

    Your Installation on the Destination Computer Value Name Enter the name of the registry value. To find the default registry value, leave this blank. Search 64-bit portion of the registry (64-bit installations only.) Mark this to find registry keys that are designated as 64-bit components.
  • Page 176: Setting Version-Specific Windows Installer Options

    Your Installation on the Destination Computer Read directory name from component keypath Select this operation if the component you are searching for contains only an empty directory (a Create Directory item) and has an empty key path. This operation returns a directory path. (Example: C:\Program Files\Application\.) If the keypath for this component is a file, ODBC item, or registry item, this operation fails.
  • Page 177 Your Installation on the Destination Computer Elevate Deferred Execution sequence only This is the preferred option for most installations. Typically, actions that require elevation should be in the Execute Deferred sequence. At run time, when the installation reaches the Deferred Execution sequence, the user is prompted for administrator credentials.
  • Page 178: About Uac Elevation Of Windows Installer Installations

    Your Installation on the Destination Computer To set logging options for installations that will run under Windows Installer 4.0 or later, mark the appropriate check boxes: ! - Flush each line to the log a - Start up of actions Logs actions as they are started.
  • Page 179 Your Installation on the Destination Computer Options for elevating Windows Installer installations Option Description Elevate the Deferred In a typical MSI, only the Deferred Execution sequence should contain actions Execution sequence that write to a protected area on the destination computer. The installation runs in standard user mode until it enters the Execute Deferred sequence.
  • Page 180: About Uac Elevation Of An Entire Installation

    Your Installation on the Destination Computer Option Description Create a standard user If an application is written to be installed and run by standard users without installation with no elevation elevation, you can bypass UAC elevation issues. The installation cannot contain actions that access a protected area on the destination computer.
  • Page 181: Setting Features For Installation Types

    Your Installation on the Destination Computer installations. If you specified a name for the log file, only one log is created but it might appear to contain entries for two installations. This is normal. When the installation runs in maintenance mode, the installation is not elevated and a UAC prompt appears before the Execute Deferred sequence begins.
  • Page 182 Your Installation on the Destination Computer Description text This text appears next to the radio button on the Installation Type dialog box. To change the text for a specific installation type, select the installation type name in the upper-left list and change the text in the Description text box. Default features To set which features are turned on by default during installation, select an installation type name in the upper-left list and mark the check boxes of the...
  • Page 183 Your Installation on the Destination Computer Select Features dialog box Default features Windows Installer Editor Reference...
  • Page 184: Chapter 7: Organizing Your Installation Into Releases

    Chapter 7 Organizing Your Installation Into Releases This chapter includes the following topics: About Releases on page 184 Customizing a Release on page 188 Setting Build Options for a Release on page 193 Adding Prerequisites to a Release on page 198 Creating Web-Based Installations With WebDeploy on page 204 Setting Up Media for Distribution...
  • Page 185: Creating A New Release

    Organizing Your Installation Into Releases Itanium edition Creating Multiple, Platform-Specific Installations from One Project File on page 67. Multiple Releases From a Workbench Process The predefined Workbench process, Repackage for Windows Installer, works with a single .MSI that has the default project file name. If you create multiple releases for a package, you should either customize the process for that project to perform tasks on all .MSIs that are compiled, or write a macro to change the names of the additional .MSIs to the default file name.
  • Page 186 Organizing Your Installation Into Releases with the extension .MSI. When an installation has multiple releases, this can cause a compile error, because no two releases can have the same name. To save the .MSI in a subdirectory of the installation project’s location, precede the file name with a \ and the subdirectory path.
  • Page 187: Outputting A Multiple-Language Release

    Organizing Your Installation Into Releases depending on the value of ALLUSERS. Also see ALLUSERS Property in the Windows Installer SDK Help. Target Platform Select the target platform for this release. This determines the Template Summary property of the compiled .MSI. The initial default is set by the Target Platform option on the New Installation File dialog box.
  • Page 188: Customizing A Release

    Organizing Your Installation Into Releases Single-file .EXE When you select this, you must create a language transform for each additional language. Creating a Language Transform on page 269. During compile, the transforms are packaged inside the .EXE along with the .MSI.
  • Page 189: Customizing Properties For A Release

    Organizing Your Installation Into Releases Example: Customize a release as an evaluation in which: The application doesn’t allow the end user to save files. The product’s name indicates it is an evaluation. The product’s summary informs the end user that this evaluation release doesn’t allow saving files.
  • Page 190: Defining A Feature And Component Set For A Release

    Organizing Your Installation Into Releases You can use the Release Settings page to override the value of an existing summary item or edit customized summary items. Example: Change the Comment Summary item to reflect that a particular release is an evaluation version rather than a full version. End users can see the summary information by right-clicking the compiled .MSI or .EXE in Windows Explorer and selecting Properties.
  • Page 191: Sharing Settings Between Releases

    Organizing Your Installation Into Releases If necessary, expand the Features icon in the list box. To include a feature in this release, mark its check box. To exclude a feature, clear its check box. To select which components to include in this release: Click the feature name to display the feature’s components in the lower pane.
  • Page 192: Example: Creating An Evaluation Release

    Organizing Your Installation Into Releases Example: Creating an Evaluation Release This example describes how you could define an evaluation release for an application. In this example: The release is named Sample Evaluation. The application’s summary dialog box indicates that this is an evaluation release. Potential customers can use the evaluation version indefinitely, but they can’t save any files.
  • Page 193: Setting Build Options For A Release

    Organizing Your Installation Into Releases Setting Build Options for a Release Note This page is fully enabled in a .WSI only. In an .MSI or .MST, you cannot add or delete. On the Build Options page, you can customize a release by selecting the format of output files and language options.
  • Page 194 Organizing Your Installation Into Releases an .MSI file that might or might not be embedded in the .EXE. This sets the Create a downloadable .EXE option on the WebDeploy page, and vice versa. WebDeploy .EXE and .INI Change the download information dynamically, perhaps as a result of end user input.
  • Page 195: About The Installation Of An .Msi Into An Svs Layer

    Organizing Your Installation Into Releases Exclude all file extensions from the Extension table Mark this to exclude user data files from the SVS layer for all file extensions that appear in the Extension table. You add file extensions to the Extension table on the File Associations page.
  • Page 196: About The Exclusion Of Files On The Build Options Page

    Organizing Your Installation Into Releases dialogs. The maintenance mode dialog boxes appear when the end user clicks the application’s Change/Remove button in Add/Remove Programs. About Maintenance of an .MSI Installed into an SVS Layer on page 197. Note Only English is supported for any dialogs that are controlled by this WiseScript file. Exclusions When you install an .MSI into an SVS layer, you should also specify on the Build Options page the end user data files that should be excluded from the SVS layer.
  • Page 197: About Maintenance Of An .Msi Installed Into An Svs Layer

    Organizing Your Installation Into Releases excluded from the layer are not lost when the application is reset from Add/Remove Programs. About Maintenance of an .MSI Installed into an SVS Layer on page 197. Warning If an .MSI is installed into an SVS layer, any files that are generated by the application and saved locally are lost when the layer is reset unless those files were excluded on the Build Options page.
  • Page 198: Adding Prerequisites To A Release

    Organizing Your Installation Into Releases Warning If an .MSI is installed into an SVS layer, any files that are generated by the application and saved locally are lost when the layer is reset unless those files were excluded on the Build Options page. About the Exclusion of Files on the Build Options Page on page 196.
  • Page 199 Organizing Your Installation Into Releases If you specify a runtime that is not on your computer, the Download Redistributables wizard appears during compile. Use the Wise Web Site option to download that runtime, which should be pre-selected. Downloading Redistributable Files on page 30.
  • Page 200: Adding A Prerequisite File

    Organizing Your Installation Into Releases Adding a Prerequisite File On the Prerequisites page, you can add prerequisite files to run before the main installation. Prerequisite files are usually .EXE or .MSI files, but there is no restriction on their type. Note The options on the Prerequisites page are unavailable if Do not create an .EXE file is selected from .EXE Options on the Build Options page.
  • Page 201: Adding A Runtime Prerequisite

    Organizing Your Installation Into Releases To add a launch condition, select an option from both drop-down lists and click Add. Repeat to add additional launch conditions. To delete a launch condition, select it in the Condition section and click Delete. Click OK to save the launch conditions.
  • Page 202: Editing The Wisescript That Creates The Installation .Exe

    Organizing Your Installation Into Releases Setting Build Options for a Release on page 193. To add a runtime to an installation Select Installation Expert > Prerequisites page. From Current Release, select a release. Click Add at the right of the page and select Runtime. The Runtime Details dialog box appears.
  • Page 203 Organizing Your Installation Into Releases Warning Make sure the .EXE options on the Build Options page are set correctly before you edit the WiseScript. If you change the .EXE options after you edit the WiseScript, you will lose all the changes you made to the script. To edit the WiseScript Select Installation Expert >...
  • Page 204: Creating Web-Based Installations With Webdeploy

    Organizing Your Installation Into Releases About Script Editor in the WiseScript Editor Help Creating Web-Based Installations With WebDeploy Windows Installer version. For best results with WebDeploy, the destination computer should have Windows Installer 2.0 or later. Note This page is enabled in a .WSI only. WebDeploy™...
  • Page 205: The Webdeploy Process

    Organizing Your Installation Into Releases Create an .EXE that runs an external .MSI Windows Installer and .NET runtimes, and prerequisite files, if any, are external to the .EXE. The resulting .EXE is very small. When an end user runs the .EXE, it connects to the Web location of the .MSI and runs the .MSI.
  • Page 206: Tips For Creating An Efficient Webdeploy Installation

    Organizing Your Installation Into Releases Phase 2: Destination Computer Your Web Server: Contains the .EXE and other pieces of the installation ready for download (HTTP Protocol) The end user: Runs the installation .EXE from your Web server Phase 3: Destination Computer Your Web Server: Contains the .EXE and other pieces of the...
  • Page 207: Creating A Webdeploy Installation

    Organizing Your Installation Into Releases Creating a WebDeploy Installation Windows Installer version. For best results with WebDeploy, the destination computer should have Windows Installer 2.0 or later. Note This page is enabled in a .WSI only. The WebDeploy™ page lets you enable an installation for distribution through the Web. You do this by setting options for compiling the installation and for connecting to the Web server that will contain the installation files.
  • Page 208: Uploading A Webdeploy Installation To The Web

    Organizing Your Installation Into Releases Click the Edit button next to each field to display a URL Settings dialog box, which lets you enter the elements of the file location separately and then builds the full path from your entries. Note If you select the Create .EXE and .INI option, the password is stored in the .INI file.
  • Page 209 Organizing Your Installation Into Releases To upload a WebDeploy installation Verify that directories exist on the Web server at the URL addresses you specified in the Download URL fields on the WebDeploy page. Using an FTP client, upload the installation files: If you are distributing a single-feature .MSI over the Internet, the installation should be compiled to an .EXE that contains the .MSI.
  • Page 210: Setting Up Media For Distribution

    Organizing Your Installation Into Releases Creating Web-Based Installations With WebDeploy on page 204 Creating a WebDeploy Installation on page 207 Setting Up Media for Distribution Note This page is fully enabled in a .WSI only. In an .MSI or .MST, you cannot add or delete. The Media page lets you prepare an installation for distribution.
  • Page 211 Organizing Your Installation Into Releases Compressed application files Compressed graphic files To add a media item Select Installation Expert > Media page. From Current Release, select a release. Click Add at the right of the Media page. The Media Details dialog box appears. In Media Name, describe the media item you’re setting up.
  • Page 212: Adding A Media Destination

    Organizing Your Installation Into Releases This option is best for WebDeploy installations, where only required components are downloaded. The remaining options on the Media page are enabled in a .WSI only. In the Custom Media Settings area, specify settings that are related to the size of your media.
  • Page 213: Including Features And Components In Media Items

    Organizing Your Installation Into Releases A media destination is a holding directory for the installation. It has the same capacity as indicated in the Max Media Size field in the Media Details dialog box. During compile, all files for your installation are placed in one or more destination directories, and you copy them from there to your distribution media.
  • Page 214: Sharing Media Settings Between Releases

    Organizing Your Installation Into Releases You can specify the features and components to include in each media item. By default, All Features/Components are selected to be included. Use this setting in any of the following instances: The installation has only one media item. You want to include every remaining feature and component that is not included in a previous media item.
  • Page 215: Example: Spanning An Installation Across Media And Sharing Media Size Information

    Organizing Your Installation Into Releases From Current Release, select a release to copy settings to. Click Share at the right of the Media page. The Share Release dialog box appears. From Copy/Share Media Settings From, select the release that contains the settings to copy.
  • Page 216 Organizing Your Installation Into Releases Media Name Enter a name for the first media item. Example: Compressed Files. Compression Option Select Compress files into external Cab files. Cab Options Select One Cab (including modules). Max Media Size Enter 550 MB. Cluster Size Select 2048 Bytes.
  • Page 217 Organizing Your Installation Into Releases Compression Option Select Uncompressed external files. Share media destination/size info with previous media entry. Mark this check box. Include Features/Components section Click Add and select the features and components to leave uncompressed. 14. Click OK. After compile, the destination directory CD 1 contains the .CAB file and as many uncompressed files as can fit on the CD.
  • Page 218: Chapter 8: Advanced Installations

    Chapter 8 Advanced Installations This chapter includes the following topics: About the Mobile Devices Page on page 218 Setting Administrator Options on page 225 Specifying Search Locations on page 227 Setting Options for an Administrative Installation on page 228 About Command Lines on page 229 Adding a Digital Signature to an Installation on page 240...
  • Page 219: Process For Adding Mobile Device Support To An Installation

    Advanced Installations About the Mobile Device Package Editor tool Mobile Device Package Editor is a separate installation development tool that lets you create an .INF file and compile it to one or more .CAB files that install a mobile device application.
  • Page 220: Adding Windows Mobile Files

    Advanced Installations Mobile device .CAB files are generated by the CabWiz program from an information file (.INF). The .INF is a text file that specifies directories, files, settings, and configurations that are used to install a mobile device application. (Pocket PC applications only.) A single .INF file can contain information to produce multiple .CAB files.
  • Page 221 Advanced Installations On the New Installation File dialog box, select the Windows Mobile template from the Predefined Templates category. Do this to add the mobile device installation to a new installation. The Application Information dialog box appears. To step through the wizard Complete the Application Information dialog box and click Next: Application Name Enter the name of the application you are installing.
  • Page 222: About Palm Os Installations

    Advanced Installations Shortcut Name Enter a name for the shortcut on the mobile device. Shortcut Directory Select a directory on the desktop computer in which to place the shortcut. Typically, this is the Windows Start menu. Icon File To use a custom icon, enter the path to the .ICO, .EXE, or .DLL file that contains the icon.
  • Page 223: Adding Palm Os Files

    Advanced Installations Installing to the Palm User folder Palm applications that are in the Palm user folder (Palm\User) are installed on that end user’s device whenever a HotSync operation is performed. The end user does not have to specify the application in the Palm Desktop. When multiple Palm users use the desktop computer, the end user who runs the Windows Installer installation can specify which Palm users should be able to access the new Palm application.
  • Page 224 Advanced Installations From Current Feature, select a feature or condition. (Because any item you add must be assigned to a specific feature, you cannot add an item when All Features is selected.) Items that you add to a feature are installed on the destination computer only if the feature is installed.
  • Page 225: Setting Administrator Options

    Advanced Installations Click OK. To add more files, repeat the preceding step. Click Finish on the Palm OS Files dialog box. To edit the mobile device entry, select it and click Details. See also: About the Mobile Devices Page on page 218 About Palm OS Installations on page 222 Process for Adding Mobile Device Support to an Installation...
  • Page 226 Advanced Installations Do not display reboot prompts Mark this to restart without end user interaction. This does not perform a restart, but suppresses the prompt if a restart occurs. Rollback Option Specify how the installation should handle rollbacks. A rollback is the process of returning the computer to its original state in the event that an installation in progress is canceled.
  • Page 227: Specifying Search Locations

    Advanced Installations Setting Options for an Administrative Installation on page 228 Specifying Search Locations on page 227 Specifying Search Locations Use the Search Locations page to specify paths to search for installation files during a reinstall or repair. Adding new source locations on the Search Locations page replaces the default location.
  • Page 228: Setting Options For An Administrative Installation

    Advanced Installations Click OK. To include the original source directory If you add directories to the Search Locations page, the installation's original source directory is replaced, but you can add it to your search locations. Add [SOURCEDIR] to the Search Locations page. Select MSI Script >...
  • Page 229: About Command Lines

    Advanced Installations To set a property for the administrative image Select Installation Expert > Administrative Install. In Default Installation Folder, specify the directory on the destination computer where the installation should be copied. During installation from the administrative image, this is the default destination directory on the Destination Folder dialog box.
  • Page 230: Creating A Command Line To Apply To An Installation

    Advanced Installations Command lines that you can apply Command lines that you can apply to to installations at run time Windows Installer Editor for compiling Are documented fully in Command Line Are documented in Wise product Options and Standard Installer documentation.
  • Page 231 Advanced Installations Install Mode Select an install mode: Install Installs or configures the installation package. Select this option to remove patches. Advertised Advertises the installation on the destination computer. Repair Repairs an application that is installed on the destination computer. Network Install Extracts the files in the installation package to a network location.
  • Page 232: Applying Ui Options To An Installation

    Advanced Installations See also: About Command Lines on page 229 Applying UI Options to an Installation Not available in a transform. Command lines cannot be applied to a transform. You can use a command line to set the UI options, which determine how much the end user interacts with the installation.
  • Page 233: Applying Logging Options To An Installation

    Advanced Installations If you mark the qb, qb+, or qb- option, then the Hide the Cancel Button check box is enabled. Check this to add the ! switch to the command line, which removes the Cancel button from the installation dialog boxes. To set options for Windows Installer 3.0 only, mark one of the following options in the Windows Installer 3.0 only section.
  • Page 234: Applying An Advertising Option To An Installation

    Advanced Installations To change the location of the log file, specify a new path. To set logging options for all versions of Windows Installer, mark the appropriate check boxes in the All Windows Installer versions section: * - Wildcard, log all information Logs all information, but does not use verbose output.
  • Page 235: Applying A Repair Option To An Installation

    Advanced Installations Windows Installer can advertise the availability of an application to end users and to other applications without actually installing the application. If an application is advertised, only the interfaces required for installing the application are presented to the end user or other applications, saving time and disk space.
  • Page 236: Changing Public Properties In An Installation

    Advanced Installations Complete the dialog box: p - Reinstall only if file is missing o - Reinstall if file is missing or if an older version is installed e - Reinstall if file is missing or an equal or older version is installed d - Reinstall if file is missing or a different version is installed.
  • Page 237: Applying Transforms To An Installation

    Advanced Installations Applying Transforms to an Installation Not available in a transform. Command lines cannot be applied to a transform. For information on transforms, see TRANSFORMS Property in the Windows Installer SDK Help. To apply transforms to an installation Click the Transform tab on the Command Line Details dialog box. Creating a Command Line To Apply to an Installation on page 230.
  • Page 238: Command Line Options For Wfwi.exe

    Advanced Installations Update Use this option to update installed applications. Click the Patches tab on the Command Line Details dialog box. Mark whether to add or remove patches. The option to remove patches is enabled only if Windows Installer 3.0 or later is installed on your computer. Click Add and specify a patch file (.MSP).
  • Page 239: Wfwi.exe Command Line Option Example

    Advanced Installations Command-line options Description /c=“release_name” Compile only the specified release from an installation containing multiple releases /p name=value Set property values The property name and value must immediately follow the /p. You can use as many property name and value switches as you like in a command line.
  • Page 240: Automating The Build Process

    Advanced Installations Automating the Build Process You can use the WFWI.exe command-line options in conjunction with other processes to create an automated build process. Enter the following command-line statement into a batch file or any other program that has the ability to run command-line statements, such as Scheduled Tasks in Control Panel: “path\WFWI.EXE”...
  • Page 241: Creating An Installation For Microsoft Sms

    Advanced Installations To add a digital signature Select Installation Expert > Digital Signature page, mark Add a digital signature, and complete the page: Web URL Enter your organization’s Web site address. Descriptive Name Enter the name of your application. This name is embedded in your Authenticode certificate to let end users verify the name of the application they are installing.
  • Page 242: Creating A .Net Installation When You Have The .Net Framework

    Advanced Installations manually, or configure the installation to create it when compiled. For information about SMS, visit the Microsoft Developer Network (msdn.microsoft.com). The Microsoft SMS page specifies the information for the .MIF file and package definition file. Alternatively, you can apply the /m command-line option to msiexec.exe to create a status.mif file.
  • Page 243: Creating A .Net Installation Without The .Net Framework

    Advanced Installations Windows Installer Editor finds all multifile assemblies and adds them automatically. Depending on the Scan Dependencies option in Wise Options, dependency assemblies might be added automatically, or you might be prompted to add them. If the option to Never scan dependencies is selected, you must add the dependencies.
  • Page 244 Advanced Installations Use a computer that has the .NET Framework installed and has the assemblies. This typically is a development computer. For each assembly, run the ildasm tool from the Visual Studio .NET command prompt. When you run ildasm, you select an assembly and the program displays the assembly’s attributes.
  • Page 245: About Web Installations

    Advanced Installations About Web Installations You can create an installation that installs Web resources to a Microsoft Internet Information Server (IIS) by using the Web Files page in Installation Expert. To learn about file-related functionality on the Web Files page, see Files or Web Files Page on page 105 and its subtopics.
  • Page 246: Features That Support Web Installations

    Advanced Installations Features That Support Web Installations In addition to the Web Files page, the following features throughout the product specifically support Web application installations: Dynamic editing of XML The Dynamic Content tab appears for valid XML files, files such as Web.config, that you add to the installation. Use it to edit the attributes in an XML file by substituting the value of Windows Installer properties at run time.
  • Page 247: Creating A Web Site

    Advanced Installations Instance transforms You can install more than one instance of a Web application to multiple virtual directories using instance transforms. Multiple Instance Installations on page 346. See also: About Web Installations on page 245 Creating a Web Site New Web sites that you add to an installation appear under the Program Files directory by default.
  • Page 248 Advanced Installations The details dialog box appears with several tabs. Click the Installation Settings tab and complete the tab: Override Existing Settings If an installation with the same name as this one is already on the destination computer, specify whether to retain existing settings (None) or override existing settings (All).
  • Page 249: Creating A Virtual Directory

    Advanced Installations Setting Installation Options for a Web Installation on page 252 and About the Web Site Details Dialog on page 255. See also: About Web Installations on page 245 Creating a Virtual Directory This section covers creating a virtual directory, converting an existing installation directory to a virtual directory, adding a directory from your computer as a virtual directory, and deleting a virtual directory.
  • Page 250 Advanced Installations Override Existing Settings If an installation with the same name as this one is already on the destination computer, specify whether to retain existing settings (None) or override existing settings (All). Remove on Uninstall (Top-level virtual directories only.) Mark this to have this virtual directory removed (unregistered) from IIS during uninstall.
  • Page 251: Creating A New Web Folder

    Advanced Installations To map an existing physical directory to a virtual directory Use this procedure if you have already created a directory on the Files page or a Web folder on the Web Files page, and you now want to map that directory to a virtual directory.
  • Page 252: Setting Installation Options For A Web Installation

    Advanced Installations Click New and select New Web Folder. Enter a name for the directory and click OK. Select the new directory and click Details. The details dialog box appears with several tabs. Complete the tabs on the details dialog box. These tabs correspond to options on the properties dialog box in IIS, version 5.0.
  • Page 253: Setting Installation Options For A Child Virtual Directory

    Advanced Installations Note If the current installation was built in an older version of Windows Installer Editor, you are prompted to first convert the dialog boxes on the Dialogs page. Converting resets navigation and conditions, so if you customized the dialog boxes, back up this installation before converting.
  • Page 254 Advanced Installations You set options for each Web site or virtual directory you added on the Web Files page. Setting installation options adds Web (IIS) dialog boxes to the installation. If you omit the procedure below, no Web dialog boxes appear to the end user, and the installation tries to apply the defaults for all items.
  • Page 255: About The Web Site Details Dialog

    Advanced Installations Note Clicking OK on the details dialog box regenerates the Web dialog boxes in the installation. See also: About Web Installations on page 245 About the Web Site Details Dialog If you select a directory, virtual directory, or Web site on the Web Dialogs page and click Details, a multi-tabbed Details dialog box appears.
  • Page 256: Installing Web Settings From A File

    Advanced Installations The Web Site tab lacks the Connections and Logging sections. The Home Directory and Virtual Directory tabs lack the options to specify where the content should come from. The Directory Security tab lacks the IIS options for IP address and domain name restrictions and Secure communications.
  • Page 257: Configuring A Microsoft Sql Server During Installation

    Advanced Installations To install Web settings from a file This procedure is performed by end users. If you will let your end users use this feature, you must provide them with this information. Run the installation with the following command line: msiexec.exe /i "PathToMsi.msi"...
  • Page 258: Tips For Using The Sql Server Scripts Page

    Advanced Installations Items that you add to a feature are installed on the destination computer only if the feature is installed. Items that you add to a condition are installed only if the feature is installed and the condition is true. Click Add at the right side of the page.
  • Page 259: Setting Sql Connection Strings

    Advanced Installations See also: Configuring a Microsoft SQL Server During Installation on page 257 Setting SQL Connection Strings To set SQL connection strings Click the Connection tab on the SQL Script Details dialog box. Configuring a Microsoft SQL Server During Installation on page 257.
  • Page 260 Advanced Installations The statements appear on the Statements tab, where you can edit them. If you later change the file on disk, you must re-import the file to include the changes in the installation. To generate statements that recreate a database, click Recreate Database. The Recreate Database dialog box appears.
  • Page 261: Specifying Replacements In Sql Statements

    Advanced Installations Specifying Replacements in SQL Statements You can specify text strings to be found and replaced within the SQL statements during installation. To specify replacements in SQL statements Click the Replacement tab on the SQL Script Details dialog box. Configuring a Microsoft SQL Server During Installation on page 257.
  • Page 262 Advanced Installations To be able to import security settings using the .NET Framework Security page, you must have the .NET Framework installed on your computer. You create and configure .NET Framework security settings using the Microsoft .NET Framework Configuration tool, which is in Administrative Tools in your computer’s Control Panel. The .NET Framework security settings consist of a hierarchy of code groups.
  • Page 263: Mts/Com+ Page

    Advanced Installations not in bold type, they do not need to be deleted. They are removed when you exit the .NET Framework Security page. See also: About Microsoft .NET Technology on page 497 MTS/COM+ Page Use the MTS/COM+ page to add MTS or COM+ application packages to an installation. The MTS/COM+ page is intended for software developers who know the computer names of the servers that contain MTS or COM+ server applications.
  • Page 264 Advanced Installations From Current Feature, select a feature or condition. (Because any item you add must be assigned to a specific feature, you cannot add an item when All Features is selected.) Items that you add to a feature are installed on the destination computer only if the feature is installed.
  • Page 265 Advanced Installations MTS/COM+ Page on page 263 Windows Installer Editor Reference...
  • Page 266: Chapter 9: Translating An Installation

    Chapter 9 Translating an Installation This chapter includes the following topics: About the Languages Page on page 266 Defining and Translating Into Additional Languages on page 272 Translating Text Strings You Have Added or Changed on page 278 Resizing Dialog Controls After Translation on page 283 About the Language Menu on page 284...
  • Page 267 Translating an Installation Export text strings to a file that Do this when you define a new language, or you can send to a translator when you add or change any user interface elements in an installation. Exporting Selected Text Strings to a File page 279.
  • Page 268: Creating A Translated .Msi

    Translating an Installation Note The Languages page is unavailable for transforms. Edit languages in the base .MSI. Creating a Translated .MSI You can translate an installation to another language and have it compile to one or more .MSI files. A separate .MSI is created for the default language plus each language that is marked on the Languages page.
  • Page 269: Creating A Language Transform

    Translating an Installation installation file is named Sample, a file named Sample_German.msi is created during compile. If you specify an .MST file instead of an .MSI, this language is compiled to a language transform. Creating a Language Transform on page 269. Codepage, Language ID Leave the defaults in these fields.
  • Page 270: Sharing Language Settings Between Releases

    Translating an Installation From Current Release, select a release. Mark the check box next to each language to create a language transform for. Some .MSI files might not have languages listed on the Languages page. In that case, you must use the .WSI that compiled the .MSI. Double-click the marked language.
  • Page 271: Removing A Language From An Installation

    Translating an Installation settings of either of the linked releases is also applied to the other release, until you break the link. To break a link between releases Select Installation Expert > Languages page. From Current Release, select a release. Click Share at the right of the page.
  • Page 272: Defining And Translating Into Additional Languages

    Translating an Installation To restore a language that was deleted If you use the Delete button on the Languages page to delete a language and its text strings from an installation, you can later restore that language to the installation if you have a file containing translated text strings for that language.
  • Page 273: About The New Language Wizard

    Translating an Installation Warning If you export the strings to a text file, make sure that the first two fields in the text file are not translated. These are the table and key names for the text strings and must remain intact. Import the translated resource or text file.
  • Page 274: Defining A New Language And Exporting All Text For Translation

    Translating an Installation If you select None, click Finish to add the language to the Languages page and exit the wizard. If you select Export or Import, click Next. Additional pages appear; for details, see the topics listed in the preceding step. Defining a New Language and Exporting All Text for Translation If the language you need is not one of the 25 pre-translated languages, you can define the new language on the Languages page, then export strings from the installation.
  • Page 275: Importing All Text Strings After Translation

    Translating an Installation Click Next. The Export/Import Text Strings for Language page appears. If you have not had the strings translated, mark Export and click Next. The Export Default Strings page appears. Complete the page: Export As Select a file type for the text strings: Resource File Exports the strings to a Visual C++ style resource file;...
  • Page 276: Importing All Text Strings With The New Language Wizard

    Translating an Installation To import all text strings using the Language Strings dialog box Select Installation Expert > Languages page. From Current Release, select a release. Click Strings at the right of the page. The Language Strings dialog box appears. From Language, select the language for which you will replace all text strings.
  • Page 277 Translating an Installation Click Add at the right of the page. The New Language wizard appears with the Specify Language Details page. Complete the page: Language Name Enter a name for the new language. Destination File (Optional.) Specify the full path for the translated installation file. You can create an .MSI or a transform (.MST).
  • Page 278: Translating Text Strings You Have Added Or Changed

    Translating an Installation Translating Text Strings You Have Added or Changed When you add or change any user interface elements in an installation, you must translate those changes if you want them to appear in another language. Examples: error messages; disk prompts; text and controls on dialog boxes; descriptions or names for launch conditions, features, or shortcuts;...
  • Page 279: Exporting Selected Text Strings To A File

    Translating an Installation the new dialog box displays in English, even in the Spanish version of the installation. You must export all the text on the new dialog box to a file, have it translated to Spanish, and then import the Spanish version of the text back into the installation. If you are translating the entire installation to a new language, you can export, translate, and import all text strings in the installation.
  • Page 280: Importing Selected Text Strings From A File

    Translating an Installation New or changed strings in installation Export all strings that were added or changed in this installation. All strings in current language Export all the text strings in the language you selected from the Language drop-down list. All strings in default language Export the text strings in the default language for the .WSI.
  • Page 281: Translating Text Directly Without Exporting It

    Translating an Installation The translated text strings are inserted into the installation. If you chose to compare the text strings during the import, an error message informs you when one or more text strings in the installation have been changed since the export.
  • Page 282: Changing Text In Installation Expert And Setup Editor

    Translating an Installation If you need to translate larger amounts of text, export the text strings to a file. Translating Text Strings by Exporting to a File on page 278. To translate a small amount of text Select Installation Expert > Languages page. From Current Release, select a release.
  • Page 283: Resizing Dialog Controls After Translation

    Translating an Installation Table Columns you can translate and edit ActionText Description, Template BBControl Text ComboBox Text Control Text, Help Dialog Title Directory DefaultDir DuplicateFile DestName Error Message Feature Title, Description File FileName LaunchCondition Description ListBox Text ListView Text Media DiskPrompt Property Value...
  • Page 284: About The Language Menu

    Translating an Installation Conditions for controls on dialog boxes on page 388. Also see UserLanguageID Property in the Windows Installer SDK Help. About the Language Menu The Language menu lists all languages that have text translated in the installation. Use the Language menu to display translatable items in another language.
  • Page 285: About The Default Release Language

    Translating an Installation The New Installation File dialog box appears. In the Categories list, click Predefined Templates. In the Templates/Tools list, click the Windows Application icon. Mark Create .WSI or .WSM project file that can be compiled into an .MSI or .MSM and click OK.
  • Page 286: About The Language Strings Dialog

    Translating an Installation You can also use the default release language to change the language of a base .MSI, against which you will apply other language transforms. Example: Suppose you create an installation named Sample2. On the Languages page, you mark the check box for German and, on the Language Details dialog box for German, you mark the Default release language check box.
  • Page 287: What Pre-Translated Languages Are Available

    Translating an Installation When you do this the Changed and the Exported column contains column contains Add or change a text string Export strings Import strings The same stages apply when you add or change files or directories, if you export file and directory names for translation.
  • Page 288: Language Ids

    Translating an Installation Thai Turkish If the language you need is not listed here, you can send the installation text strings to a translator and then add the new language and the translated strings to the Languages page. Defining and Translating Into Additional Languages on page 272.
  • Page 289 Translating an Installation Language Sublanguage Language ID ANSI (decimal codepage notation) French Swiss 4108 1252 German Austrian 3079 1252 German German (Standard) 1031 1252 German Swiss 2055 1252 Greek 1032 1253 Hindi 1081 Hungarian 1038 1250 Icelandic Icelandic 1039 1252 Italian Italian (Standard) 1040...
  • Page 290: Chapter 10: Distributing An Installation

    Chapter 10 Distributing an Installation This chapter includes the following topics: Package Distribution on page 290 WiseUpdate on page 290 Package Distribution When you complete and compile an installation, you can use Package Distribution to share or deploy it by: Copying a Package to the Share Point Directory Copying a Package to a Network Directory Copying a Compiled Installation to an FTP Server...
  • Page 291 Distributing an Installation The WiseUpdate Process on page 292 Using WiseUpdate in an Installation on page 293 Options for Running WiseUpdate Client on page 298 WiseUpdate Tips on page 299 Troubleshooting WiseUpdate on page 300 Windows Installer Editor Reference...
  • Page 292: The Wiseupdate Process

    Distributing an Installation The WiseUpdate Process Phase 1: Your Computer Your Web Server (FTP/HTTP): Contains the WiseUpdate When you first use WiseUpdate, you: update file that stores: 1. Develop the installation The current version number 2. Configure WiseUpdate and URLs to the installation files (FTP) specify: Contains the installation files...
  • Page 293: Using Wiseupdate In An Installation

    Distributing an Installation Using WiseUpdate in an Installation To use WiseUpdate® effectively, you must use it in two or more successive versions of your application. Using it in one version of your application only enables that version to check for later versions over the Internet. Note To avoid web connection errors when you use WiseUpdate with IIS 6.0 or later, you must add a MIME type to the IIS server for each type of file that you let users download from...
  • Page 294 Distributing an Installation This information tells the client when, how, and where to check the Web location for new versions. The first time you configure WiseUpdate, you enable that version to check for later versions over the Internet. To enable the Internet updating capability, you must use WiseUpdate for each successive version of your application.
  • Page 295: About The Wiseupdate Update File

    Distributing an Installation If you place the WiseUpdate shortcut in the StartUp group on the destination computer, WiseUpdate Client runs when the destination computer is started or the end user logs on to Windows. If the check interval has been reached, WiseUpdate Client runs normally, prompting the end user to check for updates.
  • Page 296: Customizing The Wiseupdate Dialog Boxes

    To customize the WiseUpdate dialog boxes In Windows Explorer, go to the following directory: Program Files\Symantec\Wise Package Studio\Windows Installer Editor\WiseUpdt Right-click WiseUpdt.wse, select Properties, uncheck Read-only, and click OK. In WiseScript Editor or WiseScript Package Editor, open WiseUpdt.wse.
  • Page 297: Uploading Wiseupdate Files With An Ftp Client

    Distributing an Installation If the prompt about the Windows Installer SDK merge module naming convention appears, click No. In Installation Expert, on the Files page, delete WiseUpt.exe from the INSTALLDIR directory and add the one that you just edited. Compile WiseUpdt.msm. 10.
  • Page 298: Options For Running Wiseupdate Client

    Distributing an Installation running the same version of your application as that on the server, a message notifies you that you are running the latest version. Close the WiseUpdate Client window. If this test is not successful, try to determine the problem. WiseUpdate Tips on page 299 and Troubleshooting WiseUpdate...
  • Page 299: Wiseupdate Tips

    Distributing an Installation When the destination computer is started or the end user logs on to Windows, WiseUpdate Client silently checks the time elapsed since it last ran. If the number of days elapsed is greater than the check interval value, WiseUpdate Client prompts the end user to check for updates.
  • Page 300: Troubleshooting Wiseupdate

    Distributing an Installation On the WiseUpdate page, the connection information you enter must point to the location of the WiseUpdate update file on the Web server. Creating Web-Based Installations With WebDeploy on page 204. Does WiseUpdate work if the Web location of the WiseUpdate update file changes? No.
  • Page 301 Distributing an Installation some changes to it and upload it with a new version number, the WiseUpdate upgrade will fail unless you configured the updated package as an upgrade (using the Upgrades page) or a patch (using Patch Creation). If end users cannot view the Readme file in WiseUpdate Client, make sure the Readme file does not have embedded graphics, which are not supported.
  • Page 302: Chapter 11: Upgrading Applications

    Chapter 11 Upgrading Applications This chapter includes the following topics: About Upgrading Applications on page 302 Preparing for Software Updates on page 302 UpgradeSync on page 305 Patch Creation on page 305 Upgrades on page 305 About Upgrading Applications Windows Installer provides two main methods for upgrading installations: patching and upgrading.
  • Page 303: Determine The Form Of The Update

    Upgrading Applications Planning for the next software update should start when you ship the first version of your application. To create an update, you must have access to previous versions of the installation. Always archive the shipping installation in a place that is accessible. Even if you compile and ship the installation as an .EXE, archive the .MSI, which is created alongside the .EXE.
  • Page 304: Determine The Product Code And Product Version

    Upgrading Applications If the product code is changed, then the updated application can be installed alongside the original application, or can inadvertently be installed over the original application. Are not recommended for updating an application. Should only be used to update if one of the following is true: The update is so small that only the contents of a few files changed.
  • Page 305: Upgradesync

    Upgrading Applications See UpgradeSync. UpgradeSync Using UpgradeSync is one of the steps in preparing software for updates. Preparing for Software Updates on page 302. UpgradeSync compares the current package with the previous version of the package, and does the following to prepare the current package for a patch or upgrade: Changes the PackageCode, ProductCode, and ProductVersion properties if necessary.
  • Page 306: Creating An Upgrade

    Upgrading Applications What you need to create an upgrade The previous version or versions, which you are upgrading, must have been installed using Windows Installer. You need access to the .MSI of each version you are upgrading. If you do not have access to the .MSI files, you must have the upgrade code and version information from the .MSI files.
  • Page 307 Upgrading Applications Include maximum version in range Mark this to include the maximum version as a valid upgrade. If you clear this, only versions below the maximum version are upgraded. Languages This determines if an application should be upgraded based on its language. Enter a semicolon-delimited list of languages that should be upgraded by this installation.
  • Page 308: Chapter 12: Working With Source Paths

    Chapter 12 Working With Source Paths This chapter includes the following topics: Using Source Control on page 308 About Path Variables on page 315 Source Paths in an Installation on page 318 About source paths You might find that you need to work with source paths during installation development. Project files (.WSI) reference files you add to the installation by their source path.
  • Page 309: Adding An Installation To Source Control

    Working With Source Paths Editor works though your existing user account, the permissions you experience in Windows Installer Editor are the same as those you already have set in your SCCS. Enable the Source Control menu by marking the Enable source control check box in Wise Options.
  • Page 310: Adding Files To An Installation In Source Control

    Working With Source Paths Click OK to exit Wise Options. Select Source Control menu > Add. Dialog boxes from your SCCS appear, in which you connect to your SCCS and select the location where this installation should be stored. To get further help on any of If this installation is already located these options, see the help system for your SCCS.
  • Page 311: Checking Files Into Source Control

    Working With Source Paths Example: Suppose you add an installation to source control, along with source files A.dll, B.txt, and C.jpg. Later, you add the file D.gif to the installation. To get D.gif into source control follow the procedure below. To add files to an installation in source control Select Source Control menu >...
  • Page 312: Checking Files Out From Source Control

    Working With Source Paths Note When you add an installation to source control, the installation file (.WSI or .MSI) is added and is also checked out, so it might appear in this dialog box even if you previously did not check it out. Mark the check boxes of the files to check into source control and click OK.
  • Page 313: Removing Files From Source Control

    Working With Source Paths See also: Using Source Control on page 308 Adding an Installation to Source Control on page 309 Removing Files from Source Control You can use this feature only if you’ve added the current installation to your source code control system (SCCS).
  • Page 314: Showing The Differences Between Installation Files

    Working With Source Paths installation file. To view the history of files other than the installation file, use your SCCS directly. To view the history of the installation file, select Source Control menu > Show History. Dialog boxes from your SCCS appear. For information on these dialog boxes, consult the documentation for your SCCS.
  • Page 315: About Path Variables

    Working With Source Paths On the Visual MSIDiff Key dialog box, take note of the symbols and colors that indicate changes and click OK. If the Visual MSIDiff Key dialog box does not appear, you might have clicked its Do not show this dialog again check box.
  • Page 316: Turning Path Variable Substitution On And Off

    Working With Source Paths Use to Replace Substrings You can also use path variables to replace any matching substring in a path. Example: If files are in C:\Development\Application\Version1.0, you could create a path variable named Version and set it to Version 1.0. Each time an instance of “Version 1.0” was found in a path, it would be replaced with [Version].
  • Page 317: Creating A Path Variable Based On An Environment Variable

    Working With Source Paths Replace When Matched Mark this to activate this path variable. If this is cleared, this path variable has no effect on files you add to the installation. Click OK. See also: About Path Variables on page 315 Creating a Path Variable Based on an Environment Variable You can create a path variable that is set to the value of an environment variable.
  • Page 318: Source Paths In An Installation

    Working With Source Paths The Registry Path Variable Details dialog box appears. Complete the dialog box: Variable Name Enter any name, but do not use special characters or spaces. Because this is not a Windows Installer property, you do not need to follow Windows Installer property naming conventions.
  • Page 319: Changing Source Directories

    Working With Source Paths structure. If you change the directories to UNC paths, you can leave the source files on a server but open the installation from any computer on the local network. Whether the path to a file is stored depends on what kind of file you’re working in. When you add a file to an .WSI or .MSI, the path to the file is stored, and each time you compile, the file is recompressed into the resulting .MSI.
  • Page 320: Converting To Relative Source File Paths

    Working With Source Paths Example: If you change C:\Program Files\Application\Manual to C:\Program Files\Application\Online Manuals, all the directories that begin with C:\Program Files\Application\Manuals are changed. To make additional changes, repeat the preceding steps. To set the path type for files that you add to the installation later, make a selection from Path Type on the Convert Source Paths dialog box.
  • Page 321: Converting To Unc-Based Source File Paths

    Working With Source Paths Converting to UNC-Based Source File Paths You can convert the mapped drive paths of source files to UNC-based (Uniform Naming Convention) paths. This helps prevent compile errors when installation source files are on a central file server. Example: If you add files to an installation from your Y drive, which is mapped to a file server, paths of files you add to the installation start with Y:\.
  • Page 322 Working With Source Paths Complete the dialog box and click OK: Name Enter a new property name. Value Enter the directory path that currently contains the source files. Example: Enter SourceFiles in the Name field and enter C:\Development in the Value field.
  • Page 323: Chapter 13: Merge Modules And Transforms

    Chapter 13 Merge Modules and Transforms This chapter includes the following topics: About Merge Modules on page 323 Available Tabs and Pages in Merge Modules on page 324 Creating a Merge Module As a New Installation on page 328 Creating a Merge Module From Existing Components on page 329 Creating a Configurable Merge Module on page 331...
  • Page 324: Available Tabs And Pages In Merge Modules

    Merge Modules and Transforms Merge modules that you create. Adding a Merge Module to an Installation on page 338. Predefined merge modules that install commonly-used software packages. You can download these from the Wise Web site or from other vendors’ Web sites. Downloading Redistributable Files on page 30.
  • Page 325: Setting Merge Module Details

    Merge Modules and Transforms the contents of the item selected in the left pane. For an expanded view of a selected item, double-click the item in the right pane. See also: Setting Merge Module Details on page 325 Setting Dependencies for a Merge Module on page 326 Setting Exclusions for a Merge Module on page 327...
  • Page 326: Setting Dependencies For A Merge Module

    Merge Modules and Transforms Mixed (.NET and Win32) A merge module that contains both Win32 and .NET elements. When this option is selected, the Generate COM interop registry keys for .NET Assembly check box on the Self-registration tab of the File Details dialog box is marked by default for all .NET assemblies you add to this merge module.
  • Page 327: Setting Exclusions For A Merge Module

    Merge Modules and Transforms Fields are populated with information extracted from the merge module. Complete the dialog box: Module ID To specify a different merge module, click Browse. Language ID To specify a different language for the dependent merge module, change Language ID.
  • Page 328: Creating A Merge Module As A New Installation

    Merge Modules and Transforms If you select multiple merge modules, they’re listed on the Exclusions page. Double- click a module name to open the Exclusion Module Details dialog box for a specific merge module. Fields are filled in with information extracted from the merge module. Complete the dialog box: Module ID To specify a different merge module, click Browse.
  • Page 329: Creating A Merge Module From Existing Components

    Merge Modules and Transforms To assemble the merge module. To assemble the merge module Assemble the merge module by adding files, registry entries and so on using the pages under the Details page group. Because merge modules cannot have multiple features, you don’t select a feature on these pages.
  • Page 330 Merge Modules and Transforms To create a merge module from existing components Open the installation file or merge module to move components from. Select Tools menu > Move Components to Merge Module. You can also select Setup Editor > Features tab (in an installation) or Setup Editor > Modules tab (in a merge module), right-click the feature containing the components to move, and select Move Components to Merge Module.
  • Page 331: Creating A Configurable Merge Module

    Merge Modules and Transforms Creating a Configurable Merge Module Available in merge module files (.WSM, .MSM) only. To create a configurable merge module, you add configuration items to a standard merge module. On the Substitutions page, you specify the: Substitution item, which is the field that can be configured. Configuration item, which determines how a field can be configured.
  • Page 332: Setting Configuration Item Details

    Merge Modules and Transforms See also: Specifying Drop-Down List Values for Substitution on page 333 Specifying a Bitfield for Substitution on page 334 Specifying a Key for Substitution on page 335 Setting Configuration Item Details To set configuration item details Access the Configuration Item Details dialog box from the Module Substitution dialog box.
  • Page 333: Specifying Drop-Down List Values For Substitution

    Merge Modules and Transforms Windows Installer Identifier The installation author can enter text in the format of a Windows Installer identifier to replace the default value. This text can contain ASCII characters, digits, underscores, or periods, and must begin with either a letter or an underscore.
  • Page 334: Specifying A Bitfield For Substitution

    Merge Modules and Transforms To specify drop-down list values for substitution Access the Configuration Item Details dialog box from the Module Substitution dialog box. Creating a Configurable Merge Module on page 331. Complete the Configuration Item Details dialog box. Setting Configuration Item Details on page 332.
  • Page 335: Specifying A Key For Substitution

    Merge Modules and Transforms Example: Suppose you want to let the installation author set the attributes of a file to system and vital. The decimal value of the system attribute is 4. The decimal value of the vital attribute is 512. You would add these values and enter a bitmask of 516.
  • Page 336: Example: Configuring An Item For A Merge Module

    Merge Modules and Transforms referenced. If Delete Unreferenced Rows is marked, the default bitmap is not merged into the installation. From Key Table, select the type of table to make available for selection for this key. Click OK. The Module Substitution dialog box appears. The values you defined for the configurable item appear in the Value field, and the items appear in the Configuration Item list box.
  • Page 337: About The Merge Modules Page

    Merge Modules and Transforms On the Module Substitution dialog box, the pipe character (|) appears in the Configuration Items list box, below short_name. 10. Click Add and select Configurable Item. The Configuration Item Details dialog box appears. 11. Enter the following: Name Enter “long name.”...
  • Page 338: Adding A Merge Module To An Installation

    Merge Modules and Transforms Adding a Merge Module to an Installation Use the Merge Modules page to add merge modules to an installation. By default, merge modules are not installed with Windows Installer Editor. However, you can create merge modules or use the Download Redistributables wizard to obtain third-party merge modules.
  • Page 339 Merge Modules and Transforms The Select Merge Module Destination Directory dialog box appears. Select a directory and click OK. Select the destination directory for files in the merge module that are not installed to a predefined directory. If there are no files in the merge module’s Application directory and you want to leave this blank, select <none>.
  • Page 340: Editing Merge Module Details

    Merge Modules and Transforms About the Merge Modules Page on page 337 Editing Merge Module Details To edit merge module details Select Installation Expert > Merge Modules page. From Current Feature, select the feature or condition that contains the merge module to edit.
  • Page 341: About Transforms

    Merge Modules and Transforms Integer Value Enter any integer. See Integer Format Types in the Windows Installer SDK Help. For general information on configurable item types, see Semantic Types in the Windows Installer SDK Help or see Creating a Configurable Merge Module on page 331.
  • Page 342: Creating A Transform Based On An Existing .Msi

    Merge Modules and Transforms A transform that captures first use settings. First use settings are the changes made by an .MSI-based application the first time it is started on a computer after being installed. Create this type of transform with SetupCapture. See Using SetupCapture to Capture First Use Settings in the Wise Package Studio Help.
  • Page 343: Setting Transform Details

    Merge Modules and Transforms Applying a Transform to an Installation on page 345 Setting Transform Details The Transform Details dialog box, which appears when you save a transform file, contains options that flag error conditions of a transform. You set the error conditions to ignore.
  • Page 344: Creating A Universal Transform

    Merge Modules and Transforms Match Upgrade Code Mark this if the upgrade code of the transform must match the upgrade code of the base .MSI. Version Matching The version of the installation (set on the Product Details page) is in the form AA.BB.CCCC.DDDD, where AA represents the major version, BB represents the minor version, CCCC represents the update version, and DDDD represents the build version.
  • Page 345: Applying A Transform To An Installation

    Merge Modules and Transforms A new installation opens. Complete the Installation Expert pages or otherwise edit the transform as needed. The following Installation Expert pages are available: General Information Page Path Variables page (see About Path Variables on page 315) Resources page (see Managing Binary Resources on page 102)
  • Page 346: Multiple Instance Installations

    Merge Modules and Transforms Select the Build Options page, select the new release from the Current Release drop-down list, and select .EXE that launches external .MSI from the .EXE Options drop-down list. Compile the installation, which creates an .EXE, an .MSI, and an .INI file. Open the .INI file, and add the following line: CmdLine=TRANSFORMS="TransformName.mst"...
  • Page 347 Merge Modules and Transforms In Instance Property, enter a property that will be replaced by a unique value in this instance of the installation. Product Name is pre-filled with the product name from the Product Details page. If you change it here, it is changed on the Product Details page. Click Add at the right of the page.
  • Page 348: Installing Multiple Instances

    Merge Modules and Transforms See also: Installing Multiple Instances on page 348 Installing Multiple Instances Note Multiple instance installations are supported only by the versions of Windows Installer released with Windows XP SP1 (2.0.2600.1106), Windows Server 2003 (2.0.3790.0), or later. Like other types of transforms, an instance transform must be applied to a base .MSI or patch during installation using a command-line option;...
  • Page 349: Chapter 14: Tools

    Chapter 14 Tools This chapter includes the following topics: About Windows Installer Editor tools on page 349 ApplicationWatch on page 350 Convert SMS Installer or WiseScript Installation on page 350 Import Visual Studio Projects on page 352 Manage Assembly Exclusions on page 355 MSI to WSI Conversion on page 356...
  • Page 350: Applicationwatch

    Tools Package Distribution Copy a compiled installation to an FTP server, to a local area network, or to removable media. You can also perform an administrative installation to a shared network directory. In the Standard Edition, you also can distribute an installation to the share point directory.
  • Page 351: Converting An Sms Installer Or Wisescript Installation

    Tools You cannot convert all .EXEs—only those that were created with Microsoft SMS or a WiseScript-based product. If you do not have the original installation project file, you can convert the compiled .EXE instead, because it contains an embedded copy of the script. Because script installations are based on a different technology than Windows Installer, not all elements of the script are converted to Windows Installer format.
  • Page 352: Import Visual Studio Projects

    Tools To obtain a record of any conversion errors, click Save Errors or Print Errors. Click Finish. More errors might appear at this point, which have to do with saving in Windows Installer format. If a file that is part of a merge module is added, the Files in Merge Modules dialog box appears.
  • Page 353: Importing An Installation From A Visual Studio Project

    Tools These tools are not designed to set up a remote automation or a DCOM™ server automatically. Importing an Installation From a Visual Studio Project Use the following procedure to create a Windows Installer package from a Visual Basic, Visual C#, or Visual J# project, version 2003 or earlier. Import Visual Studio Projects on page 352.
  • Page 354 Tools dependency. If the dependency files cannot be read, then the files they refer to cannot be added to the installation you are creating. If any files on the Dependency Files Not Found page are crucial to this installation: a. Cancel the import. b.
  • Page 355: Removing Dependencies From The Project Dependency Exclusion List

    Tools If a file that is used by a package in the Wise Software Repository is added, the Files in Repository dialog box appears and prompts you to add a version of the file that is in the repository. Adding Files From the Wise Software Repository on page 113.
  • Page 356: Msi To Wsi Conversion

    Tools MSI to WSI Conversion Use MSI to WSI Conversion to convert existing .MSI files to Windows Installer project files (.WSI). An .MSI is a distributable installation. Because an .MSI typically encapsulates all the files in the installation, it is larger and takes longer to save. A project file (.WSI) compiles to an .MSI.
  • Page 357: Specifying Merge Module Source Directories

    Tools On the Merge Module Sources page, you can change the default for extracting merge modules, which is to extract them from the .MSI into the default source directory you specified on the Welcome page. To accept the default, click Next. You can change the default.
  • Page 358: Specifying File Source Directories

    Tools Click Change Path and select Change Source Directory. The Select Directory dialog box appears. Select a directory and click OK. The merge modules you selected will be extracted to this directory instead of the default source directory. Complete the .MSI to .WSI Conversion wizard. To replace merge modules with merge modules on your computer by specifying the merge module location On the Merge Module Sources page, select one or more merge modules to replace.
  • Page 359 Tools MSI to WSI Conversion on page 356. You can override the default source directory in the following ways: Change Source Directory Extract files to a directory other than the default directory. Replace With Local File Select files on your computer to replace the files in the .MSI. This option lets you search your computer for matching files.
  • Page 360: Package Validation

    Tools Note For the following two options, the Destination Path column is appended to whatever directory you select. Example: Suppose you are repackaging Application.msi, and you have it installed in C:\Program Files\Application, you would select the C drive, then select Selected Directory Contains Destination Directory Structure and click OK.
  • Page 361: Removing Files With Missing Or Invalid Source Paths

    Tools Adding a Validation Module to Package Validation Adding a Rule That Calls a Custom Action Adding a Validation Rule Set Removing Files With Missing or Invalid Source Paths When you compile an installation that contains files with missing or broken source paths, the compile fails.
  • Page 362 Tools To fix source paths If a file in the installation has a missing or broken source path, but the file should remain in the installation, you must fix its source path before you can compile successfully. Do either of the following: Select Installation Expert >...
  • Page 363: Chapter 15: Setup Editor

    Chapter 15 Setup Editor This chapter includes the following topics: About Setup Editor on page 363 Product Tab on page 365 Features Tab on page 367 Components Tab on page 372 Tables Tab on page 380 About Setup Editor Setup Editor provides an in-depth view of all changes that you make to an installation. You can make those changes in Setup Editor or Installation Expert.
  • Page 364 Setup Editor Setup Editor window in Windows Installer Editor The upper-right pane displays contents of the item selected in The left pane lists the left pane. items for the selected Double-click tab. Expand folders items to edit to see their contents them.
  • Page 365: Product Tab

    Setup Editor Components Add, edit, and delete individual components of the installation. Each component is one action the installation performs. Example: installing a file, changing the registry, and so on. Components Tab on page 372. Module This tab appears only when you are in a merge module file. Add, edit, and delete the components, files, registry entries, and other installation modifications contained in the merge module.
  • Page 366: Specifying Summary Information

    Setup Editor Specifying Summary Information Use the Summary icon in Setup Editor to set the value of a summary item. End users can see the summary information by right-clicking the compiled .MSI or .EXE in Windows Explorer and selecting Properties. Note In Windows Vista and later, the file Properties dialog box does not contain summary information.
  • Page 367: Features Tab

    Setup Editor Features Tab The Features tab lets you manipulate an installation’s features and all corresponding items. It displays a tree structure that lists all components, merge modules, files, registry entries, and other installation items associated with each feature. Working With Components and Features on page 496.
  • Page 368: Assigning A Component To A Feature

    Setup Editor Folder Creating a Folder in Setup Editor on page 371 Duplicate file entry Creating Duplicate File Entries on page 371 Environment variable Adding an Environment Variable on page 153. File association Advertising Icon on page 370. Adding File Associations on page 154.
  • Page 369: Modules Icon

    Setup Editor To assign a component to a feature In Setup Editor > Features tab, right-click a feature and select New > Component Assignment. The Assign Components to Feature dialog box appears. The dialog box lists all components in the installation, except those already assigned to the currently selected feature.
  • Page 370: Advertising Icon

    Setup Editor Click the Modules icon. The merge modules in the selected feature appear in the upper-right pane. If the Advertising icon does not appear, right-click and select Hide Empty Folders/ Items. See also: About Merge Modules on page 323 Features Tab on page 367 Advertising Icon...
  • Page 371: Creating A Folder In Setup Editor

    Setup Editor Creating a Folder in Setup Editor The Create Folder icon in Setup Editor lets you add a new empty directory under an existing directory. You also can create directories on the Files or Web Files pages in Installation Expert, where you can also use wildcards to add files to directories automatically.
  • Page 372: Components Tab

    Setup Editor Specify the following: Existing File Specify the path for the file to be duplicated. Dest. Directory Specify the directory on the destination computer in which the duplicate file should be installed. To add a subdirectory to the directory you selected, click New Folder and enter a folder name.
  • Page 373 Setup Editor To display a component’s contents, click the component in the left pane. The contents appear in the upper-right pane. You also can expand the component so that its contents appear in the components tree. To expand or collapse a selected component’s children, use the right-click menu. To customize the icons that appear in the components tree, right-click in the left pane and select Customize View.
  • Page 374: Component Errors

    Setup Editor Shortcut Adding a Shortcut to an Installation on page 150. Remove Registry operation Removing Registry Entries From the Destination Computer on page 142. Remove Files operation Removing a File From the Destination Computer page 121. Move Files operation Copying and Moving Files on the Destination Computer on page 122.
  • Page 375 Setup Editor Installation Expert automatically creates the appropriate components for each item you add to an installation. However, you can add and edit components yourself in Setup Editor > Components tab. To edit a component, double-click its name. To edit multiple components, first select the Components icon in the upper-left pane.
  • Page 376 Setup Editor Run Locally The component is installed and runs from the destination computer’s hard drive. This setting overrides the corresponding feature’s attribute. Run from Source The component runs from the media or the server that contains the installation. This setting overrides the corresponding feature’s attribute. Run from Source or Locally The component takes on the feature’s attribute.
  • Page 377 Setup Editor Disable registry reflection Uninstall on supercedence Mark this to prevent leaving an orphan component of a patch package on a computer when the patch package is superceded by another. If you mark this option, Windows Installer 4.5 or later unregisters and uninstalls this component when a superceding patch package is installed.
  • Page 378: Moving Items Between Components

    Setup Editor Components Tab on page 372 Moving Items Between Components Warning To work with items on the Components tab, you should be proficient in the Windows Installer development environment. See Windows Installer Components in the Windows Installer SDK Help. On the Components tab, you can move items from one component to another.
  • Page 379: Isolating A .Dll With An .Exe

    Setup Editor Select the item as key path on the Component Details dialog box. Adding and Editing a Component on page 374. See also: Components Tab on page 372 Isolating a .DLL With an .EXE To prevent .DLL conflicts, you can associate a .DLL file in the installation with a specific .EXE file in the installation.
  • Page 380: Tables Tab

    Setup Editor To add published components In Setup Editor > Components tab, right-click a component and select New > Published Component. The Publish Component Details dialog box appears. Complete the dialog box: Publish GUID (Optional.) To replace the automatically-generated GUID (globally unique identifier) for this component with a new one, click Generate.
  • Page 381 Setup Editor Warning Deleting, adding, or editing table data directly is not recommended unless you are an experienced Windows Installer developer with a clear understanding of Windows Installer database technology. Editing table data might cause unexpected, undesirable behavior, including damage to the installation. We cannot provide technical support for problems arising from table editing.
  • Page 382: Creating A New Table

    Setup Editor You can select rows in tables, then copy and paste them into any program that supports SYLK format, such as Excel. You also can paste the rows into a text editor, where they appear as comma-delimited text. See: Creating a New Table on page 382 Creating a New Row in a Table...
  • Page 383: Creating A New Row In A Table

    Setup Editor Value Set Enter a list of acceptable values for this field, separated by semicolons. Key Table Select the table to which this column is linked. Example: The SelfReg table has a column File_ that is linked to the File table. Key Column Select the column in the linked table.
  • Page 384: Searching For Table Data

    Setup Editor Warning Deleting, adding, or editing table data directly is not recommended unless you are an experienced Windows Installer developer with a clear understanding of Windows Installer database technology. Editing table data might cause unexpected, undesirable behavior, including damage to the installation. We cannot provide technical support for problems arising from table editing.
  • Page 385: Finding Validation Errors

    Setup Editor Finding Validation Errors On the Tables tab, you can search for tables that contain errors and you can search for individual validation errors. These are quick ways to search for validation errors while you are working on a package. A validation error occurs when the data in a field does not comply with the requirements assigned to the field.
  • Page 386: Editing Binary Data In The Icon Table

    Setup Editor Editing Binary Data in the Icon Table On the Tables tab, you can edit binary data in the Icon table. Most items in this table are graphics (example: shortcut icons). You can export binary files for editing and then import them back into the installation.
  • Page 387: Chapter 16: Using Conditions And Properties

    Chapter 16 Using Conditions and Properties This chapter includes the following topics: Conditions on page 387 Properties on page 395 Conditions Conditions are like expressions: they evaluate to a true or false value. You associate conditions with different elements of an installation such as features, components, actions, dialog boxes, and dialog box controls to determine whether something happens or not.
  • Page 388 Using Conditions and Properties condition or feature. These changes can include adding files, registry entries, services, and ODBC. Items that you add to a feature are installed on the destination computer only if the feature is installed. Items that you add to a condition are installed only if the feature is installed and the condition is true.
  • Page 389: Condition Guidelines

    Using Conditions and Properties Conditions attached to control events You can attach an event to a control. The event can have an associated condition. You might attach events to Next buttons that specify what event happens if the Next button is clicked. Example: Click the Installation Type dialog in Setup Editor >...
  • Page 390: Examples Of Conditions

    Using Conditions and Properties When adding conditions to the Launch Conditions icon, you can add conditions that check properties or environment variables, but you cannot add conditions that check the installed state of a component or feature. You might need to include the merge module CondFix.msm, that fixes certain Windows Installer limitations related to component conditions.
  • Page 391: Creating Conditions With Condition Builder

    Using Conditions and Properties Add CondFix.msm to an installation if you add a component condition that checks the installed state of a component or feature. The Windows Installer Editor installation places CondFix.msm in the default merge modules directory, or you can download it with the Download Redistributables wizard. This merge module appears on the Select Merge Module dialog box when you add a merge module on the Merge Modules page.
  • Page 392: Checking The Value Of A Property

    Using Conditions and Properties Use the () buttons to enclose parts of the condition, which changes the order of precedence. Use the " button to enclose literal text. Lists Fields Select the kind of item the condition checks. You can check the installed state for features and components, and you can check the value of properties and environment variables.
  • Page 393: Checking The Value Of An Environment Variable

    Using Conditions and Properties Creating Conditions With Condition Builder on page 391. In the Fields list, click the Property folder. The Values list displays a list of properties and directories that are initialized by this installation. More properties appear than in other lists of properties, such as the Properties icon in Setup Editor >...
  • Page 394: Checking If And How A Feature Or Component Is Currently Installed

    Using Conditions and Properties Checking If and How a Feature or Component is Currently Installed A feature or component might be installed to run locally, from the source, or advertised, which are all options you can set when installing a component or feature. Note You cannot add this type of condition to the Launch Conditions icon in Setup Editor >...
  • Page 395: Properties

    Using Conditions and Properties To check if and how a feature or component will be installed by this installation Open the Condition Builder. Creating Conditions With Condition Builder on page 391. In the Fields list, click the Feature or Component folder. In the Values list, click the name of the feature or component.
  • Page 396: How Do You Use Properties

    Using Conditions and Properties Created by you in the You can create properties in the Properties icon in Setup installation database Editor > Product tab. Also, some dialog boxes that contain a property drop-down list also contain a New button with which you can create a new property.
  • Page 397: Creating A New Property

    Using Conditions and Properties In conditions You can use properties inside conditions. You do not need to enclose the property name in brackets. Conditions determine whether something happens or not. As formatted text on dialog boxes To display the value of a property or write the value of a property to a file, you must enclose the property name in square brackets.
  • Page 398 Using Conditions and Properties Note You cannot enter other properties to set the value of a new property because text you enter is interpreted literally. This is not true for some specific Windows Installer properties, such as DiskPrompt and PrimaryFolder. To set a property to the value or values of other properties, use the Set Property custom action.
  • Page 399: Chapter 17: Working With Dialogs

    Chapter 17 Working With Dialogs This chapter includes the following topics: About Dialogs on page 399 Using the Dialogs Page on page 402 Using the Dialogs Tab on page 406 Editing Dialog Details on page 408 Creating a New Dialog on page 410 About Dialog Controls on page 411...
  • Page 400: About The Wizard Dialogs

    Working With Dialogs The Dialogs tab shows all dialog boxes that are part of an .MSI. Any of these dialog boxes can appear in different situations: Install Dialogs The Install Dialogs appear during a normal installation, if no command-line options are used to run an advertisement, administrative, or silent installation.
  • Page 401 Working With Dialogs Readme dialog Importing Text into License and Readme Dialogs page 405. User Information dialog Lets end users enter their name, company, and product ID, and indicate whether the software should be installed for all users or only for the current user. The Product ID field does not appear to the end user if the ProductID property (select Product tab >...
  • Page 402: Using The Dialogs Page

    Working With Dialogs Logon Information dialog Appears in installations that are started from the Server Application template in the New Installation File dialog box. You can add it to any installation by using the New Dialog Wizard. Adding the Logon Information Dialog on page 425.
  • Page 403: Changing The Theme Of Dialogs

    Working With Dialogs Warning If this installation contains Web resources, then the list of dialog boxes might include Web (IIS) dialog boxes. Only enable or disable the Web dialog boxes as a group. Enabling individual Web dialog boxes can prevent the installation from working properly. To view a dialog box Click the dialog box name in the Dialogs list.
  • Page 404: Adding And Editing Dialog Themes

    Working With Dialogs Warning Changing themes might delete dialog box customizations in installations that were created in previous versions of this Wise product. To preserve dialog box customizations, leave None selected in Default Theme. To change the dialog box theme Select Installation Expert >...
  • Page 405: Importing Text Into License And Readme Dialogs

    Working With Dialogs When you create a new theme, the images you specify are copied to a new subdirectory in the Themes directory. The location of the Themes subdirectory varies. Installation Resources and Their Locations on page 28. Theme images you create must be in .BMP format. To quickly create theme images, copy and edit a set of predefined images.
  • Page 406: Changing The Order Of Web Dialogs

    Working With Dialogs Note If you encounter error messages or formatting problems when you import the file, open it in Wordpad, save it as .RTF, and re-import it. Some computers cannot import files with formats other than .RTF. Also, only the standard .RTF settings are supported for the License and Readme dialog boxes.
  • Page 407 Working With Dialogs Warning Do not edit the Web (IIS) dialog boxes, except to change their order (as a group) in the installation sequence. Editing the Web dialog boxes might cause unexpected, undesirable behavior, including damage to the installation. Also, any operation within this product that affects the installation’s user interface will regenerate the Web dialog boxes, therefore, any changes you make to them will be lost.
  • Page 408: Adding Controls To Dialogs

    Working With Dialogs See User Interface Levels in the Windows Installer SDK Help. In Setup Editor > Dialogs tab, clear the check box next to Welcome Dialog Wizard. Adding Controls to Dialogs Add controls to dialog boxes on the Dialogs tab in Setup Editor. Because of limitations with Windows Installer, do not place dialog box controls on top of graphics.
  • Page 409 Working With Dialogs Installation Expert > Dialogs page: Select the dialog box and click the Details button. The Dialog Details dialog box appears. Warning If you are using the Installation Types page to manage the Installation Types dialog box, do not change any details on the Installation Type dialog box. Doing so causes the Installation Types page not to work properly.
  • Page 410: Creating A New Dialog

    Working With Dialogs Note If you get details for the Custom Property dialog box, an Edit button appears on the Dialog Details dialog box. This lets you change the Windows Installer properties for the Custom Property dialog box. Creating a New Dialog The New Dialog Wizard guides you through the process of adding a new dialog box to an installation.
  • Page 411: About Dialog Controls

    Working With Dialogs If they do not appear, then you must select a dialog box in both the After and Before columns. The new dialog box will appear after the dialog box you select in After, and before the dialog box you select in Before. Click Finish to add the new dialog box to the dialog box list.
  • Page 412 Working With Dialogs Directory Listbox Displays the folders below the main part of the current path This is intended to be used with the path edit control. Edit Field A single line input field Group Box A boundary box drawn around related controls Icon A static image control for displaying icons Line...
  • Page 413: Editing Dialog Controls

    Working With Dialogs Editing Dialog Controls Warning Do not edit the Web (IIS) dialog boxes, except to change their order (as a group) in the installation sequence. Editing the Web dialog boxes might cause unexpected, undesirable behavior, including damage to the installation. Also, any operation within this product that affects the installation’s user interface will regenerate the Web dialog boxes, therefore, any changes you make to them will be lost.
  • Page 414 Working With Dialogs Note If you encounter error messages or formatting problems when you import the file, open it in Wordpad, save it as .RTF, and re-import it. Some computers cannot import files with formats other than .RTF. Max Characters (This replaces the Control Text field for an edit field control.) Enter the maximum number of characters the end user can enter.
  • Page 415 Working With Dialogs uses the property RADIO but has the Indirect check box marked. The property FIRST, SECOND, or THIRD is set to the check box state based on the setting of the radio button. Scrollbar on left side On a scrolling field control, places the scrollbar on the left instead of the right. (Usually used with the Right-To-Left Reading check box below.) Integer Restricts end users to entering only integers in this control.
  • Page 416: Setting An Event On A Control

    Working With Dialogs Password Makes an edit control display asterisks instead of the characters that the end user types. This is typical of controls that require entry of a password. Bitmap Replaces the control’s text with a bitmap. The control’s text is used as a key to the Binary table to point to the bitmap data.
  • Page 417: Assigning Help To A Control

    Working With Dialogs Control Events for details on each control event. Argument Enter the argument for the event. If no value is passed for that argument, the event is ignored. See Control Events in the Windows Installer SDK Help; click an event name to see valid arguments.
  • Page 418: Setting The Graphic For A Control

    Working With Dialogs To add a new condition, click Add. To edit a selected condition, click Details. To remove a selected condition from this control, click Delete. When you click Add or Details, the Control Condition Details dialog box appears, where you set the following options: Action The action to take when the condition is true.
  • Page 419: Organizing And Aligning Controls On Dialogs

    Working With Dialogs When you click Add or Details, a details dialog box appears, where you can specify the text that appears in the control. The settings available on this tab vary depending on the type of control. Text The text of the button or list item. Value The value returned to the control’s property when the item is selected.
  • Page 420: Aligning Dialog Controls

    Working With Dialogs Overlapping graphics and controls When dialog box controls are layered on top of a graphic or other control, the tab order determines the layer order. During compile, any item that is not included in the tab order is layered over items that are included in the tab order, causing certain controls to be hidden at run time.
  • Page 421: Centering Dialog Controls

    Working With Dialogs All selected controls are aligned with the master control. Centering Dialog Controls You can center controls on a dialog box in relation to the dialog box boundaries. To center dialog box controls In Setup Editor > Dialogs tab, select a dialog box in the left pane. In the right pane, select two or more controls.
  • Page 422: Setting Dialog Tab Order

    Working With Dialogs Setting Dialog Tab Order You can determine the tab order of controls on dialog boxes. To prevent unexpected control layering, set the dialog box’s tab order to include any graphic or control that is overlapped by another control. The higher the item is in the tab order, the closer to the top layer it will be.
  • Page 423: Adding Billboards To A Dialog

    Working With Dialogs Where to use billboards Billboards typically are used on the Progress dialog under the Install Dialogs, and are associated with the InstallFiles action. You can add billboards to other dialog boxes, if: The dialog box is displayed to the end user while the installation is performing an action.
  • Page 424 Working With Dialogs Note Although a default billboard area is already created, you also can create your own. Right-click the dialog box and select Add > Billboard. On the Properties dialog box that appears, click the Events tab. Make sure the Subscribe to Event list contains an entry where Event is set to SetProgress and Attribute is set to Progress.
  • Page 425: Obtaining Logon Information From A Dialog

    Working With Dialogs If you add large content items, you can resize the Progress dialog box itself to accommodate them. Also, you might need to resize bitmap items for them to display correctly. To preview the billboard, select each billboard in order from the Billboard submenu of the right-click menu.
  • Page 426: About The Sql Connection Dialog

    Working With Dialogs To create a new installation that contains the Logon Information dialog box Select File menu > New. In the Categories list, select Predefined Templates. In the Templates/Tools list, select Server Application and click OK. In Setup Editor > Dialogs tab, select the Logon Information dialog and edit the dialog box text as needed to communicate its purpose to the end user who installs your application.
  • Page 427: Adding The Sql Connection Dialog To An Installation

    Working With Dialogs Populate the WISE_SQL_CONN_STR property with the valid connection string. When the end user completes the SQL Connection dialog box and clicks Next, the installation creates and tests the connection string. If the connection string is not valid, an error message appears.
  • Page 428: Editing Additional Sql Connection Dialogs

    Working With Dialogs To add the SQL Connection dialog box to any installation Select Installation Expert > Dialogs page. Click Add. The Select Dialog Type dialog box appears. Select SQL Connection Dialog and click Next. Step through the wizard to create a new dialog box. Creating a New Dialog on page 410.
  • Page 429: Adding The Custom Property Dialog

    Working With Dialogs From: WiseSqlServerName|WiseSqlAuth|WiseSqlUser|WiseSq WiseSqlServerName1|WiseSqlAuth1|WiseSqlUser1|Wis lPass|WISE_SQL_CONN_STR eSqlPass1|WISE_SQL_CONN_STR1 Use the new property for the connection string in the SQL script that executes the connection with the additional SQL Server. Setting SQL Connection Strings on page 259. Example: Use the WISE_SQL_CONN_STR1 property for the connection string. See also: About the SQL Connection Dialog on page 426...
  • Page 430 Working With Dialogs End User-Configurable Properties This list, which you build with the Add button, contains the properties that will be editable by the end user in the Custom Property dialog box during installation. Property Description For each property you added in End User-Configurable Properties, select the property name and add a description here to help the end user understand how to set the property.
  • Page 431: Chapter 18: Macro Editor

    Chapter 18 Macro Editor This chapter includes the following topics: About the Macro Editor on page 431 About Macro Files on page 431 About the Macro Editor Window on page 434 About the Macro Editor The Macro Editor provides access to Wise Automation, which programmatically controls Windows Installer Editor.
  • Page 432: Creating, Editing, And Running A Macro

    Macro Editor The Macro Editor doesn’t let you save a .WBS file under a different name. To rename a macro file, change the file name in Windows Explorer. See also: Creating, Editing, and Running a Macro on page 432 About the Macro Editor Window on page 434 Creating, Editing, and Running a Macro The Macro Editor is similar to the Microsoft Visual Basic Editor.
  • Page 433: Events That Can Trigger A Macro

    Macro Editor In the list box, select the macro to edit. If the macro is in a file other than the one shown in Pathname, browse to the file’s location. Click Edit. The Macro Editor window appears. About the Macro Editor Window on page 434.
  • Page 434: About The Macro Editor Window

    Macro Editor Event What you could do with a macro QueryFixValidation Have Package Validation determine if an ICE error is fixable and supply code to fix it. It is first called when bCheckOnly = TRUE. If bFix is set to TRUE, it determines that the error is fixable and the Correct button on the Package Validation View / Correct dialog box is enabled.
  • Page 435 Macro Editor Repeat Finds text again Exit Closes the Macro Editor window; if you have made changes to the current macro, a message prompts you to save or discard your changes Event View Shows only one macro at a time Object View Shows all macros you have written for a particular object...
  • Page 436: Chapter 19: Debugger For Windows Installer

    Chapter 19 Debugger for Windows Installer This chapter includes the following topics: About the Debugger on page 436 Running the Debugger on page 437 About the Debugger The Debugger for Windows Installer is an easy-to-use tool that lets you step through an installation to isolate and resolve problems.
  • Page 437: Running The Debugger

    Debugger for Windows Installer Table List Lists all the tables in the installation in a window named _Tables. To open a table, double-click its row in the Table List. Move from one open table to another by clicking the corresponding tab at the bottom of this window. You can edit temporary table fields only.
  • Page 438: Setting Properties And Applying Transforms In The Debugger

    Debugger for Windows Installer Set breakpoints if desired. Setting and Clearing Debugger Breakpoints. To run the installation, do one of the following: Run through the actions Select Debug menu > Go. This executes all actions up to the first breakpoint, if any.
  • Page 439: Evaluating Conditions

    Debugger for Windows Installer To set a breakpoint Click the action at which you want to set a breakpoint, then press F9. You can set breakpoints on sequences and control events only. To clear a breakpoint Click an action with a breakpoint and press F9. To clear all breakpoints at once, press Ctrl+Shift+F9.
  • Page 440: Chapter 20: Using Msi Script

    Chapter 20 Using MSI Script This chapter includes the following topics: About MSI Script on page 440 The MSI Script Window on page 441 Editing Sequences on page 445 Calling WiseScripts with Custom Actions on page 447 Guidelines for Using Custom Actions on page 453 Launching a Custom Action from a Dialog on page 458...
  • Page 441: The Msi Script Window

    Using MSI Script The MSI Script Window To access MSI Script™, click the MSI Script tab at the bottom of the main application window. Installation Mode Restricted Areas Actions Sequences Installation Mode Installation modes represent the different ways an installation can be run. Choose whether to work on a normal installation, an advertisement installation, or an administrative installation.
  • Page 442 Using MSI Script Installer installation you create, but each mode is run only under certain circumstances. Installation modes are not used with merge modules. For information on dialog box groupings, see About Dialogs on page 399. Normal Installation Select this installation mode to edit the sequences that are run during a normal installation.
  • Page 443: Adding A Custom Action Outside A Sequence

    Using MSI Script Add a custom action outside a sequence Adding a Custom Action Outside a Sequence. Add a custom action to multiple sequences Adding a Custom Action to Multiple Sequences on page 443. Quickly review and edit custom actions If your custom actions are scattered, you can quickly review and edit them without scanning through each sequence to find them.
  • Page 444: About Installation Sequences

    Using MSI Script Using the Custom Action Location Tab on page 488. From Sequence, select a sequence. In the list box of actions, select an action and click Add. The action is added to the sequence, below the action you selected. If you are in a merge module, the layout of the Location tab is different.
  • Page 445: Editing Sequences

    Using MSI Script Note You cannot replace text using this feature, but you can replace text in Setup Editor > Tables tab. Searching for Table Data on page 384. See also: About Installation Modes on page 441 About Installation Sequences on page 444 About MSI Script on page 440...
  • Page 446: About The Standard And Custom Tabs

    Using MSI Script Remarks (green) Remark statements document the script. Remarks that explain how the script works are already added to new scripts you create. Removing these remarks has no adverse affect. About the Standard and Custom Tabs You can add both custom actions and standard actions to an MSI Script sequence. At the lower left of the Actions list, the Custom tab displays custom actions, and the Standard tab displays Windows Installer built-in actions.
  • Page 447: Commenting Out Script Lines

    Using MSI Script See also: Guidelines for Using Custom Actions on page 453 Types of Actions in MSI Script Sequences on page 445 Commenting Out Script Lines While you are working in MSI Script, you can temporarily disable certain actions to help you with your debug process.
  • Page 448: Examples Of Wisescripts You Run From An .Msi

    Using MSI Script Troubleshooting: When WiseScript Custom Actions Fail on Windows Vista or later page 452 Run WiseScript From Destination on page 483 Run WiseScript From Installation on page 483 Run WiseScript From Installed Files on page 485 About Script Editor in the WiseScript Editor Help Examples of WiseScripts You Run From an .MSI This section provides examples of how to use WiseScripts that are called by a Windows Installer installation.
  • Page 449: Using A Wisescript To Install A License File

    Using MSI Script Using a WiseScript to Install a License File Virtually anyone can open an installation .MSI and see the files and other information it contains. Usually, this is an advantage, but it can be a disadvantage when you need to include sensitive information such as passwords or a license file.
  • Page 450: Uninstalling Changes Made By A Wisescript

    Using MSI Script The sample WiseScript looks like this (the script lines are numbered for clarity): 1. Get Windows Installer Property SERIALNUM into SERIALNUMBER 2. Get Windows Installer Property INSTALLDIR into MAINDIR 3. Set Variable EDITION to LEFT$(SERIALNUMBER,1) 4. Check free disk space 5.
  • Page 451 Using MSI Script Add a Run WiseScript From Installation custom action and set the following: Custom Action Name: ActionInstallCorePlus WiseScript .EXE File: C:\Plus\CorePlus.EXE Command Line: Leave this blank. On the Properties tab, leave the defaults. Add an End Statement. The above script lines install CorePlus, which in this example is A.dll. In the following script lines, you make provisions for the uninstall.
  • Page 452: Troubleshooting: When Wisescript Custom Actions Fail On Windows Vista Or Later

    Using MSI Script This causes the WiseScript to create a log in the installation directory. Add an Install File(s) script action and set the following: Source Pathname: path to Unwise32.exe Unwise32.exe is in the WiseScript Editor subdirectory of this product’s installation directory.
  • Page 453: Guidelines For Using Custom Actions

    Using MSI Script Open the installation in Windows Installer Editor. Windows Installer Editor checks for custom actions that run a WiseScript. Each WiseScript .EXE is updated in memory with a manifest specifying the asInvoker run level. A task appears in the Task List to record each change. If the WiseScript .EXE had an associated row on the Windows Installer Editor Resources page, the Refresh check box for that resource is cleared so that the .EXE on disk is not used during the next compile.
  • Page 454: Guidelines For Custom Action Location

    Using MSI Script Guidelines for Custom Action Location General Place the custom action as high in the sequence as possible where it executes properly. If it doesn’t execute properly when you test it, keep moving it lower in the sequence until it works. If the custom action uses information that’s gathered during the User Interface sequence, place it after the actions that gather the information you need.
  • Page 455: Guidelines For Custom Action Conditions

    Using MSI Script Restricted Areas in the Sequence If an action has restrictions on its placement in the sequence, the restricted areas are shaded in the Installation Sequence list when you select the action in the Actions list. Place the action in a non-restricted area. Restrictions are defined by Windows Installer functionality.
  • Page 456: Guidelines For Calling Vbscripts And Jscripts

    Using MSI Script Limitations Nested installations are supported according to the Windows Installer specification. While nested installations may sometimes be necessary, we do not recommend using them because of the restrictions on their use. See a list of restrictions at the end of Nested Installation Actions in the Windows Installer SDK help.
  • Page 457: Guidelines For Calling .Dlls

    Using MSI Script From Embedded Code. They let you store the script inside the custom action and resolve formatted property names and other references. Make sure the destination computer contains the runtime for JScript or VBScript. You can call scripts using custom actions, but you must author the JScript or VBScript. The built-in Macro Editor is not meant to author JScripts and VBScripts that you call from custom actions.
  • Page 458: Launching A Custom Action From A Dialog

    Using MSI Script In the User Interface or Execute Immediate sequences, you can send Windows Installer properties to the .DLL function as parameters. The property’s current value is passed to the function, and, if the function changes that value, the new value is put into the corresponding property.
  • Page 459: Troubleshooting Custom Actions

    Using MSI Script On the Events tab, in the Publish Events group box, click Add and complete the dialog box: Event Select DoAction. Argument Enter the name of the custom action. The name is case-sensitive. When the installation is run, the button you added appears on a dialog box. When the end user clicks the button, the custom action you specified is run.
  • Page 460: Chapter 21: Custom Action Reference

    Chapter 21 Custom Action Reference This chapter includes the following topics: About Custom Actions on page 461 Call Custom DLL From Destination on page 461 Call Custom DLL From Installation on page 462 Call Custom DLL From Installed Files on page 463 Call DLL From Installation on page 465 Call Custom DLL From Installed Files...
  • Page 461: About Custom Actions

    Custom Action Reference Run WiseScript From Destination on page 483 Run WiseScript From Installation on page 483 Run WiseScript From Installed Files on page 485 Set Directory on page 486 Set Feature State on page 486 Set Property on page 487 Terminate Installation on page 488 Using the Custom Action Location Tab...
  • Page 462: Call Custom Dll From Installation

    Custom Action Reference Usage Double-click the custom action and complete the Details tab: DLL File Specify a .DLL file that exists on the destination computer to call during installation. Type the path to the .DLL as it will be on the destination computer, but use a Windows Installer directory property (enclosed in brackets) to specify the beginning of the path.
  • Page 463: Call Custom Dll From Installed Files

    Custom Action Reference to call ABC32.dll, one to call ABCx64.dll, and one to call ABCItanium.dll. Place each custom action inside a condition block that checks for the appropriate platform. Manage the .DLL on the Resources page, which reflects the Binary table. Note Before being passed to Windows Installer, calls you make with Call Custom DLL actions are passed through a .DLL that facilitates the passing of parameters.
  • Page 464: Configuring .Dll Parameter Settings

    Custom Action Reference appropriate platform. Example: Your .WSI contains a 32-bit release, an x64 release, and an Itanium release. You add three Call Custom .DLL actions to the project: one to call ABC32.dll, one to call ABCx64.dll, and one to call ABCItanium.dll. Place each custom action inside a condition block that checks for the appropriate platform.
  • Page 465: Call Dll From Installation

    Custom Action Reference In the Execute Immediate or User Interface sequences only, you can send Windows Installer properties to the .DLL function as parameters. The property’s current value is passed to the function and, if the function changes that value, the property is updated back in the installation.
  • Page 466: Call Dll From Installed Files

    Custom Action Reference You cannot send a variable parameter list to the .DLL. You can send only the handle to the installation, which means the .DLL must be written specifically for Windows Installer. To avoid these restrictions, use a “Call Custom DLL...” action instead. Usage Double-click the custom action and complete the Details tab: Custom Action Name...
  • Page 467: Call Jscript From Embedded Code

    Custom Action Reference Function Name Type the name of the function within the .DLL file to call. See also: Guidelines for Calling .DLLs on page 457 Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Action Location Tab on page 488...
  • Page 468: Call Jscript From Installed Files

    Custom Action Reference Tips Manage the file on the Resources page, which reflects the Binary table. Use the script to read and write properties to the installation. The destination computer must contain the script’s runtime. Usage Double-click the custom action and complete the Details tab: Custom Action Name Enter a unique name that begins with a letter or underscore.
  • Page 469: Call Jscript From Property

    Custom Action Reference See Standard Actions Reference in the Windows Installer SDK Help. Script File Specify a script file to call during installation. It must have already been added to this installation on the Files page. Script Function Call (Optional.) Type the name of the function within the script to call. Run Script in Win64 Process (64-bit installations only.) Mark this if the script needs to access 64-bit functionality and run in a 64-bit process.
  • Page 470: Call Vbscript From Embedded Code

    Custom Action Reference Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Action Location Tab on page 488 Custom Action Type 53 in the Windows Installer SDK Help Call VBScript From Embedded Code This custom action runs VBScript code that is embedded inside this custom action.
  • Page 471: Call Vbscript From Installed Files

    Custom Action Reference Usage Double-click the custom action and complete the Details tab: Custom Action Name Enter a unique name that begins with a letter or underscore. It can contain numbers and periods. It must not match the name of any Windows Installer standard action. See Standard Actions Reference in the Windows Installer SDK Help.
  • Page 472: Call Vbscript From Property

    Custom Action Reference See also: Guidelines for Calling VBScripts and JScripts on page 456 Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Action Location Tab on page 488 Custom Action Type 22 in the Windows Installer SDK Help Call VBScript From Property This custom action runs VBScript code that is stored inside a Windows Installer property.
  • Page 473: Download File From Internet

    Custom Action Reference Tips If this custom action is within a condition, the message is displayed only when the specified condition is met. Example: You could display a message if end users marked a check box on a dialog box. You would associate the check box with a property and then set up a condition to check if the property was true.
  • Page 474: End Statement

    Custom Action Reference Usage Double-click the custom action and complete the dialog box: Source URL Enter the URL of the file to download, including the name of the file. Example: http://www.site.com/readme.pdf. Destination Directory Specify the file path, including file name, on the destination computer where the file should be downloaded.
  • Page 475: Execute Program From Installation

    Custom Action Reference Working Directory Using a non-bracketed Windows Installer directory property (Example: INSTALLDIR), specify the working directory of the .EXE file to call. When the .EXE file is run on the destination computer, its current working directory is set to the directory you specify here.
  • Page 476: Execute Program From Installed Files

    Custom Action Reference Execute Program From Installed Files This custom action calls an .EXE file that is installed by this installation. Tips Before you add this custom action, add the file to be called to the Files page in Installation Expert. Shaded areas of MSI Script indicate restricted placement for this custom action;...
  • Page 477: If Statement

    Custom Action Reference Command Line (Optional) Enter command-line options to pass to the .EXE file. See also: Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Action Location Tab on page 488 Custom Action Type 50 in the Windows Installer SDK Help If Statement...
  • Page 478: Install Msi From Installation

    Custom Action Reference Usage Double-click the custom action and complete the Details tab: Custom Action Name Enter a unique name that begins with a letter or underscore. It can contain numbers and periods. It must not match the name of any Windows Installer standard action. See Standard Actions Reference in the Windows Installer SDK Help.
  • Page 479: Install Msi From Relative Path

    Custom Action Reference Usage Double-click the custom action and complete the Details tab: Custom Action Name Enter a unique name that begins with a letter or underscore. It can contain numbers and periods. It must not match the name of any Windows Installer standard action. See Standard Actions Reference in the Windows Installer SDK Help.
  • Page 480: Launch Web Page

    This custom action displays a Web page during installation using the end user’s default browser. In Web Page URL on the Launch Web Page dialog box, designate the URL to open during installation. The URL must be complete. Example: http://www.symantec.com. See also: Download File From Internet...
  • Page 481: Open Document From Installed Files

    Custom Action Reference Guidelines for Custom Action Location on page 454 Open Document From Installed Files This custom action opens a document installed by the installation. On the Open Document From Installed Files dialog box, specify the name of the file to open from this installation.
  • Page 482: Remark

    Custom Action Reference it in the Execute Deferred sequence, you must hard-code the destination and source paths. Guidelines for Custom Action Location on page 454 and Formatted in the Windows Installer SDK Help. Because of Windows Installer limitations, to display progress bar text to the user, you must place the action in the Execute Deferred sequence.
  • Page 483: Run Wisescript From Destination

    Custom Action Reference Run WiseScript From Destination This custom action runs a WiseScript .EXE that already resides on the destination computer. If you use both WiseScript and Windows Installer technology, you can integrate them with this custom action. Use this to leverage past WiseScripts or to gain access to unique WiseScript technology.
  • Page 484 Custom Action Reference If you use both WiseScript and Windows Installer technology, you can integrate them with this custom action. Use this to leverage past WiseScripts or to gain access to unique WiseScript technology. Tips In the WiseScript, use special script actions—Get Windows Installer Property, Set Windows Installer Property, and Evaluate Windows Installer Condition—to communicate between the Windows Installer installation and the WiseScript.
  • Page 485: Run Wisescript From Installed Files

    Custom Action Reference Run WiseScript From Installed Files This custom action runs a WiseScript .EXE that is installed by this installation. If you use both WiseScript and Windows Installer technology, you can integrate them with this custom action. Use this to leverage past WiseScripts or to gain access to unique WiseScript technology.
  • Page 486: Set Directory

    Custom Action Reference Examples of WiseScripts You Run From an .MSI on page 448 Calling WiseScripts with Custom Actions on page 447 Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Action Location Tab on page 488 Troubleshooting: When WiseScript Custom Actions Fail on Windows Vista or later page 452...
  • Page 487: Set Property

    Custom Action Reference Tips This custom action has restrictions on its placement, indicated by shaded areas in the Installation Sequence. If you set a feature to run from source and the files are compressed, Windows Installer sets the feature to run from the local drive. For information on how Windows Installer sets feature states when features share components, see MsiSetFeatureState in the Windows Installer SDK Help.
  • Page 488: Terminate Installation

    Custom Action Reference Terminate Installation This custom action terminates the installation and displays a message explaining the termination. Typically, you would place this custom action within a conditional block, which begins with an If Statement. If Statement on page 477. Tips This custom action has restrictions on its placement, indicated by shaded areas in the Installation Sequence.
  • Page 489: Using The Custom Action Location Tab For Merge Modules

    Custom Action Reference Sequence Select a sequence to which to add this custom action. The options here correspond to the sequences available with each of the three installation modes. Location list box This displays all the custom actions that are part of this installation. Click on an action in the list box and click one of the following buttons: Click Add to add the custom action to the sequence below the action you selected.
  • Page 490: Using The Custom Action Properties Tab

    Custom Action Reference Sequence Select a sequence to which to add this custom action. The options here correspond to the sequences available with each of the three installation modes of a standard installation (.WSI or .MSI file). Reference Action This drop-down list contains all the standard Windows Installer actions from the sequence that you selected in the Sequence drop-down list.
  • Page 491 Custom Action Reference Note The In-Script Options drop-down list is unavailable if this custom action is located in the User Interface or Execute Immediate sequences because both these sequences already run in immediate execution mode, making this drop-down list redundant. It is unavailable for Set Property and Set Directory because they must be run in immediate execution mode in order to work.
  • Page 492 Custom Action Reference Note User context and system context are relevant only on locked-down computers. Actions run in system context are run with elevated privileges by the Windows Installer service. Actions run in user context are run with the current user’s privileges.
  • Page 493: Using The Custom Action Description Tab

    Custom Action Reference Run once per process Select this option to prevent the custom action from running twice if the custom action modifies property or database data. Use for custom actions in either Execute sequence that should not run if the installation is running in silent mode. Run only if UI sequence was run Select this option if the custom action should run only if either Execute sequence is run following User Interface sequence.
  • Page 494: Chapter 22: Windows Installer And .Net Technologies

    Chapter 22 Windows Installer and .NET Technologies This chapter includes the following topics: About Microsoft Windows Installer on page 494 About Microsoft .NET Technology on page 497 About Microsoft Windows Installer Wise products integrate closely with Microsoft Windows technologies. The installations you create are in Microsoft Windows Installer format and are run on the destination computer by the Windows Installer engine.
  • Page 495: Frequently Asked Questions About Microsoft Windows Installer

    Windows Installer and .NET Technologies Frequently Asked Questions About Microsoft Windows Installer How is Windows Installer different from Windows Installer Editor? Microsoft Windows Installer is a Microsoft technology for writing, managing, and installing applications. The Microsoft Windows Installer service, which resides permanently on the destination computer as part of the operating system, includes a Windows Installer executable named msiexec.exe.
  • Page 496: Working With Components And Features

    Windows Installer and .NET Technologies How does Windows Installer Editor support advertisement? In Windows Installer Editor, you can set default advertisement on a per-feature basis on the Feature Details dialog box. If you advertise features, however, you must include Windows Installer function calls within the application to perform a feature-level installation of the necessary files when an advertised entry point is invoked.
  • Page 497: About Guids

    Windows Installer and .NET Technologies For information on how Windows Installer handles components and features, see the following topics in the Windows Installer SDK Help: Windows Installer Components Component Management Components and Features Organizing Applications into Components See also: About Microsoft Windows Installer on page 494 About GUIDs GUID stands for globally unique identifier.
  • Page 498: Frequently Asked Questions About Microsoft .Net

    Windows Installer and .NET Technologies Windows Installer Editor simplifies the process of creating installations for .NET applications, automating the process by extracting most of the installation details from your assemblies. Windows Installer 2.0 or later only The ability to create .NET installations is supported only by Windows Installer 2.0 or later.
  • Page 499 Windows Installer and .NET Technologies called as though they were COM components. At run time, the common language runtime marshals data between COM objects and managed objects as needed. Search for “Interoperating with Unmanaged Code” in the MSDN Library (msdn.microsoft.com/library/). What is an assembly? An assembly is the primary building block of a .NET application.
  • Page 500 Windows Installer and .NET Technologies private directory for the exclusive use of the application. A version of the assembly is also globally registered on the system and made available for any application that binds to it. The global version of the assembly can be the version installed with the application or an earlier version.
  • Page 501: Requirements For Creating A .Net Installation

    Windows Installer and .NET Technologies Requirements for Creating a .NET Installation The ability to create .NET installations is supported only by Windows Installer 2.0 or later. When you create a .NET installation, you should have the .NET Framework installed on your computer. If the .NET Framework is installed on your organization’s development computers, but not on the computer used to build installations, it is possible to create a .NET installation.
  • Page 502: Appendix A Wise Custom Actions

    Appendix A Wise Custom Actions Windows Installer Editor uses custom actions to add functionality that is not available with the Windows Installer standard actions. When you use certain features, such as custom actions that call a .DLL, Wise custom actions are added to the installation. Warning Removing Wise custom actions might cause problems with the installation.
  • Page 503 Wise Custom Actions Custom action Description DiagnosticAppSearch Enumerates the entries in the AppSearch table and evaluates the expressions using the MSIEvaluate Property function. It then retrieves the value of the property and reports the results. DiagnosticCheckDiskSpace Evaluates the disk costing and identifies computers that don’t meet the requirements.
  • Page 504 Wise Custom Actions Custom action Description DiagnosticFileAssociationConflict Processes the Extension table and checks the registry for support for each extension. This test opens the registry key for the extension. If the key exists, then the extension is already registered. The existing value of the key is compared with the ProgId to be registered;...
  • Page 505 Wise Custom Actions Custom action Description NalpRemoveLicense If you add Nalpeiron support to an installation, these deactivate the Nalpeiron license when your application is uninstalled from the destination NalpRemoveLicenseSetProp computer. PopulateVirDirs Populates the list of existing virtual directories for a given site when installing to an existing virtual directory.
  • Page 506 Wise Custom Actions Custom action Description WiseGetIEVersion Sets Windows Installer properties containing the version of Internet Explorer installed on the destination computer. These can be used for launch conditions to ensure that the computer has a required version of Internet Explorer installed.
  • Page 507 Wise Custom Actions Custom action Description WiseTestSqlConn Reads the property WiseSqlParam to get the names of properties to use for the SQL connection test. It then reads those properties to get the user name, password, and so on, and tries to connect to the SQL server. If it is successful, it sets the value of the last property in WiseSqlParam to the full connection string.
  • Page 508: Appendix B Wise Tables

    Appendix B Wise Tables Wise tables contain information that is related to items you added in Windows Installer Editor. Most of these tables do not appear in the compiled .MSI, unless noted otherwise or unless you use an .MSI file as the project file. Some of the tables listed below are available in certain Wise products only.
  • Page 509 Wise Tables Wise table Remains in Description .MSI? WiseFirewallSetup Stores options that are configured on the Firewall Exceptions page WiseInstanceTransforms Contains information about instance transforms that are defined in Installation Expert > Instance Transforms page. WiseLangString Contains all strings for all languages currently defined in the installation.
  • Page 510 Wise Tables Wise table Remains in Description .MSI? WisePocketPCRegistry Contains information about each Pocket PC registry key and all of its attributes WisePocketPCShortcut Contains information about each Pocket PC shortcut and all of its attributes WisePrerequisites Contains information on prerequisites that are added to the installation on the Prerequisites page WiseRelease Contains a list of all releases in the installation...
  • Page 511 Wise Tables Wise table Remains in Description .MSI? WiseVSDropFile (Visual Studio integrated editor only) Appears in an installation that is part of a Visual Studio solution Contains a list of files that result from projects that have been excluded from the current build configuration and therefore should not be included in the compiled .MSI WiseVSOutput (Visual Studio integrated editor only) Contains a list of...
  • Page 512: Appendix C Property Reference

    Appendix C Property Reference Properties are variables that are used by Windows Installer during installation. This section lists Windows Installer properties. This chapter includes the following topics: Build Properties on page 512 INI File Properties on page 516 Run Time Properties on page 519 See also: Properties...
  • Page 513 Property Reference Property name Description _WiseDialogTitleFontDefault Contains the text style used for the titles on wizard pages. This is not for the text in the title bar itself, but for the text inside the wizard that introduces the page content. The font choices for this property are listed in the TextStyle table located on the Tables tab.
  • Page 514 Property Reference Property name Description MaintenanceMode Sets the initial value of the radio button on the Maintenance Welcome dialog. The default value, “Modify”, causes the Modify radio button to be marked by default. The Next button on the Maintenance Welcome dialog has events attached to it, which cause different pages to appear based on the radio button that is marked.
  • Page 515 Property Reference Property name Description WiseInitAdminError Contains the text of the error message that appears if the Windows Installer runtime needs to be installed but the current user does not have administrator privileges, which are necessary to install it. If an installation creates an .EXE that launches an .MSI, this property sets the default value for the AdminError property in the .INI file that’s generated.
  • Page 516: Ini File Properties

    Property Reference Property name Description WiseInitProgressText Enter the text that should display while the hourglass is being displayed during installation. WiseInitSpaceError Contains the error text that is displayed if the destination computer does not have enough free disk space to copy the .MSI database to its local disk drive. If an installation creates an .EXE that launches an .MSI, this property sets the default value for the SpaceError property in the .INI file that’s generated.
  • Page 517 Property Reference Property name Description AdminError Contains the text of the error message that appears if the Windows Installer runtime needs to be installed but the current user does not have administrator privileges, which are necessary to install it. Defaults to the value of the build property named WiseInitAdminError.
  • Page 518 Property Reference Property name Description ProductCode ProductCode is a GUID (global unique identifier) generated by Windows Installer, that uniquely identifies this product. No product codes are alike. You can generate a new product code on the Product Details page. Do not enter new product codes, because they must be created according to a specific algorithm.
  • Page 519: Run Time Properties

    Property Reference Property name Description WiseInitSuffix Text that displays after the “Wise Installation” text in the installations’s initialization window. The initialization window is the small window that appears before the installation wizard dialog boxes appear. This defaults to the value in the build property WiseInitSuffix. Build Properties on page 512.
  • Page 520 Property Reference Property name Description <VIRTDIR >_HOMEDIR Contains the physical home directory of the virtual directory. <VIRTDIR>_BEGINURL Contains the beginning portion of the URL of the virtual directory. <VIRTDIR>_URL Contains the URL of the virtual directory. <WEBSITE>_BEGINURL Contains the beginning portion of the URL of the web site. Example: To create a shortcut to a specific page in the Web site, use: [<WEBSITE>_BEGINURL]file_name.html <WEBSITE>_HOMEDIR...
  • Page 521: Index

    Index Symbols in installation sequence 444 attributes 128, 243 standard 445 defined 499 .NET stored in Binary table 386 dependency exclusions 117 about 498 types 445 private 116, 499 ASP user properties 519 using conditions 388 scanning 116 assembly options 35 Windows Installer 445 scanning options 36 file attributes 127...
  • Page 522 storing WiseScript 483 Cancel button, hiding in commit only 491 installation 233 bitfield, for substitution 334 Common Files folder 495 CAPICOM 240 bitmap common language runtime 498 adding to dialog box 418 CER file 240 Also see .NET Framework dialog box control 411 CharFont 517 comparison setting on dialog box 416...
  • Page 523 Microsoft Best Practices 56 defining 332 custom installation 98, 181 modifying 54 key into a table 335 custom installation template One File Per Component 57 text drop-down 333 See template predefined 56, 57 ConfigureWebUI 502 Custom Property dialog box 429 selecting 51 conflict detection 135 custom tab, in MSI Script 446...
  • Page 524 adding without .NET changing for language 283 Dialogs page 402 Framework 243 condition, adding 388, 417 Dialogs tab 406 defined 326 controlling display of 416 DIFx 72 exclusions, about 117 creating 410 DIFxAPP exclusions, removing 355 displaying image 422 merge module 72 files not found 353 editing 406 options 132...
  • Page 525 adding to Add/Remove editing the WiseScript 202 showing, hiding items 367 Programs 133 isolating with .DLL 379 tree structure 367 installing 72 outputting installation as 193 file with .MSI 61 Driver Install Frameworks 72 .NET settings 127 EXE wrapper 179 adding from repository 113, 131 driver package adding to installation 110...
  • Page 526 file association referencing 102 J# project 353 actions 156 stored in Binary table 386 Visual Basic project 353 adding 154 updating 102 INF file, mobile device command verb 156 group box control 412 about 220 extension settings 155 group, open from repository 74 INI file importing 155 build settings 516...
  • Page 527 transform, changing with 341 Item Field, in .INI 172 layer translating 266, 269 See virtual layer turning off dialog boxes 403, 407 Layout menu 406 uninstall, avoiding 304 License dialog box, importing text 405 uninstalling nested 456 importing 353 line control 412 watching 350 project types 352 line, inserting blank 482...
  • Page 528 manual, reference 32 entering 83 installing into an SVS layer 194, rearranging 83 manufacturer ways to create 62 property 514 metadata working with 61 setting name 84 See meta data MSI installed into an SVS layer masked edit control 412 Microsoft .NET about 195 See .NET...
  • Page 529 New Installation File 70 about 21 user defined 316 creating 22 New Language wizard 273 Path Variables page 315 customizing 22 normal installation mode 442 path, application 137 displaying 22 no-touch deployment 261 Pause Installation 481 predefined 21 NT download URL 208 PCP file selecting 20 Also see patch...
  • Page 530 Product Details page 83 Properties icon 365 WOW6432Node 65 Product tab 365 Property table 439 Registry page 139 ProductCode 514, 518 public property registry path variable 317 changing with command line 236 ProductFile 518 registry resources, shared 147 setting in debugger 438 ProductID 514 reinstall Public/private key pair 240...
  • Page 531 about 135 runtimes 201 service automatically 135 adding 157 RuntimeVersion 518 fixing component 137 configuring 158 individually 136 deleting from destination moving file 137, 138 computer 159 save as XML 77 using latest file 137, 138 starting 159 save error 25 with Resolve Wizard 136 stopping 159 Save event macro 434...
  • Page 532 checking files in 311 about 71 on dialog boxes 422 checking files out 312 creating 71 table checkout, undoing 313 Start menu, add shortcut 150 added by Wise 508 comparing to latest 314 adding row 383 start Windows Installer Editor 17 connect to existing 309 creating 382 status MIF file 241...
  • Page 533 page view, associating 21, 49 applying, example 345 adding to installation 306 page view, customizing 22, 49 based on existing .MSI 342 aligning component GUIDs 52 server application 425 creating for language 269 archiving previous 303 creating from installation 341 avoiding uninstall 304 Template Summary property example 341...
  • Page 534 incrementing on compile 86 Web folder database 60 of product 84 creating 251 database files 61 upgrading 304 details 255 delaying restart 199 when to update 87 developer documentation 32 Web installation Windows Installer 89 help 32 choosing dialog boxes 252, 253 how it works 494 Version9X property 100 creating virtual directory 249...
  • Page 535 Wise textreplacementmodify 505 WiseModuleConfiguration table 509 about 290 client 290, 298 WISE_SQL_CONN_STR 427, 520 WiseModuleSignature table 509 configuring 293 WiseAdvertising table 508 WiseNextDlg 506 dialogs, customizing 296 WiseAltStartup 505 WisePageLists table 509 INI file 295 WiseCleanup 505 WisePathReplacement table 509 log 295 WiseComCapture.exe 134 WisePathVariable table 509...
  • Page 536 integrating with source control 309 XML, edit attributes 131 Windows Installer Editor Reference...

Table of Contents