background image

Windows Installer Editor Reference

264

Advanced Installations

 

3. 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. Items that you add to a condition are installed only if the feature 
is installed and the condition is true.

4. Click Add at the right of the MTS/COM+ page.

The MTS/COM+ Application Details dialog box appears.

5. Complete the dialog box:

„

Application Name
Specify the MTS/COM+ application. You can only select from currently installed 
applications.

„

GUID
(Read-only.) This contains the GUID of the MTS/COM+ application that you 
select.

„

Installation Type
Select the installation type:



Client
Installs the client portion of the MTS/COM+ application. This installation type 
requires a remote server name. In Remote Server Name, enter the name 
of the computer on the network that will contain the MTS/COM+ server 
application the client will connect to. If you design the installation so that the 
server name is placed into a property dynamically during the installation 
wizard dialog boxes, you can enter that property name here, surrounded by 
brackets.



Server
Installs the server portion of the MTS/COM+ application.

„

Refresh/Update Application on Compile
Mark this to refresh the MTS/COM+ application from your computer's 
Component Services control panel each time you compile the installation. If you 
clear this check box, the MTS/COM+ application information is copied 
immediately to this installation and is not refreshed during compile. Example: 
You might use this option if you need to transfer the installation to a computer 
that does not have the same MTS/COM+ application installed. If it is set to 
refresh and the MTS/COM+ application is not found, an error occurs during 
compile.

„

Use Existing Source Paths
Use this option to prevent the MTS/COM+ files from being added to the default 
location on the Files page. This lets you place the files on the Files page in the 
directory you choose. You must add the files that make up the MTS/COM+ 
application to the Files page before marking this check box. Otherwise, you will 
get an error during compile.

6. Click OK.

The information you entered above is stored in the WiseComPlusApp and 
WiseComPlusComponent tables in the Windows Installer database.

See also:

Summary of Contents for WINDOWS INSTALLER EDITOR 8.0

Page 1: ...Windows Installer Editor Reference ...

Page 2: ...WARRANTIES INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE OR NON INFRINGEMENT ARE DISCLAIMED EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID SYMANTEC CORPORATION SHALL NOT BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING PERFORMANCE OR USE OF THIS DOCUMENTATION THE INFORMATION CONTAINED IN THIS DOCUMEN...

Page 3: ...t delivers automatic software upgrade protection z Advanced features including Account Management Services For information about Symantec s Maintenance Programs you can visit our Web site at the following URL www symantec com techsupp Contacting Technical Support Customers with a current maintenance agreement may access Technical Support information at the following URL www symantec com techsupp B...

Page 4: ...s that are related to CD ROMs or manuals Maintenance agreement resources If you want to contact Symantec regarding an existing maintenance agreement please contact the maintenance agreement administration team for your region as follows Additional enterprise services Symantec offers a comprehensive set of services that allow you to maximize your investment in Symantec products and to develop your ...

Page 5: ...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 Educational Services Educational Services provide a full array of technical train...

Page 6: ...tables From Other Vendors Web Sites 31 Product Documentation 32 Chapter 2 Setting Up 33 How you can set up Windows Installer Editor 33 Setting Options 33 Setting General Options 34 Setting NET Assembly Options 35 Setting Advertising Options 37 Setting Digital Signature Options 38 About ExpressBuild 39 Setting ExpressBuild Options 40 How ExpressBuild Groups Work 41 Requirements for Using ExpressBui...

Page 7: ... Manager Database 77 Compiling An Installation 78 Testing and Running An Installation 80 Testing An Installation 80 Running An Installation 81 Chapter 4 Defining an Installation Project 83 Project Summary Page 83 Product Details Page 83 Adding Meta Data to the Software Manager Database 86 Incrementing the Product Version 87 Setting the Default Installation Directory 88 General Information Page 89 ...

Page 8: ... Editor 135 Resolving Conflicts Individually in Windows Installer Editor 136 Registry Page 139 Adding Registry Keys 141 Removing Registry Entries From the Destination Computer 142 Importing and Exporting Registry Entries 144 Configuring General Registry Settings 145 Setting Permissions for Registry Keys 147 Viewing Shared Registry Resources 147 Special Registry Keys 148 INI Files Page 148 Creating...

Page 9: ...er 195 About the Exclusion of Files on the Build Options Page 196 About Maintenance of an MSI Installed into an SVS Layer 197 Adding Prerequisites to a Release 198 Adding a Windows Installer or NET Framework Runtime 198 Adding a Prerequisite File 200 Adding a Runtime Prerequisite 201 Editing the WiseScript That Creates the Installation EXE 202 Creating Web Based Installations With WebDeploy 204 Th...

Page 10: ...ings From a File 256 Configuring a Microsoft SQL Server During Installation 257 Tips for Using the SQL Server Scripts Page 258 Setting SQL Connection Strings 259 Specifying SQL Statements 259 Specifying Replacements in SQL Statements 261 Importing NET Framework Security Settings 261 MTS COM Page 263 Adding an MTS or COM Application 263 Chapter 9 Translating an Installation 266 About the Languages ...

Page 11: ...oduct Version 304 Check the Installation With UpgradeSync 304 UpgradeSync 305 Patch Creation 305 Upgrades 305 Creating an Upgrade 306 Chapter 12 Working With Source Paths 308 About source paths 308 Using Source Control 308 Adding an Installation to Source Control 309 Adding Files to an Installation in Source Control 310 Checking Files Into Source Control 311 Checking Files Out from Source Control ...

Page 12: ... Setting Transform Details 343 Creating a Universal Transform 344 Applying a Transform to an Installation 345 Multiple Instance Installations 346 Installing Multiple Instances 348 Chapter 14 Tools 349 About Windows Installer Editor tools 349 ApplicationWatch 350 Convert SMS Installer or WiseScript Installation 350 Converting an SMS Installer or WiseScript Installation 351 Import Visual Studio Proj...

Page 13: ...talled 394 Checking If and How a Feature or Component Will Be Installed by This Installation 394 Properties 395 How Do You Use Properties 396 Creating a New Property 397 Chapter 17 Working With Dialogs 399 About Dialogs 399 About the Wizard Dialogs 400 Using the Dialogs Page 402 Changing the Theme of Dialogs 403 Adding and Editing Dialog Themes 404 Importing Text into License and Readme Dialogs 40...

Page 14: ... Columns 439 Searching For Text in Tables 439 Chapter 20 Using MSI Script 440 About MSI Script 440 The MSI Script Window 441 About Installation Modes 441 Adding a Custom Action Outside a Sequence 443 Adding a Custom Action to Multiple Sequences 443 About Installation Sequences 444 Finding Text in MSI Script 444 Editing Sequences 445 Types of Actions in MSI Script Sequences 445 About the Standard a...

Page 15: ...ed Files 476 Execute Program From Path 476 If Statement 477 Install MSI From Destination 477 Install MSI From Installation 478 Install MSI From Relative Path 479 Launch Web Page 480 Open Document From Installed Files 481 Pause Installation 481 Post Data to HTTP Server 481 Remark 482 Run WiseScript From Destination 483 Run WiseScript From Installation 483 Run WiseScript From Installed Files 485 Set...

Page 16: ...ws Installer Editor Reference 16 Appendix A Wise Custom Actions 502 Appendix B Wise Tables 508 Appendix C Property Reference 512 Build Properties 512 INI File Properties 516 Run Time Properties 519 Index 521 ...

Page 17: ...y front end for generating Windows Installer database files which are executed by the Windows Installer engine With Windows Installer Editor you can z Create installations that are compliant with the Microsoft Windows 2000 XP and Vista logo program z Edit and refine installations that you have converted from other formats z Import development projects Microsoft Windows Installer is a Microsoft tec...

Page 18: ...ction specify the type of file to create d In Target Platform specify whether this installation is enabled for 32 bit 64 bit x64 or 64 bit Itanium platforms This sets the initial target platform for the Default release e If the application has been written to be installed and run by standard users without elevation mark Create a Vista Standard User Installation This clears the Enable User Account ...

Page 19: ...r 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 Just double click the custom action to add to your sequence or start typing the action name then fill out options for the action A new line based on the action and the option...

Page 20: ...page s options Each page lets you define a specific aspect of the installation Examples On the Files page you define what files are included in the installation On the Registry page you define what registry keys and values are created on the destination computer Complete only the pages that are pertinent to your particular installation in any order If required information is missing an error messa...

Page 21: ...t also includes New View and Customize Page Views which are at the end of the list and are used to create or customize page views Predefined Templates and Page Views Most predefined installation templates have an associated page view When you create a new installation by using one of these templates the page view that is associated with that template becomes the default page view of the installati...

Page 22: ...ns on page 42 z The All page view is used when you open an installation file that does not have an associated page view An MSI does not have an associated page view See also Using Installation Expert on page 19 Customizing Page Views You can create customized Installation Expert page views that display only the page groups and pages that you use most often You can customize the page view of custom...

Page 23: ...ustomize a page view 1 From the Page Views drop down list in Installation Expert select Customize Page Views The Customize Page Views dialog box appears 2 Select the page view from Page View Name and do any of the following To add a new page group click the Page Groups Add button and enter a name To rename a page group select the page group and click Rename To add a page to a page group select the...

Page 24: ... at once Example On the Files page this option displays all folders and files for all features Add and New buttons are unavailable while all features are displayed you must select a single feature to add items On some pages Current Feature also contains numbers in parentheses which represents the number of that page s items files or registry keys that are assigned to each feature or condition See ...

Page 25: ... the Task List z Save or Compile If errors occur when you save or compile an installation the errors are displayed in the Task List z Package Validation When you run Package Validation validation issues appear on the View Correct dialog box If you mark the Add to Task List check box on the View Correct dialog box each issue becomes a task in the Task List when you click Finish If Package Validatio...

Page 26: ... issues that are generated during Package Validation Component Tasks that correspond to component errors that are generated when you check tables See Using the Task List on page 25 Table Tasks that correspond to table validation errors that are generated when you check tables See Using the Task List on page 25 User Defined Tasks that you have created When you set a filter it is in effect until you...

Page 27: ...To find table errors from the Task List If the task has a table listed in the Table column double click the task The table is displayed in Setup Editor Tables tab and the row in the table associated with the task is highlighted If you need more information check the task s description or press F1 to display the help topic for the selected table in the Windows Installer SDK Help See also Tables Tab...

Page 28: ...appears 2 In Data Source specify the Software Manager database that contains the resources you want to review If the Software Manager database you want is not listed click Open to select it 3 From Group select the group that contains the packages to compare this installation to 4 Click Next The report is generated and displayed in the Shared Files Report or Shared Registry Report dialog box You ca...

Page 29: ...tory 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 Merge Modules The default merge modules directory is Program Files Common Files Merge Modules Wise Solutions This is the default target locatio...

Page 30: ...all or proxy server to get to the Internet the Download Redistributables wizard uses your browser s proxy settings To change your Internet connection settings refer to your browser s documentation Downloading Redistributables From the Wise Web Site You must be in an active Wise installation to follow this procedure To download redistributables from the Wise Web Site 1 Select Help menu Download Red...

Page 31: ... 30 Downloading Redistributables From Other Vendors Web Sites You must be in an active Wise installation to follow this procedure We have no control over other vendor s redistributable files Check with the vendor for product support To download redistributables from other vendors Web sites 1 Select Help menu Download Redistributables The Source Location dialog box appears 2 Mark Other Vendors Web ...

Page 32: ...nce manual which you can access by selecting Help menu Reference Manual Getting Started Guide The Getting Started Guide contains system requirements installation instructions and a tutorial You can access a PDF version of the Getting Started Guide from the Windows Start menu Windows Installer SDK Help You can get technical details about Windows Installer from its own help system which is written b...

Page 33: ...e predefined rule sets or create new rule sets If the predefined rule sets do not meed your needs you can duplicate them and modify the copies as needed or you can create new rule sets See Component Rules on page 49 Setting Options You can set options that control the installations you create and determine the installation resources you use Some of the options are global they are set for all files...

Page 34: ... to the current MSI and all MSIs that you open subsequently Remarks are added to WSIs only if no remarks already exist z Create XML copy during save Mark this to update a copy of the installation in XML format every time you save If a copy does not exist it is created The copy has the same name as the installation file with the extension XML appended and it is saved in the same directory Example I...

Page 35: ... uncompressed or changed files Quick Compile writes the MSI table information If a file or media has changed a full compile will occur instead Quick Compile is for project files only You can also speed compile time by using ExpressBuild a multi processor compile feature See About ExpressBuild on page 39 Software Virtualization Options z Install into virtual layer from Run button Mark this to insta...

Page 36: ...y keys for NET assemblies each time you compile This check box is available only if the NET Framework is installed on your computer Assembly Scanning Options The scanning options are available only if the NET Framework is installed on your computer z Scan Dependencies Specify how dependency assemblies are added to an installation You can add them manually or have Windows Installer Editor scan the ...

Page 37: ...tion for the files that you add to the installation The different scan options let you determine whether the advertising information is added to the advertising tables AppId Class Extension Mime ProgId TypeLib Verb to the registry or both The scan options also cause AppPath registry information to be added to the installation automatically although it is not related to advertising Only AppPath inf...

Page 38: ...k box Windows Installer registers your OCX and DLL files The DLL or OCX may require certain files to be installed already in order to self register properly Scanning the advertising information into the advertising tables is recommended over self registration z Default to rescan advertising for new components If the advertising information contained in your files might change during the developmen...

Page 39: ... must be specified in the installation with UNC paths Example SERVER File exe In addition when you open the installation file you must open it in such a way that it is referenced by a UNC path Example After you select File Open browse to the installation underneath the My Network Places icon or type the entire UNC path in the File Name field These requirements do not apply to using multiple proces...

Page 40: ...his computer can be physical or virtual processors You must also enter the number of local processors in the field below There are several requirements for using this option Number of Local Processors Enter the number of physical or virtual processors available on the current computer z Build Using Multiple Distributed Computers Mark this to have more than one computer help process compiles You mu...

Page 41: ...e ExpressBuild tab and mark the Allow My Computer to Build for Others check box Then enter the group name of the build group your computer will build for Do this on each computer that will share processing as part of a single build group When you click OK on the Options dialog box the WiseExpressBuild exe immediately begins running on your computer with its icon showing in the system tray area of ...

Page 42: ...f you browse under the My Computer icon the path will not be referenced in UNC notation See also About ExpressBuild on page 39 Setting ExpressBuild Options on page 40 How ExpressBuild Groups Work on page 41 Setting Installation Expert Options You can set options that control the behavior of Installation Expert To set options To set options for Installation Expert select Tools menu Options and clic...

Page 43: ...less of its associated page view z Use advanced drawing routines restart required If a black box appears at the bottom of the Installation Expert page group list cutting off the last several pages in the list mark this check box and restart your computer to eliminate the problem z Display Project Summary Page when a project is opened Mark this to have the Project Summary page appear when an instal...

Page 44: ... the Directory list the merge modules in that directory will appear on the Select Merge Module dialog box To add a directory to the list click Add browse for the directory and click OK To include subdirectories in the search mark the check box in the Include Subdirs column The next time you click the Add button on the Merge Modules page modules in that directory appear on the Select Merge Module d...

Page 45: ...e stored in the Workbench database you must have a different license assignment in the Workbench database that you change to 1 Select Tools menu Options 2 On the Wise Options dialog box click the Repository tab 3 Click Browse 4 On the Browse for Folder dialog box browse to an existing share point directory and click OK The Wise Software Repository that is associated with that share point becomes y...

Page 46: ... uses to add a new dialog box to an installation Languages Specify the location of language resource files Resources Specify the location of the bitmaps and icons that are used in installations Templates Specify the location of installation templates and WfWI macros Themes Specify the location of the themes that are used to customize installation dialog boxes Validation Modules Specify the locatio...

Page 47: ... new files to source control If this is marked then each time you create a new installation file and save it you will be prompted to add it to your source code control system Enabling the source control options above does not implement source control in the installation It merely enables you to add and remove files from the source code control system and to check them in and out Use the options on...

Page 48: ...he same system configuration requirements and document file extensions you can create a template with these changes preconfigured Warning Editing predefined templates is not recommended because they might be overwritten during upgrades Instead save customized templates with different names or make copies of the predefined templates and edit the copies Template Location Templates are in z Standard ...

Page 49: ...Verify that the changes you made in the template are present in this new installation Component Rules You can select or create rules that help you manage the creation of components in an installation Using component rules eliminates the need to specify component information for every individual resource you add to an installation and ensures that components are created consistently across all inst...

Page 50: ... resource must meet in order for an action to be performed Example If you select the condition Added resource is a Shortcut the action is only performed for shortcut resources z An action determines how a resource will be assigned to a component Rule sets are stored in an INI file located in the share point directory You can change the location See Setting Repository Preferences in the Wise Packag...

Page 51: ...s are met Set component key to a named Base Select this to name new components with specified text plus an incremental number Selecting this option enables the Base field Enter text to serve as a base for the component name example Component Component names will be incremented from this base example Component1 Component2 and so on Set component key to key of keypath or first resource Select this t...

Page 52: ...pgrade installation will be checked against the previous installations To ensure that all resources you add to an upgrade installation are aligned with previous versions specify the previous installation versions before adding any resources to the installation If you have already added resources to the installation as is the case when you use a copy of a previous WSI as a starting point for creati...

Page 53: ...ule sets used by other members of the team To add a new component rule set 1 Select Component Rules menu Customize The Component Rules Manager dialog box appears listing the predefined rule sets and custom rule sets you have created 2 Click New The Enter Rule Set Name dialog box appears 3 Enter a unique Rule Set Name to identify this rule set and click OK The new rule set name appears and is selec...

Page 54: ...the new name on the Enter Rule Set Name dialog box and click OK To delete the rule set click the Delete button to the right of the rule set name 3 Click OK on the Customize Component Rules dialog box See also Component Rules on page 49 Adding and Editing Component Rules You can add component rules to a rule set edit existing component rules and delete component rules The predefined rule sets Micro...

Page 55: ...le Details dialog box There you can select a value for the underlined text Example If you selected the condition Added resource is a file with name any you would click the word any and enter a specific file name Wildcards are allowed 4 When you have added all conditions that comprise the rule click Next on the Conditions page The Actions page appears 5 In the Which action s do you want to perform ...

Page 56: ... z Group matching CHM and CHI files together If resource file names are the same and their extensions are CHM or CHI add them to the same component The CHM will be the keypath file z Put registry keys associated with files or components in matching components If the added resource is a registry key and the registry value name or value refers to a file or component add the resource to an existing c...

Page 57: ...MSI and set the component key to match the previous version z Add all files to their own components If the added resource is a file create a new component z Put registry keys associated with files or components in matching components If the added resource is a registry key and the registry value name or value refers to a file or component add the resource to an existing component that contains the...

Page 58: ...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 If multiple components are named for the same table an incremental number is added to the component name Example File1 File2 and so on ...

Page 59: ...This includes program files files necessary for optional features related DLLs drivers and other support files z Any third party installations that the installation will provide Example Adobe Acrobat Reader z Which files and other system changes comprise which features In Windows Installer a feature is a distinct part of your application s functionality Examples a spell checker a thesaurus or a co...

Page 60: ... as an MSI You edit a WSI in Windows Installer Editor and compile it to the corresponding MSI The WSI file is smaller than an MSI and you can set multiple options for the output of the MSI MSM Windows Installer merge module which is a pre compiled library of components files registry changes and other system changes that installs a discrete part of your application It cannot be run alone but must ...

Page 61: ...le 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 See Setting Build Options for a Release on page 193 and Adding Prerequisites to a Release on page 198 If you work in a WSI or WSM Wise project If you w...

Page 62: ...tallation on a 32 bit computer See How to Specify the Target Platform on page 63 What s Different in a 64 bit Installation on page 63 32 bit Applications on 64 bit Computers on page 65 Guidelines for Creating Platform Specific Installations on page 66 Creating Multiple Platform Specific Installations from One Project File on page 67 Using 64 Bit Windows Installer Packages in the Windows Installer ...

Page 63: ...er SDK Help Additional Target Platform Settings z Feature Details dialog box To display this dialog box double click a feature in Installation Expert Features page At run time the destination computer s platform determines whether a feature is available for installation Example On a 64 bit destination computer a feature that is designated as 32 bit does not appear to the end user and is never inst...

Page 64: ...llation See Installation Directories on page 108 Setup Editor Tables tab The Directory table contains additional 64 bit specific folders Registry page z The upper list boxes can display the 32 bit or 64 bit registry The 64 bit registry is visible only if your computer is running a 64 bit operating system z The lower list boxes can display the 32 bit or 64 bit registry on any computer z You can add...

Page 65: ...m 32 bit applications to the SysWOW64 directory z Providing separate logical views of key portions of the registry intercepting 32 bit registry calls to each logical registry view and mapping them to the corresponding physical registry location The reflection process is transparent to the application Therefore a 32 bit application can access registry data as if it were running on 32 bit Windows ev...

Page 66: ...64 bit component check box is marked on the Component Details dialog box z Select the appropriate 64 bit target platform for all releases z AMD 64 bit computers require Windows Installer version 3 0 or later If your installation targets AMD 64 bit computers include a system requirement to check the destination computer s Windows Installer version 64 bit Installations That Contain Some 32 bit Compo...

Page 67: ...for both platforms Your options are z Organize the project by feature Do this to let the end user choose from different platform specific features during installation In a large installation this method will work better than organizing the project by component Note If you add a 64 bit component to a 32 bit feature it will never be installed A 64 bit component will be ignored during installation on...

Page 68: ...ion Graphic64 msi which installs both 32 bit and 64 components and runs on x64 platforms only Its Template Summary property is set to x64 To organize a mixed platform project by component 1 On the Features page create a single set of features and set their target platform to All Processors Example 2 When you add files registry keys and other resources to the installation put both 32 bit and 64 bit...

Page 69: ...LLDIR build property represents the main installation directory for the application By default it is set to the first directory you create under the Program Files folder on the Files page A mixed platform project has two installation directories one under Program Files and another under Program Files x86 However the INSTALLDIR property can have only one value To see this go to the Files page and v...

Page 70: ...ask 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 On the Tools tab double click Windows Installer Editor The New Installation File dialog box appears If it does not appear select File menu New 2 In the Categorie...

Page 71: ...rotected area On the Registry page a warning message appears when you try to add a registry key to a protected area z The DisableUAP property is set which hides the option to install for all users or the current user on the installation s User Information dialog box See Creating an Installation for Standard Users on page 71 At run time a standard user installation behaves as follows z The Destinat...

Page 72: ...llations that install device drivers This merge module adds custom actions to the installation that are needed to install and uninstall the driver package using Driver Install Frameworks for Applications DIFxApp After you add the merge module you add the files that make up the driver package and specify the DIFxApp options for installing the driver To create a device driver installation 1 Use the ...

Page 73: ... options for starting an installation Most of the options use a template to start a specific kind of installation If you have created custom templates they appear as additional options for new installations See Creating and Editing Installation Templates on page 48 This section describes the options that are available Windows Application Creates a standard installation with default settings See St...

Page 74: ...t can be applied to any MSI See Creating a Universal Transform on page 344 Merge Module See Creating a Merge Module As a New Installation on page 328 Import Tools The following tools open an import wizard where you select a development project file to import Target file information is extracted from the project file and added to the installation See Import Visual Studio Projects on page 352 z Visu...

Page 75: ...sible by the current computer that package is not listed Also subscription packages are not listed 2 Database displays the current Software Manager database To select a package from a different database click The Select Data Source dialog box appears This is a standard Windows ODBC connection wizard which lets you connect to a database through an ODBC data source 3 Specify criteria for filtering t...

Page 76: ...re To treated as the newer file in the comparison mark the dialog box s check box An MSP is always treated as the newer file Click OK Compare Transform to Base MSI Transform files only Automatically compares the MST to its base MSI You are taken to Setup Editor Tables tab and the Visual MSIDiff Key dialog box appears which describes icons that indicate changes Changes are shown in the tables and r...

Page 77: ...L copy to be created every time you save an installation file The copy has the same name as the installation file with the extension XML appended and it is saved in the same directory Example If the current file name is Application wsi the XML copy is named Application wsi xml To export an XML file as needed Use this method when you do not have an integrated SCCS or to compare the version of the i...

Page 78: ...on file that is a copy of a package in the Software Manager database and you don t change the application and package name on the Product Details page the Duplicate Package in Software Manager Database dialog box appears when you try to save the installation Select an option and click OK z Create a New Package recommended Mark this to create a new package in the Software Manager database The Produ...

Page 79: ...ins files that have missing or invalid source paths the Welcome dialog box of the Remove Missing Files tool appears This lets you remove those files if they should not be in the installation See Removing Files With Missing or Invalid Source Paths on page 361 z Remote Compile The package is compiled on the Wise Package Studio server and the operation is managed by the Wise Task Manager The package ...

Page 80: ...Installation on page 81 Note When working in a WSI you can set the installation to generate more than one installation program by adding releases to the Releases page If you test debug or run an installation that contains multiple releases you are prompted to select a release Testing An Installation You run an installation in test mode which does not install files or change the system This lets yo...

Page 81: ...side testing of two versions of an application without them interfering with each other install one version into a virtual layer and the other version on your computer To run an installation and install it on your computer 1 Click Run at the lower right of the main window 2 Select the type of installation from the button menu Force Reinstall Normally if an application is installed and you try to i...

Page 82: ...ting purposes You can then delete the layer to restore your computer to its original state See About Installation Expert in the Virtual Package Editor Help To delete an installation installed into a virtual layer Do one of the following z Install another installation into a virtual layer This removes the layer that was previously created and creates a new one z Close Windows Installer Editor z Del...

Page 83: ...ts z Installation package meta data read only You can edit the meta data See Product Details Page on page 83 A check box in Wise Options determines whether the Project Summary page appears when an installation is opened Product Details Page Use the Product Details page to enter edit or view an installation s meta data Meta data is displayed for MSI WSI and MST files In the Value column of the Pack...

Page 84: ... 05 This field appears in an MSI or WSI only z Product Type Read only This displays Windows Installer for installations and Transform for transforms z Product Name Enter the name of the application which by default is the name of the first directory you create on the Files or Web Files page The end user sees this name during installation and in the Add Remove Programs dialog box z Manufacturer Ent...

Page 85: ...res that no two applications ever have the same product code To change the product code Select its value and click the Change button On the dialog box that appears click Yes to change the product code and the upgrade code or click No to change just the product code If the installation is an upgrade of an existing installation then change the product code only See Upgrades on page 305 Changing the ...

Page 86: ...r files with paths Windows Installer Editor gets the latest copy of the file from the specified path when you save or compile the MSI Mark this to prevent Windows Installer Editor getting the latest copy of files that have paths If you clear this check box files that are set to be compressed are not re compressed when you save or compile Compression options are on the Media page z Increment versio...

Page 87: ...ation z The package is assigned a repository ID in the form of a GUID If you make a copy of the installation and change the copies application or package name it is assigned a new repository ID z The Application and Package fields on the Product Details page are unavailable You can edit them on the Package Attributes dialog box in Software Manager See Viewing and Editing Package Attributes in the ...

Page 88: ...ation Folder dialog box is called the Single Feature Destination dialog box in Windows Installer Editor On the Product Details page you can z Change the default installation directory z Reset the default directory for features that use this directory z Create a new directory as a child or subdirectory of an existing directory Note When end users install your application sometimes the installation ...

Page 89: ...eral Information and complete the page z Title Enter the name of the application This field often includes a version number z Subject Enter a brief description of the application z Author Enter the author or publisher of the application This field often includes a copyright notice z Keywords Enter a list of keywords that the end user can use to search for this installation in Windows Explorer z In...

Page 90: ...con Icon Number Enter the icon resource ID preceded by or the icon number for the specified icon Because a file can contain multiple icons icons in a file are numbered starting from zero This is pre filled if you selected an icon from the icon selection dialog box Hide modify button Mark this to disable the Change button for your application in Add Remove Programs This prevents end users from chan...

Page 91: ... a tree structure that lists all components merge modules files registry entries and other installation items associated with each feature use Setup Editor Features tab To specify which features are installed by default if the end user selects a Complete Typical or Custom installation type on the Installation Type dialog use the Installation Types page See Setting Features for Installation Types o...

Page 92: ... appear on the Select Feature dialog box during installation rather than the features names which are used by Windows Installer Any display option you select from the right click menu overrides the corresponding setting in Wise Options To see how features appear during installation 1 In a sample installation file add a second feature on the Features page 2 On the Files page add a file to each feat...

Page 93: ...ernal_Graphics_Editor which are built into the application are dependent on the presence of the core application files which are assigned to the Core feature Make them children of the Core feature to ensure that they are never installed without the Core feature Place dependent features as siblings to core files but require core files The features Internal_Text_Editor and Internal_Graphics_Editor w...

Page 94: ...tion Expert pages you can associate the same kinds of items with a condition that you can with a feature including files registry entries shortcuts services and so on Any items that you associate with either condition are installed only if the feature is installed and the condition is true See also Features Page on page 91 Creating Multiple Platform Specific Installations from One Project File on ...

Page 95: ...list that contains options for installing the feature appears The option you set in this drop down list determines the default state of the feature during installation The drop down list provides a way to set common options quickly The icon itself provides a visual cue that indicating which options have been set The drop down list options are a subset of the options that are available in the Featu...

Page 96: ... end user but is not actually installed on the hard drive If the installation source such as a CD ROM or shared network directory is available to the destination computer the feature is installed when the end user invokes the feature If the installation source is not available the end user is prompted for the installation source z Entire feature will be unavailable Prevent the feature from appeari...

Page 97: ...e it will never be installed A 64 bit component will be ignored when installing on a 32 bit computer and a 32 bit feature will not be installed on a 64 bit computer All Processors The feature appears for installation on any computer regardless of the platform 32 Bit Processors The feature appears for installation on 32 bit computers only 64 Bit Processors The feature appears for installation on 64...

Page 98: ...n set a custom level value that s greater than 3 and less than or equal to 1000 The Custom Value field becomes available z Custom Value If Custom is selected in Level above enter the level value for the feature in this field For details read the description of Level above Note The end user s action on the Installation Type dialog box determines the INSTALLLEVEL property To see how this works go to...

Page 99: ...user Example The end user might see shortcuts or menu options for an advertised feature or the system might have certain entry points to the feature such as a registered file extension that can perform installation on demand of an advertised feature None By default the feature is set to be installed not advertised Favor Advertising By default the feature is set to be advertised Disallow Advertisin...

Page 100: ...system configuration end user choices and so on Both conditions and features are listed in the Current Feature drop down list which appears on all Installation Expert pages in the Feature Details page group Just as you can specify options on a per feature basis you can also specify options on a per condition basis Options on these pages that you associate with a condition are installed only if the...

Page 101: ... Installer limitation See WiseFixConditions on page 390 5 Click OK on the Feature Condition dialog box The condition appears in the Current Feature drop down list If you want to make file changes or other system changes on the destination computer only if this condition is true you first select this condition from the Current Feature drop down list To delete a condition 1 Select Installation Exper...

Page 102: ...ight encounter errors during compile The Wise DLL files support advanced functionality that you add to an installation example custom actions Removing or refreshing these files can result in advanced functionality ceasing to work correctly Columns on the Resources page See Refreshing Binary Resources on page 103 Working with the Resources page z To change binary resource properties for a selected ...

Page 103: ...he right of the page and complete the Resource Details dialog box z Name Enter a descriptive name for the data you re adding This name appears on the Resources page and in the Binary table If you leave this blank the name of the source file is used instead z File Name Specify the file that contains the binary data z Create update link to refresh data when file changes Mark this to update the data ...

Page 104: ...eshed appears in red with question marks in the Last Modified and Size columns the name or the location of its source file has changed To compile without binary file errors do one of the following z Use the Resource Details dialog box to update the path for the source file z Clear the Refresh check box and use the existing entry for the resource in the Binary table If an error message appears when...

Page 105: ...e destination computer during the installation On the Web Files page you also can add Web sites virtual directories and Web folders and set their options The Web Files page displays items to be installed to a Microsoft Internet Information Services Web server while the Files page displays all items to be installed For a summary of differences between the two pages as well as links to Web related f...

Page 106: ...y using wildcards and link the directory so that the installation s contents change dynamically as the directory s contents change See Adding Contents of Directories to the Installation on page 114 Add File Add files to the directory that is selected in the lower left list box See Adding Files to an Installation on page 109 New Create directories to be installed on the destination computer You als...

Page 107: ...operations including attributes name and source permissions self registration and assembly options See Editing File Details on page 123 Removing a File From the Destination Computer on page 121 Copying and Moving Files on the Destination Computer on page 122 To learn about the Web specific functionality of the Web Files page see About Web Installations on page 245 See also Installation Directories...

Page 108: ...y The Windows directory has an additional subdirectory SysWOW64 which stores 32 bit applications and components Program Files x86 64 bit installations only A 64 bit system has two directories for program files Program Files in which 64 bit applications and components are installed and Program Files x86 in which 32 bit applications and components are installed See 32 bit Applications on 64 bit Comp...

Page 109: ...lso Files or Web Files Page on page 105 Installation Directories on page 108 Adding Files to an Installation If you add the same file to multiple locations it is considered a duplicate file entry See Creating Duplicate File Entries on page 371 Installation file Duplicate installation file Installation file with permissions set File to be removed from the destination computer File to be moved on th...

Page 110: ...ou specify will be created on the destination computer if it does not exist Note When you add a directory you might not see it when you select another feature from Current Feature To display directories for all features mark the View directories for all features on Files page check box in Wise Options 4 In the lower left list box select the directory to which the file will be added 5 In the upper ...

Page 111: ...ies to add to the installation See Assembly Dependencies on page 117 z If a file that is part of a merge module is added the Files in Merge Modules dialog box appears It prompts you to add the merge module and if necessary download it See Adding Merge Modules Instead of Files on page 112 z If a file that is used by a package in the Wise Software Repository is added the Files in Repository dialog b...

Page 112: ... To add the merge module that contains the file Mark the check boxes of merge modules to add To see what dependent merge modules will be added expand the folders Then click OK If the merge modules or their dependencies are not found the Download Redistributables wizard opens with the appropriate merge modules selected When you finish the download the merge modules are added to the installation To ...

Page 113: ...n in the repository as the source for the file When you capture a large application with many files the repository check can slow SetupCapture considerably Therefore you can disable this feature in SetupCapture Clear the Enable checking of files against Wise Software Repository check box in the General Settings of SetupCapture Configuration To add a file from the Wise Software Repository 1 Do one ...

Page 114: ...t will hold the contents of the directory you re adding If you don t enter a directory name the contents are added to the directory that s selected in the lower list box Include Wildcards Exclude Wildcards To add or exclude files based on specific criteria enter a semicolon delimited list of wildcards Wildcards apply only at the moment you click OK on this dialog box unless you also mark the Updat...

Page 115: ...r Web Files Page on page 105 Installation Directories on page 108 Adding Files to an Installation on page 109 Adding NET Assemblies to the Installation Note The ability to create NET installations is supported only by Windows Installer 2 0 or later When you create a NET installation you can use the Files or Web Files page to add NET assemblies When you add a file that is a NET assembly to an insta...

Page 116: ...n Windows XP or later shared assemblies are installed as side by side assemblies See Side by Side Assemblies in the Windows Installer SDK Help Private directory If an assembly is private used by only one application install it into any installation directory provided its path contains a maximum of 256 characters See Private Assemblies in the Windows Installer SDK Help See also Installation Directo...

Page 117: ...ject dependency exclusion list and is skipped by future scans of the current installation You can remove dependencies from the project dependency exclusion list See Removing Dependencies from the Project Dependency Exclusion List on page 355 See also How Assembly Dependencies are Added to an Installation on page 116 About Dependency Scan Exclusions When you add a NET assembly to an installation Wi...

Page 118: ...clusion lists and the hard coded list Use the following syntax in the XML file xml version 1 0 encoding utf 8 Exclusions Assembly name regular expression Exclusions The regular expression represents a wildcard in regular expression syntax For information on regular expression syntax search for Regular Expression Syntax in the MSDN Library msdn microsoft com library The dotnetexclude xml file overr...

Page 119: ...m you add must be assigned to a specific feature you cannot add an item when All Features is selected 3 Click the directory name in the lower left list box and click Wildcards at the lower left of the Files or Web Files page The Wildcard Details dialog box appears If the directory is currently linked to directories on your computer those directories appear in the Source Directory list 4 To link th...

Page 120: ... drive Run Locally not installed on the local hard drive Run From Source or either Change this option only if you plan to integrate Windows Installer function calls into your application to determine the installed location Always increment shared DLL count Mark this to always increment the count of applications using DLLs in this component when it is installed even if the file is not already insta...

Page 121: ...arning Be very careful when removing files from the destination computer Do not remove files unless you are sure that they are not used by another application To remove a file from the destination computer 1 Do one of the following Select Installation Expert Files or Web Files page a From Current Feature select a feature or condition Because any item you add must be assigned to a specific feature ...

Page 122: ...led graphic files to C Program Files Application Graphics but your latest release installs them to C My Documents Application You can add an operation to copy or move the existing graphic files from the old directory to the new directory Warning Be very careful when moving files on the destination computer Do not move files unless you are sure that they are not used by another application To copy ...

Page 123: ...The operation to copy or move a file on the destination computer appears preceded by the copy icon or move icon On the Files or Web Files page the entry s Type column contains Copy to or Move to followed by the directory to which the file will be copied or moved To edit it double click its name To delete it use the right click menu See also Files or Web Files Page on page 105 Files or Web Files Pa...

Page 124: ...etails dialog box appears instead of the File Details dialog box See also Creating Duplicate File Entries on page 371 With NET assemblies if you add the same file to the application directory and the Global Assembly Cache a duplicate file is not created because they are treated as separate components See also Files or Web Files Page on page 105 Adding Files to an Installation on page 109 Editing G...

Page 125: ...f an existing file on the destination computer See MsiFileHash Table in the Windows Installer SDK Help File has Valid Checksum Many executable files examples EXE OCX DLL etc store a checksum that can be checked against actual file contents to ensure the file is not corrupted Mark this to have file contents verified during reinstall or repair If the verification fails the file is assumed to be corr...

Page 126: ...not for folders In Setup Editor On the Components or Features tab right click a folder file or set of files and select Details A dialog box appears with a Permissions tab If you selected multiple files that have different permissions you are prompted to reset the permissions to a common set when you click the Permissions tab If you do not reset the permissions the Permissions tab is unavailable 2 ...

Page 127: ...ified below method Arrange files in the order in which they need to self register You can only move the file for which you are viewing details Generate COM interop registry keys for NET Assembly If this installation contains both NET and COM elements mark this to register NET assemblies so that they can be called as though they were COM elements This check box is enabled only if you have the NET F...

Page 128: ...ld be named My exe manifest See Creating a Win32 Assembly on page 129 Assembly Attributes This displays the assembly s culture name publicKeyToken and version attributes If this information has not been pre filled click Add to enter it Enter the Name and Value for each of the assembly s attributes For information on obtaining assembly attributes see Creating a NET Installation Without the NET Fram...

Page 129: ...in32 assembly and manifest on the Manifest File Details dialog box This populates the MsiAssembly and MsiAssemblyName tables Warning Isolation does not work on all applications Applications must be written according to Microsoft programming guidelines to work with operating system isolation methods Example If an application hard codes paths to support files isolation might not work For details see...

Page 130: ...d My exe manifest The manifest is also added to your computer with the extension XML Example If you add C Program Files My exe and make it a Win32 assembly the file C Program Files My exe xml is created See also Editing File Details on page 123 Editing Assembly Settings for Files on page 127 Viewing Shared File Resources The Shared Resources tab on the File Details dialog box displays all packages...

Page 131: ...clamation point to the left of the package changes from red to white See also Editing File Details on page 123 Editing XML Files During Installation When you add an XML file such as Web config to the Files or Web Files page and then get details for the XML file the Dynamic Content tab appears which shows the file s contents The purpose of the Dynamic Content tab is to let you modify the XML file b...

Page 132: ...Windows Installer properties are resolved to their value See also Editing File Details on page 123 Editing DIFxApp Options When an installation contains a device driver that meets Microsoft Driver Install Frameworks DIFx driver requirements you can use Microsoft s Driver Install Frameworks for Applications DIFxApp to install the driver See Creating a Device Driver Installation on page 72 You edit ...

Page 133: ... on the presence of other files on the destination computer or on how well the OCX or DLL file adheres to self registration conventions How self registration information is scanned z When a file is added to an installation its type libraries are scanned for registration information and the appropriate registry keys are added to the installation You can set options in Wise Options to rescan and upd...

Page 134: ...nformation u self unregisters the files after the extraction is finished Input_COM_Full_pathname is the path to the file or files that should be self registered Output_REG_pathname is the path and file name of the REG file to which the registry information will be extracted This file must be accessible to anyone who will be working on the installation The files are registered and the registry info...

Page 135: ... resolving conflicts without importing into the Software Manager database How Windows Installer Editor detects conflicts Windows Installer Editor compares the files each application installs and records files that conflict Resolving a conflict involves looking at each file that is installed by more than one package and selecting which version to install on the destination computer You also can cha...

Page 136: ...resolving conflicts from Windows Installer Editor affects the current installation only As a result some conflicts might not get resolved Use the Resolve wizard to resolve any remaining conflicts See Resolving Conflicts Individually in Windows Installer Editor on page 136 See also Resolving File Conflicts Within Windows Installer Editor on page 135 Resolving Conflicts Individually in Windows Insta...

Page 137: ... usually can move such files without causing problems The lower list box contains the conflicting files in other packages 6 In the upper list box select one or more files and take one of the following actions See Guidelines for Resolving File Conflicts in the ConflictManager Help When you resolve a conflict the exclamation point to the left of the file name changes from red to white To move the se...

Page 138: ...t available if you selected the Do not move files isolation method Warning When conflicting files are listed in the registry moving them to a private application directory can cause problems ConflictManager updates the registry when a file is moved to a private application directory This can cause other packages to follow the moved file and result in a further conflict To use the most recent versi...

Page 139: ...path to the directory with formatted text in brackets As a result the registry entry automatically points to the correct directory no matter where it is located Example References to C Program Files are replaced with ProgramFilesFolder In addition if the registry key points to a file in the installation it is replaced by filekey Example If you have C Program Files MyApp MyApp exe in your installat...

Page 140: ...res or releases z Drag and drop keys and values on the Registry page or use the following buttons Add Keys Copy a registry key including all its subkeys and values from your computer to the installation In a 64 bit installation this button contains a menu that lets you specify whether to add the key to the 32 bit or 64 bit registry Add Values Copy values from your computer to the installation In a...

Page 141: ...ry page in Wise Options In Setup Editor the Registry icon displays the registry keys and values that are included in the selected feature or component To add an empty registry key 1 Select Installation Expert Registry page 2 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 t...

Page 142: ...mpty Folders Items On the Components tab expand a component When an installation contains both 32 bit and 64 bit components place registry keys in the appropriate location for the platform they target 2 Expand the Registry icon 3 To add a new folder right click a folder and select New Folder Rename the new folder 4 Right click a folder and select New Registry Key The Registry Details dialog box ap...

Page 143: ... box appears 7 From Operation select Remove value during install 8 Click OK A red exclamation point appears over the icon of the registry value you selected to indicate that this value will be removed during installation To add a remove registry operation in Setup Editor 1 Do one of the following in Setup Editor On the Features tab expand a feature and then expand its Combined folder If the Combin...

Page 144: ... registry key settings from an installation to a REG file RegEdit 4 0 and 5 0 formats are supported for importing RegEdit 4 0 formats are supported for exporting To import a registry file 1 Do one of the following Select Installation Expert Registry 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 ...

Page 145: ...erty table in the Windows Installer database then the bracketed property name is replaced with the local computer value of the property in the exported REG file Configuring General Registry Settings Use the Registry Details dialog box to set or edit the general registry key settings To configure general registry settings 1 Do one of the following In Installation Expert Registry page click Add Key ...

Page 146: ...t string For information about formatted text strings see Formatted and Registry Table in the Windows Installer SDK Help Data Value Enter the data for the value You can enter a formatted text string Example To return the directory that contains MyApp exe enter a value of component where component is MyApp exe to return the directory and the file name enter a value of MyApp exe For information abou...

Page 147: ...rk To add permissions for a domain and user 1 Do one of the following In Installation Expert On the Registry page right click a registry key and select Permissions In Setup Editor On the Components or Features tab right click a registry key and select Permissions The Registry Key Permissions dialog box appears 2 Click Add The Lock Permissions Details dialog box appears a Enter the Domain b Enter o...

Page 148: ...ge Use the INI Files page to z Update the contents of an existing INI file such as System ini z Create an INI file and write installation properties to it You cannot use this page to delete part or all of an INI file The left list box on this page represents the directory tree of the destination computer and the right list box contains INI entries you add to the installation Use the right click me...

Page 149: ...3 To create a new folder for the INI file click New Folder enter a folder name and click OK 4 In the left pane select a folder and click New File The INI File Details dialog box appears 5 Complete the dialog box see below 6 Click OK The INI File entry appears in the right list box To edit it double click its name To delete it use the right click menu To create and edit an INI file from Setup Edito...

Page 150: ...PRIMARYFOLDER Shortcuts Page The Shortcuts page lets you add edit and delete shortcuts for files in the installation and add icons for shortcuts you will install You also can create a shortcut for a file on the destination computer that s not in the installation Shortcuts for files that have associated shortcuts are created automatically if you select one of the scan advertising options from the A...

Page 151: ...on marks if it contains spaces See Editing a Shortcut Configuration on page 152 Shortcut Name Enter a name for the shortcut 3 Click Next If you created a shortcut for a file in the installation the Shortcut File Selection dialog box appears 4 Select the installation file to create a shortcut for and click Next Note Files added under the Duplicate Files icon in the Features or Components tabs of Se...

Page 152: ... file when you created this shortcut To create a shortcut to a different file delete this shortcut entry and create a new one If you created a command line shortcut this field is replaced by the Command Line field Command Line This appears only if you created a command line shortcut It contains the command line statement Dest Directory This lists all predefined directories and directories that you...

Page 153: ...ues to be set by the operating system on the destination computer You can add environment variables from Installation Expert or Setup Editor To add an environment variable 1 Do one of the following Select Installation Expert Environment Variables 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...

Page 154: ...stination 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 b Click Add at the right of the page and select New In Setup Editor on the Components or Features tab right click a component or feature and select New File Association The File Association Details dialog box appears 2 On the Extension Detai...

Page 155: ...and MIME Types tabs To edit those tabs double click the file association name See also Advertising Icon on page 370 Determining Extension Settings Use the Extension Details tab to determine file association settings To determine file association settings 1 Click the Extension Details tab on the File Associations Details dialog box See Adding File Associations on page 154 2 Complete the dialog box ...

Page 156: ...d when the end user selects the corresponding command from the right click menu Command Enter the command as it should appear on the right click menu This entry is added to the text strings on the Languages page and can be localized See About the Languages Page on page 266 Argument Enter command line options that will be passed to the executable file when the action is performed The default 1 is a...

Page 157: ... 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 Items that you add to a condition are installed only if the feature is installed and the condition is true 3 Add the file that runs the s...

Page 158: ...the service Arguments Enter any arguments to be passed to the service on the command line at startup Login Username Password Enter the Windows account information for the account the service is to run under Example Username or Domain Username Load Order Group Enter the group that this service will be a part of Groups are loaded alphabetically at startup Dependencies Enter the names of any other se...

Page 159: ... 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 Items that you add to a condition are installed only if the feature is installed and the condition is true b Click Add at the right of the page and select Service Control On the Features or Components tab in Setup Edi...

Page 160: ...vers and translators to include in an installation For information about ODBC consult technical documentation provided by Microsoft To add an ODBC item 1 Do one of the following Select Installation Expert ODBC 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 Items that you ...

Page 161: ...he destination computer access to the data source or mark Register Per User to give only the user who installs the application access to the data source Source Attributes Enter attributes for the data source one per line in keyword value format Press Ctrl Enter to move to the next line 3 Click OK Setting ODBC Driver Details To set ODBC driver details 1 Access the ODBC Driver Details dialog box See...

Page 162: ... On the Firewall Exceptions page you can specify application files and ports to be added to the Windows Firewall exception list during installation This adds custom actions to the installation which add the exceptions to the Windows Firewall exception list When your application is installed it can accept incoming traffic and open required ports on the destination computer without end user interven...

Page 163: ...type of exception to add Application file Do this to allow traffic to this specific file through any port Go to step 5 Port Do this to allow traffic from any application through this specific port Go to step 6 5 To add an application file a On the Exception Type dialog box mark Application and click Next The Application Selection dialog box appears and displays files in the installation with the f...

Page 164: ... Installer Editor Reference 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 ...

Page 165: ...ions on computers running Windows Server 2008 or later server operating system you can specify requirements for server roles and services See Setting a Requirement on the System Requirements Page on page 165 See Setting a System Requirement for Server Roles and Services on page 167 z Launch Conditions icon This is in Setup Editor Product tab It lets you build complex conditions using Windows Insta...

Page 166: ...on of Windows NT the minimum system requirements specified under the Windows NT Version item are checked instead Windows NT Version The requirements you set for the Windows NT version apply only if the destination computer is running one of the following operating systems Windows 2000 Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 If the destination computer is running ...

Page 167: ...irements to check its state as set on the destination IIS Web server You can specify the order in which these launch conditions are evaluated in the WiseLaunchCondition table See Wise Tables on page 508 See also Importing NET Framework Security Settings on page 261 About Microsoft NET Technology on page 497 Requirements for Creating a NET Installation on page 501 Setting a System Requirement for S...

Page 168: ...he roles txt file they appear on the Server Roles and Services dialog box When you add a role or service to the roles txt file you must enter the value of the ID property for the server role or service These values are listed in the ID properties table in the Win32_ServerFeature Class article in Microsoft s MSDN Library This table has a column for the value and another column for the description o...

Page 169: ...icon and select New Launch Condition The Launch Condition Details dialog box appears 2 Complete the dialog box Condition Enter the new condition or click Build to create a condition in Condition Builder See Creating Conditions With Condition Builder on page 391 Message Text Enter the error message that appears if the destination computer doesn t meet the condition It should communicate to the end ...

Page 170: ...he Windows Installer SDK Help You can get the product code GUID of the previous installation by filling in the Action Property field on the Upgrade dialog box See Creating an Upgrade on page 306 Searching For Files or Directories On the System Search page you can set up a search for a file or directory on the destination computer To find a directory you must search for a specific file contained in...

Page 171: ...ch directory to search The default 0 searches only the top level of the directory specified in Search Directory If you are searching all fixed drives for a file then 0 searches the root directories only Enter 1 to search both the top level and the top level s child directories 2 to search two levels of child directories and so on File Name Enter the name of the file Details Click to specify more d...

Page 172: ... Items in INI Files On the System Search page you can set up a search for an item in an INI file on the destination computer You can either search for a generic value or do a special search that s tailored specifically for a file path or directory path Note When you use the System Search page to search for an INI file you can only search for INI files that are inside the Windows or the Winnt direc...

Page 173: ...lication exe However the file name itself is dropped from the search result A search of this type returns the directory path only minus the file name Example E Application If you use this operation on INI information that s in the form of a directory path or any other form then this type of search fails The search also fails if there is more than one value listed for the item separated by commas R...

Page 174: ...ready defined a new public property all uppercase in the Properties icon on the Product tab then you can select it from the list otherwise enter a new property name all uppercase If you enter a new property name and the search fails to find a match the property value will be null and will be false if used in a condition Operation Select the type of entry for the property Read directory name from r...

Page 175: ...want to find the installation directory of version 1 0 of your Sample1 application You could use a file search to find the file Sample1 exe but it might take a long time to search all drives Instead you could search for the component ID of the component that contained Sample1 exe in the original installation This type of search is much faster To perform a component search you must know the compone...

Page 176: ...u run the installation the property you specified will hold the results of the search If it is empty the search failed Setting Version Specific Windows Installer Options Windows Installer 4 0 or later only Use the Windows Installer Options page to set options for installations that will run on Windows Installer 4 0 or later The features that these options enable were introduced with Windows Vista ...

Page 177: ...t have files in use The use of Restart Manager determines which dialog box appears if the installation tries to update files that are being used If Restart Manager is enabled the Windows Vista Files in Use dialog box MsiRMFilesInUse appears If Restart Manager is disabled the Files in Use dialog box used in earlier versions of Windows appears z Restart registered applications that were shut down by...

Page 178: ...ows Installer Installations Windows Installer 4 0 or later only In pre Vista versions of Windows users frequently logged on as administrators leaving their computers vulnerable to security breaches The User Account Control UAC that was introduced with Windows Vista provides a temporary privilege elevation model A user who needs to run an administrative application can elevate their permissions by ...

Page 179: ...pecific Windows Installer Options on page 176 Elevate the entire MSI in the following situations z When the installation contains custom actions that access protected areas and are located outside of the Execute Deferred sequence Typically such custom actions check launch conditions or obtain data to populate installation dialog boxes z When you cannot or prefer not to wrap the MSI in an EXE See A...

Page 180: ...n you elevate an entire MSI the custom action WiseElevateCheck is added to the User Interface sequence Do not remove this custom action from the installation Note When you create a Web installation or a server installation Wise IIS related custom actions are added to the Execute Immediate sequence These actions are coded to run in an elevated mode Any other custom actions in the Execute Immediate ...

Page 181: ... the Installation Type dialog box Because the Installation Types page simply sets the defaults the end user can still override these choices during installation by clicking Custom in the Installation Type dialog box and then turning features on or off on the Select Feature dialog box To display the Select Feature dialog box to the end user during installation mark its check box on the Dialogs page...

Page 182: ...ures are turned on by default during installation select an installation type name in the upper left list and mark the check boxes of the features in the list on the right Warning If you are using the Installation Types page to manage the Installation Type dialog box do not edit the Installation Type dialog box Doing so causes the Installation Types page not to work properly The following examples...

Page 183: ...Windows Installer Editor Reference 183 Your Installation on the Destination Computer Select Features dialog box Default features ...

Page 184: ...releases within the installation You can create releases that install different features have different properties have different output formats and support different platforms The Releases page lets you define multiple releases for an installation edit releases and delete releases you have created If you haven t created additional releases for the installation the Releases page lists only one rel...

Page 185: ... only has one release you cannot delete it z Compile Compile a specific release without compiling the entire installation Select one or more releases and click the Compile button at the right of the Releases page The Compile button at the bottom of the main window compiles the entire installation See Compiling An Installation on page 78 You can edit various aspects of each release on the other pag...

Page 186: ...ontrols the overall look of the dialog boxes by setting their top or side images and the fonts of the dialog box text You can use different themes for different releases Example Use a different theme for an evaluation release to clearly distinguish it from your standard release See Changing the Theme of Dialogs on page 403 The theme of the Default release on the Releases page corresponds to the De...

Page 187: ...on and the Media section appear only when you first add a new release See Setting Up Media for Distribution on page 210 5 Click OK The release is added to the list on the Releases page To edit a release double click its name The other pages in the Release Definition page group let you further customize each release See also How to Specify the Target Platform on page 63 Outputting a Multiple Langua...

Page 188: ...ting a Translated MSI on page 268 4 Save and compile the installation When the end user runs the installation EXE the installation either proceeds in the destination computer s language or prompts the end user to select a language If you created a single file EXE the MSI runs with the appropriate transform If you created an EXE that launches an external MSI the appropriate language MSI runs Custom...

Page 189: ... value to 12 on the Release Settings page the value of the property in the German MSI will be 5 Each release contains the properties listed under the Properties icon in Setup Editor Product tab Only those properties that you change or add for a specific release appear under the Properties icon on the Release Settings page Properties that you add for a specific release do not appear in Setup Editor...

Page 190: ...rom the Release Settings page removes the override for the specific release To customize summary items 1 Select Installation Expert Release Settings page 2 From Current Release select a release 3 In the list box click the Summary icon 4 Click Add at the right of the Release Settings page The Summary Settings Override dialog box appears 5 From Name select a summary item 6 In Value enter a new value...

Page 191: ... At any time you can break the link To share settings between releases 1 Select Installation Expert Release Settings page 2 From Current Release select a release to copy settings to 3 Click Share at the right of the Release Settings page The Share Release dialog box appears 4 From Copy Share Settings From select the release that contains the settings to copy 5 Click OK The settings of the release ...

Page 192: ... resources that let end users save files z On the Releases page you have created a release named Evaluation To create a sample evaluation release 1 Select Installation Expert Release Settings page 2 From Current Release select Evaluation 3 Click the Properties icon 4 Click Add at the right of the Release Settings page The Property Settings Override dialog box appears 5 From Name select ProductName...

Page 193: ...les are output when you compile this release If you create an EXE you can install Windows Installer and NET Framework runtimes and run prerequisite files on the destination computer before the main installation In a 64 bit installation the EXE will always be 32 bit For WebDeploy to be enabled you must select one of the WebDeploy options Do not create an EXE file Create only the MSI file The instal...

Page 194: ... version must have been installed using Windows Installer technology If not then use the System Search page to search for a previous version Note For best results use the Upgrades page rather than this option to deal with previous versions of your application Do not mark this check box if you are using the Upgrades page or patches to update an application z Include all languages in installation EX...

Page 195: ...er You can create an MSI installation that is installed into an SVS layer You can then take advantage of the benefits of both an MSI and an SVS layer When you install an MSI into an SVS layer you eliminate the possibility of conflicts with other applications including another version of the same application and avoid changes to the base Windows installation You also make it possible for an end use...

Page 196: ...fied on the Prerequisites page These prerequisites are not installed into an SVS layer Determines whether a compatible version of the SVS Driver Software Virtualization Agent is installed If a compatible version of the SVS Driver is not found one of the following happens If you selected the option to install the MSI normally on the Build Options page the EXE wrapper installs the MSI normally and n...

Page 197: ...allation When you select a directory you can also select to exclude its subdirectories Also see Tables Tab on page 380 Adding File Associations on page 154 About Maintenance of an MSI Installed into an SVS Layer When an MSI is installed into an SVS layer an end user can use Add Remove Programs to perform maintenance on the application Note Only English is supported for the maintenance mode dialogs...

Page 198: ...pt to the WiseScript that creates the installation EXE 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 See Setting Build Options for a Release on page 193 To add prerequisites to a release 1 Select Installation Expert Prerequisites page 2 From Current Release select a release 3 Select the Windows Install...

Page 199: ...the operating system is not used on any destination computers select None Select Latest to add the latest runtime that you have downloaded and that works with that operating system Example If the latest runtime that you have downloaded is 3 0 and you select Latest 2000 XP 2003 then 3 0 is added to the installation If later you download the Windows Installer 4 5 for XP Server 2003 32 bit runtime th...

Page 200: ... Add at the right of the page and select Prerequisite The Prerequisite Details dialog box appears Note If you compile an installation into an EXE that launches an external MSI three files are generated an EXE an MSI and an INI If you add prerequisite files to the installation a subdirectory that is named after your installation file is also created When you distribute the installation you must inc...

Page 201: ...he right of the page For each prerequisite file and runtime that you add in the lower pane script is added to the WiseScript that creates the installation s EXE You can edit this script to enhance the functionality of the prerequisites See Editing the WiseScript That Creates the Installation EXE on page 202 If the build options for this installation are set to create an EXE that launches an extern...

Page 202: ...ion for 2000 milliseconds Adding the Pause actions prevents the WiseScript from trying to start the next prerequisite or runtime while the computer is shutting down 9 During installation any runtimes you selected at the top of the Prerequisites page run first and then the prerequisite files and runtimes run in the order that they are listed To rearrange the order select an item in the lower pane a...

Page 203: ...SI into an SVS layer on the Build Options page See Setting Build Options for a Release on page 193 If you have not previously edited the script a warning message appears Click Yes The installation is saved and compiled and the WiseScript that creates the installation s EXE opens in WiseScript Editor The name of the WiseScript file for the default release is the installation name with the extension...

Page 204: ...at a single file EXE can be very large The entire installation including Windows Installer runtimes is downloaded whether or not it is needed on the destination computer The resulting download can take a long time and tie up bandwidth Note You cannot use WebDeploy to run patches MSP or transforms MST To distribute updates with WebDeploy format the installation as an upgrade using the Upgrades page...

Page 205: ...he EXE on a CD or other media along with an Autoplay program Example You want to let the end user select from multiple download sites You write an Autoplay program that presents download site options to the end user When the end user selects a site the Autoplay program copies the EXE and INI to a temporary directory then edits the INI file adding the URL of the selected download site The Autoplay ...

Page 206: ...ee Adding a Media Item on page 210 z It is a good idea to digitally sign installations that you plan to deploy over the Web To add an authenticode digital signature to your installation files use the Digital Signature page This requires Windows Installer 2 0 or later See Adding a Digital Signature to an Installation on page 240 See also Creating Web Based Installations With WebDeploy The end user ...

Page 207: ...stallation This enables the remaining options on the page 4 From EXE Options specify how the installation is created This is linked to the EXE Options field on the Build Options page Create a downloadable EXE Create an EXE that is optimized for direct downloading from the Internet The installation will compile to an EXE that contains the download information and an MSI file that might or might not...

Page 208: ...the Windows Installer runtime EXE in the WebDeploy EXE if the Prerequisites page is set to pre install the Windows Installer runtime NET Runtime URL NET Update URL Getting the latest version of the NET Framework runtime requires installing two files the original installation and a patch installation In NET Runtime URL enter the address that points to the NET Framework runtime file dotnetfx exe In ...

Page 209: ...ttp www Sample2 com downloads If you are distributing the installation through an Autoplay program the installation should be compiled to an EXE that runs an external INI and MSI Save the Autoplay program and the EXE and INI files to a CD or other distribution media Then upload the MSI and any external CAB files to the URL address you specified in the MSI Download URL field on the WebDeploy page E...

Page 210: ... Media page To rearrange the order select a media item and click Move Up or Move Down at the right of the Media page or drag the media item to a new position The MSI file is an exception It is always placed in the first destination directory no matter where it appears in the list z Add destination directories Destination directories are holding places for the installation They represent the disks ...

Page 211: ...plication to run from the source media you must use this option See the description of the Will be installed to run from source icon in Configuring a Feature Using Its Drop Down List on page 95 If you select this option you also might want to use short file names for uncompressed files outside the installation See the description of Use short file names for files uncompressed outside of the instal...

Page 212: ...on medium See Example Spanning an Installation Across Media and Sharing Media Size Information on page 215 Max Media Size Enter the size of the distribution media as a whole number and select the appropriate unit KB or MB from the drop down list To indicate unlimited size enter 0 Cluster Size Select the bytes per sector of the distribution media Recommendations for common distribution media 8 In t...

Page 213: ...ox appears 4 In the Media Destinations section click Add The Media Destination Details dialog box appears 5 Complete the dialog box Destination Directory Specify the holding directory in which the installation files are stored before they re placed on the selected media If you specify a maximum media size on the Media Details dialog box and do not specify destination directories installation files...

Page 214: ...mpressed graphic files Then from the list of features you would select the graphic feature for inclusion in this media item To include features and components in a media item 1 Select Installation Expert Media page 2 From Current Release select a release 3 Double click a media item The Media Details dialog box appears 4 In the Include Features Components section click Add The Include Items for Med...

Page 215: ... Installation Across Media and Sharing Media Size Information You can span an installation across CDs and use the Share media destinations size info with previous media entry option Assume the following z The files for your application use 1 5 GB of uncompressed disk space z You want to distribute the application on two CDs z For each of the two CDs you can safely assume a maximum size of 550 MB w...

Page 216: ...C drive Volume Label CD One It is very important to change volume labels for your disks or CDs to match this value Failing to do so will prevent the installation from working properly Disk Name CD 1 6 Click OK 7 In the Media Destinations section click Add again The Media Destination Details dialog box appears 8 Make the following entries for the second CD Destination Directory C My Installation CD...

Page 217: ...tion 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 All remaining uncompressed files are in the directory CD 2 ...

Page 218: ...o see the Mobile Devices page select one of these views from the Page Views drop down list in Installation Expert All Palm Application or Windows Mobile Application Use the Mobile Devices page to configure a Windows Installer installation to install files that support a mobile device application This lets you install the main application to a desktop computer and simultaneously install support for...

Page 219: ... 2 In Windows Installer Editor go to Installation Expert Mobile Devices page and add the mobile device installation files 3 Finish assembling the Windows Installer installation Any resources that you add to the installation other than those on the Mobile Devices page are installed on the desktop computer not the mobile device 4 If you added one or more Palm OS files and you selected the option to ...

Page 220: ...CAB file to the mobile device and opens it The CAB file extracts its contents to the directories that were specified in the INF file Uninstall of the mobile device application is controlled by the mobile device and ActiveSync Uninstalling the mobile device installation from the desktop computer does not affect the application that is installed on the mobile device To add Windows Mobile CAB files t...

Page 221: ...nstall the NET Compact Framework on the device before it installs the mobile device application If the NET Compact Framework runtime is not in the Stub subdirectory of the Windows Installer Editor installation directory the Download Redistributables wizard appears during compile and prompts you to download it NET Compact Framework Runtime Version Select a version of the NET Compact Framework c Cli...

Page 222: ...es Page on page 218 About Windows Mobile Installations on page 219 Process for Adding Mobile Device Support to an Installation on page 219 About Palm OS Installations A Palm OS application consists of a file in one of the following formats z PDB Palm database which stores data for an application z PQA Palm query application which is a PDB that contains world wide web content z PRC Palm resource wh...

Page 223: ...ser Information dialog box which lists all Palm users on the desktop computer The Palm files are installed in the directories for the specified users If the steps above are not followed the files are installed for all Palm users Installations that were created in a product earlier than Wise for Windows Installer 5 0 or Windows Installer Editor 4 5 might not contain the Palm User Information dialog...

Page 224: ...of the folder options on the Palm File Details dialog box the files are copied to the Palm specific directories The files in this directory are uninstalled when the MSI is uninstalled from the desktop computer The Palm OS Files dialog box appears 2 Click Add specify a file and complete the Palm File Details dialog box File Name Specify the name for the file when it is installed onto the Palm devic...

Page 225: ... of the end user who installs it If another user logs in shortcuts and other personalized information are not available and the application may not run Per machine installation The application is installed under the All Users profile and is available to any end user When you select this option the configuration information such as Start menu shortcuts is stored in the All Users location The user w...

Page 226: ...llbacks which is to roll back if possible without prompting the user Disable rollback The installation does not create a rollback script and does not support rolling back a canceled installation z Create advertised shortcuts as regular shortcuts Mark this to have the installation generate regular shortcuts rather than shortcuts supporting installation on demand and advertisement This disables self...

Page 227: ...zes a new virus It is more efficient for Jim to be able to reinstall from the Amsterdam Applications server To solve this problem you could z Use your network logon script to always set an environment variable with the nearest Applications server name z Complete the Search Locations page but instead of hard coding a server name specify the environment variable that points to a local server In addi...

Page 228: ...n Administrative Installation Use the Administrative Install page to specify the property values to be set during an installation from an administrative image Properties that you set on this page are only in effect during installation from an administrative image If an end user runs this installation directly not from an administrative image then this page has no effect For information on administ...

Page 229: ...e 512 For a complete list of Windows Installer Properties see Property Reference in the Windows Installer SDK Help Value Enter the value for the property You cannot enter properties because they will not be resolved into their values 5 Click OK See also Setting Administrator Options on page 225 Specifying Search Locations on page 227 About Command Lines Command lines change the behavior of an EXE ...

Page 230: ...e field we recommend that you use the options provided in this utility for an optimal error free installation 3 Click the General tab and complete the dialog box Name Enter the name of the command line Shortcut File Specify the full path of the shortcut file LNK you are creating to execute the command line The default location is the Temp directory You also can create a batch file by changing the ...

Page 231: ...evel See Applying UI Options to an Installation on page 232 Logging Generate a log when the installation is run and select logging options See Applying Logging Options to an Installation on page 233 Advertising Advertise applications and apply a transform to the advertised package See Applying an Advertising Option to an Installation on page 234 Repair Repair installed files See Applying a Repair ...

Page 232: ...To set options for all versions of Windows Installer mark the appropriate options in this section qn No UI Displays no user interface during the installation qb Basic UI Displays built in modeless dialog boxes that show progress messages during the installation Note Modal dialog boxes require user input whereas modeless dialog boxes don t qr Reduced UI Displays authored modeless dialog and built i...

Page 233: ...allation Prompt restart Passive only Displays a message that a restart is required to complete the installation and asks the user if they want to restart the computer now 7 Click OK See also Creating a Command Line To Apply to an Installation on page 230 Applying Logging Options to an Installation Not available in a transform Command lines cannot be applied to a transform You can use a command lin...

Page 234: ...fatal warnings a Start up of actions Logs actions as they are started r Action specific records u User requests c Initial UI parameters Logs the initial user interface parameters m Out of memory or fatal exit information o Out of disk space messages p Terminal properties e All error messages 5 To set logging options for Windows Installer 3 0 or later mark log log all information in the Windows Ins...

Page 235: ...b of the Command Line Details dialog box is set to Advertised 2 Complete the dialog box m Advertise to all users of machine u Advertise to the current user t Applies transform to advertised package Add a transform to the advertised installation In the field below the check box specify the transform file to include in the installation 3 Click OK See also Creating a Command Line To Apply to an Insta...

Page 236: ...ge 3 Click OK See also Creating a Command Line To Apply to an Installation on page 230 Changing Public Properties in an Installation Not available in a transform Command lines cannot be applied to a transform For information on public properties see Public Properties in the Windows Installer SDK Help To change public properties in an installation 1 Click the Properties tab on the Command Line Deta...

Page 237: ... See also Creating a Command Line To Apply to an Installation on page 230 Applying or Removing Patches With a Command Line Not available in a transform Command lines cannot be applied to a transform You can use a command line to update an installation by applying or removing patches For information on patches see PATCH Property and MSIPATCHREMOVE Property in the Windows Installer SDK Help Prior to...

Page 238: ...or WFWI EXE You can invoke Windows Installer Editor WfWI exe with command line options and pass it the name of your project file WSI or WSM as a parameter WFWI exe command lines let you compile an installation or merge module while setting options that have to do with the compile You can also set the default value of Windows Installer properties within the installation Use the following syntax pat...

Page 239: ... 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 Do not enter any spaces in the name value construction unless they are enclosed in double quotes o path Specifies the compiled output file Y...

Page 240: ...key pair files This method requires a credentials file SPC or CER and a private key file PVK This method is supported by the signcode exe tool For details search for Signcode in the MSDN Library msdn microsoft com library z Personal Information Exchange file This method requires a Personal Information Exchange file PFX which is a container file for the public private key information This method is...

Page 241: ...ompted for the password during compile Signcode exe with public private key pair files Mark this to use signcode exe and then specify the credentials file SPC or CER that contains your Digital ID and your private key file PVK z Digital Signature for Specify which output files should be digitally signed If you select a type of output file that is not selected on the Build Options page this drop dow...

Page 242: ... entered on the Product Details page because that information is included in the package definition file Create PDF File SMS 1 2 or earlier Mark this to create a package definition file of file type PDF In Version enter the SMS version Create SMS File SMS 2 0 or later Mark this to create a package definition file of file type SMS In Version enter the SMS version You can also import an existing Mic...

Page 243: ...ating a NET Installation Without the NET Framework on page 243 Setting a Requirement on the System Requirements Page on page 165 for information on setting the required NET Framework version Creating a NET Installation Without the NET Framework Windows Installer 2 0 or later only You can build an installation for a NET application even if you do not have the NET Framework installed on your compute...

Page 244: ... This typically is a development computer b For each NET assembly run the Assembly Registration tool regasm from the Visual Studio NET command prompt Run regasm with the argument regfile and specify a file name Example regasm AssemblyFileName regfile RegFileName reg This command generates a REG file containing the registry entries you need to allow the NET assembly to be called as a COM component ...

Page 245: ...e the File Related Installation Expert Pages on page 107 Files page Web Files page You can create directories and add files to them You can create Web folders virtual directories and Web sites and add files to them You can set NTFS based NT file system permissions on directories You can set Web based security on directories It shows all directories and files that will be installed including Web it...

Page 246: ...ere such as in a Web config file or on the SQL Server Scripts page See About the SQL Connection Dialog on page 426 ASPNET properties The default ASP NET users that are set by NET installations are put into Windows Installer properties ASPNET_USER ASPNET1 0_USER and ASPNET1 1_USER An ASP account that is created by 2 0 or later versions of NET populate the ASPNET_USER property You can use these for ...

Page 247: ...urrent 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 3 If the Web installation requires a Web server restart mark Restart IIS service during installation This check box does not appear when All Features is selected above 4 In the lower left list box select a parent node 5 Click New and sele...

Page 248: ...te the remaining tabs on the details dialog box These tabs correspond to options on the properties dialog box in IIS version 5 0 Use them to specify which options are user configurable at run time Use the IIS help for information about these tabs See About the Web Site Details Dialog on page 255 12 Click OK on the details dialog box Note Clicking OK on the details dialog box regenerates the Web di...

Page 249: ...d 3 If the Web installation requires a Web server restart mark Restart IIS service during installation This check box does not appear when All Features is selected above 4 In the lower left list box select a parent node 5 Click New and select New Virtual Directory The New Virtual Directory dialog box appears 6 Complete the dialog box Alias Enter an alias for the directory This typically appears in...

Page 250: ...the installation options that will be available to the end user at run time do one of the following If this is a top level virtual directory click the Web Site UI tab See Setting Installation Options for a Web Installation on page 252 If this is a child virtual directory click the Virtual Directory UI tab See Setting Installation Options for a Child Virtual Directory on page 253 11 Complete the re...

Page 251: ... you cannot delete a physical directory that is linked to a virtual directory To change a virtual directory to a Web site z On the Web Files page in the lower left list box right click a top level virtual directory and select Change to Web Site You cannot change a child virtual directory Any Web dialog boxes in this installation are regenerated Settings on the details dialog box that do not apply ...

Page 252: ... 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 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 ...

Page 253: ...This applies only if the New Web Site option above is marked and the installation is installed to an operating system whose IIS version does not support creation of a new Web site This option ensures that end users can install to a virtual directory even if you did not mark it above Otherwise the installation will fail because it is trying to force a Web site to be created when the IIS version dis...

Page 254: ...rs 3 Click the Virtual Directory UI tab 4 To display installation dialog boxes to the end user at run time mark Display Run Time UI This adds Web dialog boxes to the installation When you mark this check box the remaining options on the tab are enabled Note If the UI is unavailable for the parent Web site then Web dialog boxes are not generated for this child virtual directory Note If the current ...

Page 255: ...ual directory See Creating a Web Site on page 247 or Creating a Virtual Directory on page 249 Web Site UI Web sites and top level virtual directories Lets you specify the installation options that will be available to the end user at run time See Setting Installation Options for a Web Installation on page 252 Virtual Directory UI Child virtual directories only Lets you specify the installation opt...

Page 256: ...ation options they want When the end user runs the installation with another special command line the Web installation settings are obtained from the XML file The XML file can be created and used during the initial installation only Using the command lines during a reinstall or uninstall does not work Instead the MSI runs as it normally would for the reinstall or uninstall About the Web settings X...

Page 257: ...le xml is the full path to the edited XML file The installation uses information in the XML file to configure the Web settings Web dialog boxes do not appear during installation Configuring a Microsoft SQL Server During Installation Use the SQL Server Scripts page to create or configure Microsoft SQL Server databases You might use this page if the application you are installing is a database appli...

Page 258: ... Down For information on setting the required SQL Server version see Setting a Requirement on the System Requirements Page on page 165 Tips for Using the SQL Server Scripts Page z Add the SQL Connection dialog box to an installation to create a valid connection string for a SQL Server located anywhere on the network of the destination computer See About the SQL Connection Dialog on page 426 z Unin...

Page 259: ... property is populated with a valid connection string when the end user completes the SQL Connection dialog box and clicks Next See About the SQL Connection Dialog on page 426 If your application connects to more than one SQL Server during installation add a SQL Connection dialog box for each additional server edit the additional dialog boxes and use a different property for each connection string...

Page 260: ... blank tables from the database This does not import the data mark Import Data Rows to import data You can import all tables only certain tables or all tables except certain tables For the last two options enter a list of table names delimited by commas Refresh when installation is compiled Mark this to have the SQL statements regenerated from the actual database when you compile this installation...

Page 261: ...me The answer is stored in a property which you could then use in this field replacing the current database name 4 Click OK Note Keep in mind that any matching string is replaced so only replace strings you know to be unique Example If you replace Red with Blue a PreparedStatement object in a SQL statement becomes PrepaBlueStatement and breaks the code See also Tips for Using the SQL Server Script...

Page 262: ... 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 3 In the upper left list box navigate to and select the code group that contains the security settings 4 Click Add Code Group to add the code group to the installation The code group appears in bold type in ...

Page 263: ...buted Component Object Model installed MTS or COM packages generally consist of server software and client software When you add an MTS or COM package to an installation you must designate it as either a server installation or a client installation You cannot add both the server and client installation for a given MTS or COM application to the same feature If you need to install both the server an...

Page 264: ...hat the server name is placed into a property dynamically during the installation wizard dialog boxes you can enter that property name here surrounded by brackets Server Installs the server portion of the MTS COM application Refresh Update Application on Compile Mark this to refresh the MTS COM application from your computer s Component Services control panel each time you compile the installation...

Page 265: ...Windows Installer Editor Reference 265 Advanced Installations MTS COM Page on page 263 ...

Page 266: ...ated languages in addition to English You can add any language that is not already pre translated The Languages page displays pre translated languages Pre translated languages contain translations for all default text in the installation s user interface elements Examples error messages disk prompts text and controls on dialog boxes descriptions or names for launch conditions features or shortcuts...

Page 267: ... mark a language check box then clear it the translation remains in the installation but no MSI or MST is created in that language during compile This lets you omit a language from the compile without losing any translated text strings This is especially important when you have added custom translated text Additional translation options You can create a multiple language installation that installs...

Page 268: ...e regenerates the Web dialog boxes in the installation To create a translated MSI 1 Select Installation Expert Languages page 2 From Current Release select a release 3 Mark the check box next to each language to translate this installation to Some MSI files might not have languages listed on the Languages page In that case you must use the WSI that compiled the MSI Note If this installation was cr...

Page 269: ...elected languages You can share these language settings with other releases in this installation See Sharing Language Settings Between Releases on page 270 Creating a Language Transform You can create one or more language transforms that change the language in the dialog boxes that appear during installation The compile creates an MSI for the default language and a separate MST for each language t...

Page 270: ...are these language settings with other releases in this installation See Sharing Language Settings Between Releases on page 270 Sharing Language Settings Between Releases You can translate several releases into the same language or languages with the same settings you define in the Language Details dialog box To do this you share language settings between releases After you initially share languag...

Page 271: ...recommended if you have added or changed text strings in a language because the customized strings are lost Note If the installation contains Web resources adding or changing a language regenerates the Web dialog boxes in the installation To disable a language in an installation 1 Select Installation Expert Languages page and clear the check box next to the language to disable The translated text ...

Page 272: ...uage Then you can translate installations into the new language Example Suppose you want to translate an installation into Swiss French However that language is not one of the pre translated languages You can add Swiss French to the Languages page and add Swiss French text strings to the installation Then you can compile an installation that displays Swiss French on all dialog boxes and error mess...

Page 273: ... can send to a translator z Import translated text strings from a file to the installation To use the New Language wizard 1 Select Installation Expert Languages page 2 Click Add at the right of the page The Specify Language Details page appears 3 Complete the page The information you need to enter depends on what you plan to do for details see the topics listed in the next step Then click Next The...

Page 274: ... language is always compiled to an MSI whose name is created by adding an underscore and the language name to the installation file name Example If the new language is named NewLanguage and the installation file is named Sample the translated installation is compiled to Sample_NewLanguage msi Codepage A code page ensures that the correct character set is used for the language you are adding In mos...

Page 275: ...on Importing All Text Strings After Translation Typically while adding a new language to the Languages page you export the text strings from the installation to a file and send them to a translator After the text strings for the new language are translated you must import them into the installation In this procedure you use the Language Strings dialog box to import translated text strings This pro...

Page 276: ...rings at the same time you define a new language on the Languages page Do this only when you already have a file containing translated text strings for the language you are adding Example If you added the language Swiss French to a previous installation and now you want to use it in a new installation you can use the New Language wizard to import Swiss French translations to the new installation N...

Page 277: ...page from the drop down list See Setting the Code Page of a Database in the Windows Installer SDK Help Language ID Specify only one language ID for the language you are adding Windows Installer supports only one language in this field Language IDs are standardized See Language IDs on page 288 or visit msdn microsoft com Default release language WSI files only Mark this to use this language as the ...

Page 278: ...uire more space than the default language Example Most languages require more space than English Therefore you might need to resize dialog box controls to accommodate text expansion See Resizing Dialog Controls After Translation on page 283 Note dialog box controls are shared across all languages which means that a control you add to one language is added to all other languages as well Similarly a...

Page 279: ... used in the installation To export selected text strings 1 Select Installation Expert Languages page 2 From Current Release select a release 3 Click Strings at the right of the page The Language Strings dialog box appears 4 From Language select the language to export text strings for The drop down list shows those languages that have translated text strings in this installation they are indicated...

Page 280: ...another language you must export the changed text strings and have them translated See Exporting Selected Text Strings to a File on page 279 When you receive translated text strings from the translator you import them into the installation so that those text strings appear in the correct language in the compiled installation To import selected text strings 1 Select Installation Expert Languages pa...

Page 281: ...e changes yourself for each language Example Suppose you have translated an installation to German Then you add a Cancel button to an existing dialog box You already know the German translation for Cancel because other dialog boxes contain a Cancel button In this case you don t need to export translate and import the changed string you can change the text for the new Cancel button You have the fol...

Page 282: ...in Installation Expert and Setup Editor You can change translated text for any of the selected languages in certain areas of Installation Expert and Setup Editor Do this when you have only a small amount of text to be changed and you know the translation for that text If you need to translate larger amounts of text export the text strings to a file See Translating Text Strings by Exporting to a Fi...

Page 283: ...ialog Controls on page 411 Note dialog box controls are shared across all languages which means that a control you add to one language is added to all other languages as well Similarly a control you delete in one language is deleted in all other languages However you can add conditions to show or hide certain controls in certain languages Table Columns you can translate and edit ActionText Descrip...

Page 284: ...alog boxes selected This means you cannot add files or select dialog boxes for a certain language in this manner Any file you add in Installation Expert or any dialog box you select in the Dialogs tab in one language is added and selected for all languages in the overall installation To add files or select dialog boxes for a certain language only use features and the Release Settings page See Cust...

Page 285: ...allation File dialog box appears and the file you just created appears in the Custom Templates category If the New Installation File dialog box does not contain the new template check to make sure you saved the installation as an MSI in the Templates directory 2 Select the template you just created and click OK 3 Check that the default language has been changed The Default language should be the o...

Page 286: ...tton at the right of the Installation Expert Languages page displays all translated and default text strings side by side Use the Language Strings dialog box to translate strings and keep track of changed text strings Columns on the Language Strings dialog box See also Exporting Selected Text Strings to a File on page 279 Importing All Text Strings After Translation on page 275 Importing Selected ...

Page 287: ...ain z When you imported you chose to compare current strings with original strings and you have made changes to the strings in the interim In this case export changed text strings again Translate the strings that have changed then import them What Pre Translated Languages Are Available Pre translated text strings let you instantly translate an installation into the following languages Chinese PRC ...

Page 288: ...ion dialog boxes Example If you create an installation with the language ID for Greek that installation only runs on a computer with Greek fonts Language IDs and Locale Codes for Common Languages For additional language codes search for locale ID chart in the MSDN Library msdn microsoft com library Language Sublanguage Language ID decimal notation ANSI codepage Language neutral 0 Process or User D...

Page 289: ... Italian Swiss 2064 1252 Norwegian Norwegian Bokmal 1044 1252 Norwegian Norwegian Nynorsk 2068 1252 Polish 1045 1250 Portuguese Portuguese Brazilian 1046 1252 Portuguese Portuguese Standard 2070 1252 Romanian 1048 1250 Russian 1049 1251 Slovak 1051 1250 Spanish Mexican 2058 1252 Spanish Spain Modern Sort 3082 1252 Spanish Spain Standard Traditional Sort 1034 1252 Swedish Swedish 1053 1252 Thai 105...

Page 290: ...e along with your application You can place a shortcut to this application in the end user s Startup group so that it checks for updates when the destination computer is started or an end user logs on to Windows WiseUpdate Client checks for newer versions of your application at the Web location you specified If it finds a new installation it downloads and runs it WiseUpdate by itself does not depl...

Page 291: ...e 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 ...

Page 292: ...pplication directory A shortcut to WiseUpdate client is placed on the destination computer Destination Computer 3 Upload to the Web server WiseUpdate update file Installation files and Readme Your Web Server FTP HTTP z Contains the WiseUpdate update file that stores The new version number URLs to the new installation files z Contains the new installation files and Readme Phase 3 When you update yo...

Page 293: ...ested and ready for distribution upload the installation files the Readme file and the update file to a Web server See Uploading WiseUpdate Files With an FTP Client on page 297 Warning If you do not upload the files before deploying your application to end users an error occurs when they check for upgrades 5 Test the WiseUpdate process See Testing WiseUpdate on page 297 6 Distribute your applicati...

Page 294: ...s don t require user names and passwords This is used for basic HTTP authentication Host Password If necessary enter the password that s required to connect to the host address Enter this only if the Host Username is entered above Host Directory Enter the directory on the Web server where you plan to store updated installation files including the WiseUpdate update file To put the files in the root...

Page 295: ...puter is started or the end user logs on to Windows the shortcut runs WiseUpdate Client according to the Check Interval days setting described above If you do not mark this check box then WiseUpdate Client will never run on the end user s computer unless you code your application to run it Only display UI if there is an update to install Mark this to run the update check silently and prompt the us...

Page 296: ...age That merge module contains a WiseScript named WiseUpdt exe which contains the WiseUpdate dialog boxes To customize the WiseUpdate dialog boxes 1 In Windows Explorer go to the following directory Program Files Symantec Wise Package Studio Windows Installer Editor WiseUpdt 2 Right click WiseUpdt wse select Properties uncheck Read only and click OK 3 In WiseScript Editor or WiseScript Package Edi...

Page 297: ...iles and Readme at any Web location provided their URLs are recorded correctly in the WiseUpdate update file When you enter the URLs in the FTP client make sure they match the case of the actual path on the Web server Some HTTP servers are case sensitive and display errors if the case does not match exactly See also Using WiseUpdate in an Installation on page 293 Testing WiseUpdate After you confi...

Page 298: ...ient displays the Readme file and then displays an option to download and run the installation 3 You can download and run the installation but installation will fail unless the version on the server is an upgrade or patch that updates the currently installed version In a real life scenario when you put updates on the server they must be configured as upgrades or patches 4 To restore the correct ve...

Page 299: ...he WiseUpdate page mark the Only display UI if there is an update to install check box z On the destination computer WiseUpdate Client silently checks the time elapsed since it last ran If the appropriate amount of time has elapsed WiseUpdate Client silently checks for updates If an update is available WiseUpdate prompts the end user to download the update See also WiseUpdate WiseUpdate Tips Can W...

Page 300: ... in the registry of the destination computer which WiseUpdate Client checks against the update file on the FTP server It also sets the version that is stored in the WiseUpdate update file Typically both fields should have the same version number but you can change the versions to force upgrades See also WiseUpdate Troubleshooting WiseUpdate Troubleshooting WiseUpdate If you encounter problems with...

Page 301: ... the WiseUpdate upgrade will fail unless you configured the updated package as an upgrade using the Upgrades page or a patch using Patch Creation z 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 See also WiseUpdate Tips WiseUpdate ...

Page 302: ...d the UpgradeSync tool are covered in the Wise Package Studio Help For information on upgrading see the following topics in the Windows Installer SDK Help Patching and Upgrades Preparing an Application for Future Major Upgrades Small Updates Minor Upgrades Major Upgrades UpgradeCode Property Patching Changing the Product Code Preparing for Software Updates Preparing for updates starts when you shi...

Page 303: ...s Installer technology z Are small containing only the changes between the original and updated applications z Are created with Patch Creation available in Wise Package Studio See Patch Creation in the Wise Package Studio Help z Allow little flexibility in customizing an update Example You cannot change feature states leave certain features installed or perform custom actions based on the version ...

Page 304: ... to change the product code and the product version Windows Installer uses the product code and product version to determine how to handle an upgrade Also your organization s support department might need to differentiate updates based on product version You change the product code and product version on the Product Details page For information on when to change them see Incrementing the Product V...

Page 305: ...a Windows Installer patch file MSP that updates installed versions of a Windows Installer based application A patch file can update one or several previous versions Unlike full installations a patch installation contains only the information necessary to update an installed version of the application See the following topics in the Wise Package Studio Help Creating a Patch File Specifying Previous...

Page 306: ...the sole factor for determining whether the upgrade takes place You can see the upgrade code under the Properties icon in Setup Editor Product tab It is in GUID format Creating an Upgrade To create an upgrade 1 Select Installation Expert Upgrades page 2 Click Add at the right of the page and specify the MSI or WSI for the previous version of the application If you see a warning to update the curre...

Page 307: ...ins Feature1 Feature2 and Feature4 Feature3 has been dropped When you upgrade 1 0 users you enter Feature1 Feature2 in Features to remove When the upgrade occurs Windows Installer first removes Feature1 and Feature2 from the existing installation then installs Feature1 Feature2 and Feature4 Therefore users of 1 0 still have Feature3 Action Property Specify a property to run a particular custom act...

Page 308: ...SCCS All SCCS applications have similar functionality tracking who is working on what file allowing for retrieval of previous versions backing out of changes adding and removing files from the SCCS and recording the history of files They might also provide functionality for viewing the differences between versions of files Windows Installer Editor integrates with leading SCCS applications to let y...

Page 309: ...llation is in the same directory as the installation file z Source control tasks that you perform on the current installation file are also performed on its XML copy This ensures that both versions remain synchronized The XML copy does not appear on the SCCS dialog boxes z When you show history the XML file is used instead of the installation file z When you compare differences the XML file is use...

Page 310: ... view the Type and File Path columns The Copy Files to New Location dialog box appears if any files are not in the directory tree of the installation file Because all files that you add to source control must be in the same directory tree as the installation file this dialog box prompts you to move the files to a new directory under the installation file directory 4 Mark the check boxes of the fil...

Page 311: ...stallation file To change the new location click Change Dir and select another directory within the same directory tree The New Location column indicates the directory to which files will be copied Scroll right to see the New Location column If you later edit a file you must edit the file that is copied to the new location because that is the file that is compiled into the installation Note To avo...

Page 312: ...urce Control menu Check Out The Check Out dialog box appears listing all files that have previously been checked in Note When you add an installation to source control all files except the installation file WSI or MSI are checked in so they might appear in this dialog box even if you previously did not check them in 2 Mark the check boxes of the files to check out from source control and click OK ...

Page 313: ...elect Source Control menu Undo Check Out The Undo Check Out dialog box appears listing all files that have been checked out Note When you add a 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 2 Mark the check boxes of the files for which to undo check out This backs ou...

Page 314: ...SCCS Note If you are using Microsoft Visual SourceSafe the Difference Options dialog box appears You might need to select the SourceSafe folder and the Windows folder to compare in the Compare and To fields Then click the Project button for differences To perform a compare using Visual MSIDiff instead use the Compare to Latest menu command It performs a table by table row by row comparison of the ...

Page 315: ...n is used to find the file and compile it into the MSI or EXE The Path Variables page lets you define variables to replace commonly used source paths However it has no effect on files that are already part of the installation For these files see Source Paths in an Installation on page 318 If you add a file and its source path matches one of the paths defined on the Path Variables page the variable...

Page 316: ...lear the check box in the Replace column Turning substitution off does not remove the path variable from paths for files added previously it only affects paths for files added subsequently See also About Path Variables on page 315 Creating a User Defined Path Variable You can create a user defined path variable that is set to a directory on your computer To create a user defined path variable 1 Se...

Page 317: ...ns This variable is inserted into the paths of files that are pulled from the directory that appears in Current Value Current Value Read only This displays the current value of the environment variable you select below Env Variable This list contains the environment variables that are currently defined on your computer Select an environment variable that contains a directory path Replace When Matc...

Page 318: ...e 315 Source Paths in an Installation Paths to files in an installation can break if you z Move files that are part of the installation to a new directory on your computer or network z Move the installation file itself from your computer to another computer z Use relative paths and then move the installation file z Rename a directory An installation can also contain broken paths if it was created ...

Page 319: ...n either double click on each file and define a path or convert the MSI to a WSI by using MSI to WSI Conversion See also Changing Source Directories on page 319 Converting to Relative Source File Paths on page 320 Converting to UNC Based Source File Paths on page 321 Changing the Source Directory Dynamically During Compile on page 321 Changing Source Directories When you change source directories ...

Page 320: ...nsure that the paths are always valid even though the directory structure changes A relative path uses in the path to indicate the current directory and it uses to indicate one directory up All paths are relative to where the WSI or MSI file is located Example If the path to the WSI is C Development Application wsi and you add the file C Program Files Application ini the relative path of Applicati...

Page 321: ... button is only available if at least one of the paths in the installation is from a mapped network drive The Change Source Directories to column displays the new paths Only the source paths that are from mapped drives are changed to UNC 3 To convert all directories you add subsequently to UNC paths select UNC Paths from Path Type 4 Click OK A one time conversion of all the network paths in the in...

Page 322: ...rty surrounded by square brackets The property name is case sensitive Example SourceFiles You can add other directories to the end of the property name to create other locations Example SourceFiles Libraries Visual Basic SourceFiles Libraries C Change Sub Directories Mark this to change the subdirectories of the current directory 5 Click OK The Change Source Directories to column displays the prop...

Page 323: ... of an application at run time The purpose of merge modules is to let you add self contained software modules to multiple installations See Merge Modules in the Windows Installer SDK Help Example Suppose you have five applications that require a specifically configured version of the Visual Basic runtime You could create a merge module that installs and configures the Visual Basic runtime Then you...

Page 324: ...itmap for a dialog box or specify how a custom action is run When you add a configurable merge module to an installation an additional dialog box appears on which you specify values for the configurable items You also can create configurable merge modules Configurable merge modules are supported only by Windows Installer 2 0 or later See Configurable Merge Modules in the Windows Installer SDK Help...

Page 325: ...here is no Module Details page you are not in a merge module file 2 Complete the page Module Name Enter a name that Windows Installer and Windows Installer Editor can use internally to identify the merge module Version Enter the version of the module Windows Installer and Windows Installer Editor use this number to check versions of dependency and exclusion merge modules You can use the format xxx...

Page 326: ...e different components of software When you compile an installation that contains a merge module that has a dependency both the original merge module and all its dependencies are merged into the installation Example Suppose you have a merge module that consists of a library of database drivers but for those drivers to work MDAC must also be installed You designate the MDAC merge module as a depend...

Page 327: ...d Pages in Merge Modules on page 324 Setting Exclusions for a Merge Module Available in merge module files WSM MSM only The Exclusions page lets you add edit and remove the exclusions for a merge module Exclusions are a way of preventing two incompatible merge modules from being merged into the same installation You can set merge modules to be exclusions of each other Example Suppose you have two ...

Page 328: ... module are excluded 4 Click OK The merge module is added to the Exclusions page Note The information on the Exclusion Module Details dialog box fills the ModuleExclusion table which you can see in Setup Editor Tables tab See ModuleExclusion Table in the Windows Installer SDK Help See also Available Tabs and Pages in Merge Modules on page 324 Creating a Merge Module As a New Installation You can c...

Page 329: ...e module Dependencies are other merge modules that must be included with this merge module and exclusions are other merge modules that cannot be included with this merge module See Setting Dependencies for a Merge Module on page 326 and Setting Exclusions for a Merge Module on page 327 4 Configure the summary information for the merge module See General Information Page on page 89 5 Configure the ...

Page 330: ...d exclusion merge modules You can use the format xxxxx xxxxx xxxxx xxxxx where x is a digit See Version in the Windows Installer SDK Help Language Enter the language ID for the merge module English is 1033 Language neutral meaning the merge module works with all languages is 0 See Language IDs on page 288 4 Click Next The Merge Module Components dialog box appears 5 From Export from Feature select...

Page 331: ...bstitutions page If there is no Substitutions page you are not in a merge module file 2 Click Add at the right of the page The Module Substitution dialog box appears 3 From Table select the table that contains the item to be configured when the merge module is added to an installation 4 In the table click a table cell to select the substitution item 5 Click Add and select from the button menu Conf...

Page 332: ...tallation author can enter any text to replace the default value Example Use this when you allow a file name to be modified See Example Configuring an Item for a Merge Module on page 336 Formatted Text The installation author can enter any text in Windows Installer formatted text format to replace the default value Example Use this when you allow a registry value to be modified RTF Text The instal...

Page 333: ... option See Specifying a Bitfield for Substitution on page 334 and Bitfield Format Types in the Windows Installer SDK Help Integer The installation author can enter any integer to replace the default value Example Use this to make the size of a control or a dialog box configurable See Integer Format Types in the Windows Installer SDK Help Key Into a Table The installation author can select a key i...

Page 334: ...e steps to add additional values 8 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 Items list box 9 Click OK Specifying a Bitfield for Substitution When you add a configuration item to a configurable merge module as a bitfield drop down list you must specify values and the text ...

Page 335: ... OK Specifying a Key for Substitution When you add a configuration item to a configurable merge module as a key into a table you must specify a table for the key to make configurable When adding the merge module to an installation the installation author selects from a list that appears For information on this format type see Key Format Types in the Windows Installer SDK Help To specify a key for ...

Page 336: ... for a merge module 1 Select Installation Expert Substitutions page 2 Click Add at the right of the page The Module Substitution dialog box appears 3 From Table select File 4 In the FileName column click the cell that contains the ReleaseNotes file name It should look something like this RELEAS 1 TXT ReleaseNotes txt 5 Click Add and select Configurable Item The Configuration Item Details dialog bo...

Page 337: ...erge module to an installation the configuration items will appear in the order they are listed here To rearrange the items click move up and move down When you add this configurable merge module to an installation the Merge Module Configuration dialog box displays the following z In the list box at the top Short file name and Long file name z Description Choose whether to use a short or a long fi...

Page 338: ...n are installed only if the feature is installed and the condition is true 3 Click Add at the right of the Merge Modules page The Select Merge Module dialog box appears and lists available merge modules in the directories specified in Wise Options See Setting Merge Module Directories on page 43 Professional Edition The Select Merge Module dialog box can also include merge modules that are in the S...

Page 339: ...ng is configurable the Merge Module Features dialog box contains a Next button Click Next to continue The Merge Module Configuration dialog box appears 14 In the list box select the name of the item to configure If the Value drop down list appears select a value If a text field appears its label indicates the type of data you can enter See Editing Merge Module Details on page 340 15 If you re addi...

Page 340: ...le features a list of features appears To add this merge module to other features mark their check boxes If multiple features in the installation depend on this merge module you should add it to all of them Only one copy of the merge module is installed on the destination computer regardless of how many features include it 5 If the merge module is configurable the Merge Module Details dialog box h...

Page 341: ...uld be unwieldy to install all options for all groups of end users you can create one base MSI along with several transforms each of which modifies the MSI database at installation to customize it for different groups Example Suppose you are a system administrator who s deploying a new version of workgroup software You can use transforms to customize the installation for the needs of different dep...

Page 342: ... changes the application name changes what registry entries are installed and changes what system requirements are necessary to run the installation Because these changes affect multiple areas of the product you use this method to create the transform To create a transform based on an existing MSI 1 Select File menu New The New Installation File dialog box appears From the Categories list select O...

Page 343: ...you can leave the default settings in this section Add existing row Suppress errors from occurring if the transform tries to add a row that already exists in the base MSI Delete missing row Suppress errors from occurring if the transform tries to remove a row that doesn t exist in the base MSI Add existing table Suppress errors from occurring if the transform tries to add a table that already exis...

Page 344: ...al transform is based on schema msi a blank installation database instead of a specific MSI You do not create or assign features in a universal transform Instead everything you add to a universal transform is added to a top level hidden feature You cannot make complex changes to installations with a universal transform example adding files Therefore only a limited set of Installation Expert pages ...

Page 345: ...mmand line type the following msiexec i Application msi TRANSFORMS TransformName mst where Application msi is the name of the MSI and TransformName mst is the name of the transform Because it is not practical to have end users type a line on the command line to run a transform we suggest you use one the following methods to run the transform z Write a batch file that runs the MSI along with the ap...

Page 346: ...and one instance to be installed per user To install multiple instances of a product without creating a separate installation for each instance you can create instance transforms to change the product code for each instance An instance transform changes the product code of an installation or patch and can isolate its data so that multiple instances of the application can be installed Example A Web...

Page 347: ...rms that is created The transform is saved in the same directory as the base installation file Change install directory to Instance Property Value Mark this to change the value of the directory property INSTALLDIR to the value in the Instance Property Value field above INSTALLDIR is the main installation directory for the application example Program Files Application This helps you isolate files f...

Page 348: ...her types of transforms an instance transform must be applied to a base MSI or patch during installation using a command line option it cannot be applied beforehand On the command line type the following msiexec i Application msi TRANSFORMS Instance mst MSINEWINSTANCE 1 qb where Application msi is the name of the MSI and Instance mst is the name of the transform For additional examples see Install...

Page 349: ... z By selecting its name from the Tools menu z By clicking its icon on the Tools toolbar To display the Tools toolbar select View menu Tools z By clicking its icon on the New Installation File dialog box which puts the results from the tool into a new installation file z By running it from the Wise Package Studio Workbench Windows Installer Editor Tools z ApplicationWatch See ApplicationWatch in t...

Page 350: ...he interface for working with packages in the Software Manager database See About Software Manager in the Software Manager Help z UpgradeSync See UpgradeSync in the Wise Package Studio Help z Visual MSIDiff See Comparing Windows Installer Files on page 75 ApplicationWatch ApplicationWatch monitors your computer as you execute an application or run an installation and determines which DLL OCX and E...

Page 351: ...y support Microsoft SMS files Converting an SMS Installer or WiseScript Installation When you convert an SMS or WiseScript installation its contents are added to the Windows Installer installation that is currently open To convert an SMS Installer or WiseScript installation 1 Before you convert a script open it and delete all Display Billboard Display Graphic and Add Icon script actions 2 In Windo...

Page 352: ...ile into an installation file You specify information about the project and the tool extracts information such as source file paths and integrates it into a new or existing installation See Importing an Installation From a Visual Studio Project on page 353 z These tools only support projects of these types Microsoft Visual Basic 5 Microsoft Visual Basic 6 Microsoft Visual Basic NET version 2003 or...

Page 353: ...t development environment a Select the configuration to import b To be prompted at the end of this wizard to select which assembly dependencies get added to which feature clear Automatically add Assembly Dependencies without prompting Otherwise dependencies are added silently Visual Basic 5 or 6 project The Select Visual Basic Directory dialog box appears Specify the directory on your computer whe...

Page 354: ...the scan and will be added to the installation 7 To add or remove files in the installation click Add or Delete and then click Next The Application Installation Information page appears 8 Complete the dialog box Name Enter a name for the installation This overwrites the Name field on the Product Details page If you don t want to overwrite the current installation name leave this blank Installation...

Page 355: ...embly is rescanned or if you add a new assembly that has the same dependency Use the Manage Assembly Exclusions tool to remove dependencies from the exclusion list so that they can appear in future assembly scans To remove dependencies from the project dependency exclusion list 1 Open the installation 2 On the Tools menu click Manage Assembly Exclusions In Visual Studio Project menu Manage Assembl...

Page 356: ...I file Alternately instead of extracting files from the MSI and creating the new WSI to point to them you can redefine source paths so they point to source files already on your computer In this case the files from the MSI are not extracted but are substituted by files on your computer A WSI file records the files and merge modules that should be compiled into the MSI by storing source paths To se...

Page 357: ...w WSI The new WSI is created at the location you specified the current MSI is closed and the new WSI is opened Compile and test this installation thoroughly before deploying Specifying Merge Module Source Directories During MSI to WSI Conversion merge modules are extracted from the MSI to the default source directory specified on the Welcome page The source files are pulled from the source directo...

Page 358: ...rge module to replace the selected merge module You must specify a merge module whose GUID matches the GUID of the original merge module otherwise an error occurs The Source column on the Merge Module Sources page changes to Local to indicate that a local merge module will be used instead of the merge module in the MSI 4 Complete the MSI to WSI Conversion wizard To replace merge modules with merge...

Page 359: ... will be extracted to this directory instead of the default source directory 4 Complete the MSI to WSI Conversion wizard To replace one file with a file on your computer 1 On the File Sources page select a file to replace 2 Click Change Path and select Replace With Local File The Choose Replacement File dialog box appears 3 Specify a file to replace the selected file The Source column on the File ...

Page 360: ...Only one file gets installed depending on the operating system the installation runs on In an installation with duplicate files MSI to WSI Conversion cannot change the paths to point to your local computer because your local computer only contains one copy of the file For these files either leave them set to the default which will extract all copies of the file from the MSI or individually replace...

Page 361: ...ture captures references to temporary files that are deleted after the installation is finished To remove files with missing or broken source paths 1 Access the Remove Missing Files tool in either of the following ways Perform a local compile of an installation that contains files with missing or broken source paths Select Tools menu Remove Missing Files The Welcome page appears 2 Click Next The i...

Page 362: ...e you can compile successfully Do either of the following z Select Installation Expert Files page a In the lower left list box navigate to the directory that contains the file b In the lower right list box double click the file to display the File Details dialog box c On the General tab enter the correct path in Source Pathname z Use the Convert Source Paths tool See Source Paths in an Installatio...

Page 363: ...ion Expert However there are certain advanced tasks that you can perform in Setup Editor only z Edit the text on installation dialog boxes z Create components and assign them to features z Build complex conditions that must be met for installation to occur z Select dialog boxes to appear during maintenance installations uninstalls z Edit the raw table data of the Windows Installer database Note Th...

Page 364: ...eatures Tab on page 367 Dialogs Select and customize dialog boxes the installation uses See Using the Dialogs Tab on page 406 Tables Edit tables in the MSI database You can access most of the data in these tables through Installation Expert pages or other tabs of Setup Editor Deleting adding or editing table data directly is not recommended unless you are an experienced Windows Installer developer...

Page 365: ...mary information by right clicking the compiled MSI or EXE in Windows Explorer and selecting Properties See Specifying Summary Information on page 366 Properties Use the Properties icon to add edit and delete properties in an installation Properties are variables that are initialized by the installation and are used by Windows Installer The property values can change during run time Some of the pr...

Page 366: ...ears in the upper right pane and you can edit an item by changing its value You cannot create or delete summary items because they are defined by Windows Installer The following summary items are named differently in the Windows Installer SDK Help The Template Summary determines the target platform of the compiled MSI See How to Specify the Target Platform on page 63 To set the value of a summary ...

Page 367: ... in a feature click the feature s Combined icon All items appear in the upper right pane z To display all items in a feature grouped by type expand the feature s Combined icon and click the type icon z To expand or collapse a selected feature s children use the right click menu z To customize how items appear in the features tree right click in the left pane and select Customize View In the Custom...

Page 368: ... file entry See Creating Duplicate File Entries on page 371 Environment variable See Adding an Environment Variable on page 153 File association See Advertising Icon on page 370 See Adding File Associations on page 154 File See Adding Files to an Installation on page 109 INI file See Creating and Editing INI Files on page 149 ODBC source driver or translator See Adding an ODBC Item on page 160 Reg...

Page 369: ...ins the component to unassign 2 Click the Components icon All components for the feature appear in the upper right pane 3 In the upper right pane right click a component and select Unassign Components that are not assigned to any feature are not installed on the destination computer To move a component to a different feature 1 In Setup Editor Features tab expand the folder for the feature that con...

Page 370: ... view and edit AppID and ProgID information Advertisement which is a way to deploy applications in large organizations is available with Windows Installer but only for supported platforms See Advertisement and Platform Support of Advertising in the Windows Installer SDK Help To view or edit AppID or ProgID information 1 In Setup Editor on the Components or Features tab expand the Advertising icon ...

Page 371: ...ppears in the upper right pane 5 You can add permissions to the new folder See Setting Permissions for Files and Directories on page 126 See also Installation Directories on page 108 Features Tab on page 367 Creating Duplicate File Entries Duplicate files are files that must be copied to more than one location during installation According to Windows Installer rules you cannot install the same fil...

Page 372: ... feature If you do this then any future changes to the component will affect all features to which it is assigned To edit a duplicate file entry double click its name To delete it right click its name and select Delete See also Features Tab on page 367 Components Tab The Components tab lets you manipulate an installation s components It displays a tree structure that lists all files registry entri...

Page 373: ...o add z Expand the component If necessary show empty folders Right click the icon for a particular item and select New If an icon does not appear right click and use the Customize View dialog box to show the icon Items you can add on the Components tab Most of these items can also be added in Installation Expert Component See Adding and Editing a Component on page 374 Folder See Creating a Folder ...

Page 374: ...ltiple components z A shortcut is assigned to the component but the key path for the shortcut is not a file z Registry keys are created in HKEY_CURRENT_USER but the key path is not for a registry key in HKEY_CURRENT_USER See also Components Tab on page 372 Adding and Editing a Component Warning To work with items on the Components tab you should be proficient in the Windows Installer development e...

Page 375: ...e files in this component will be installed To create a new folder click New GUID Optional To replace the automatically generated GUID globally unique identifier for this component with a new one click Generate Condition Enter the condition required to install this component To always have the component installed leave this blank To enter a condition that must evaluate to true before the component...

Page 376: ...k this to increment the count of applications using DLLs in this component when installing it even if the component is already installed If a component is installed to the Global Assembly Cache you cannot increment the reference count Leave installed on uninstall Mark this to leave the component installed when its feature is uninstalled Check condition during reinstall Transitive Mark this to chec...

Page 377: ...elf Registration Information is Captured on page 133 Rescan advertising information during compile Mark this to gather advertising information from the registry for the file referenced in the Key Path field each time you compile the installation This overrides the Default to rescan advertising for new components check box in Wise Options for this component Import REG File Specify a REG file that c...

Page 378: ... that component already has a key path To reset the destination component s key path click Yes To cancel the move click No You can reset key paths manually by right clicking an item and selecting Set as Key The Move to a Different Component dialog box appears 3 Click the component to move the selected item to 4 Click OK If the component icon is colored red after you move an item to it the change y...

Page 379: ...nt The Isolated Component Details dialog box appears where you select a file for isolation from the feature that contains the component If the key path for the current component is not an EXE the drop down list shows all EXEs in the containing feature that are key paths of DLL files If the key path for the current component is an EXE the drop down list shows all files from the containing feature t...

Page 380: ...the upper right pane To edit it double click its name To delete it right click its name and select Delete See also Components Tab on page 372 Tables Tab The Tables tab lists every table in the Windows Installer database Most of this data is accessible in Installation Expert or in the other tabs of Setup Editor The Tables tab lets you edit existing table data add new data add new tables and delete ...

Page 381: ...ty Tables again z To display a table s contents click its name in the left pane The table s contents appear in the upper right pane arranged in columns by field The column width and sort order are retained when you leave the Tables tab The top heading row of the table displays field names Key fields are indicated by a key symbol By convention database columns that are external keys take the name o...

Page 382: ... table editing To create a new table 1 In Setup Editor Tables tab right click and select Create Table The Create Table dialog box appears 2 In Table Name enter the name of the new table 3 Click Add to add a field The Field Definition dialog box appears 4 Complete the dialog box Field Name Enter the name of the field Data Type Specify whether this field is a long integer short integer or string Str...

Page 383: ...click OK to add the table See also Tables Tab on page 380 Creating a New Row in a Table on page 383 Creating a New Row in a Table Warning When you add a row to a table this way additional rows are not added to related tables Be sure you understand relational databases and Windows Installer database technology before adding rows To create a new row in a table 1 In Setup Editor Tables in the left pa...

Page 384: ...or the Feature_Parent column in the Feature table lets you select a new parent for the current feature Drop down lists for columns that contain formatted data type show the properties from the Property table You can either select from the list or enter a new property To delete a row from a table In Setup Editor Tables tab in the upper right pane right click a row and select Delete To delete a tabl...

Page 385: ...an use the Task List to review the errors see Using the Task List on page 25 or you can click a red table name and use the Find Error menu item to find the row that contains the error See the following procedure To find individual validation errors in a database 1 In Setup Editor Tables tab right click and select Find Error The Find dialog box appears 2 In the Direction section mark either Up or D...

Page 386: ... to the installation We cannot provide technical support for problems arising from table editing To edit binary data 1 In Setup Editor Tables tab click the Icon table The table s data appears in the upper right pane You can change the data in the Name fields as you would in any other table 2 In the Data column click a binary field displayed as binary data and press F2 or Enter The Edit Binary Data...

Page 387: ...lation conditions are already created throughout the installation where appropriate You often use properties inside conditions Properties are named values that are any of the following z Predefined in Windows Installer Editor z Defined by Windows Installer by you in the installation file or by the end user during installation z Based on the system configuration of the destination computer See Prop...

Page 388: ... 800 x 600 in order for the installation to proceed ScreenX and ScreenY are Windows Installer properties that are set according to the screen resolution on the destination computer See ScreenX Property and ScreenY Property in the Windows Installer SDK Help Conditions for controls on dialog boxes In Setup Editor Dialogs tab you can use conditions with dialog box controls Controls are the items that...

Page 389: ...nditions to the Features page and add items to the conditions using the Current Feature drop down list at the top of Installation Expert pages then some of the components on the Components tab will have conditions set Note If you add a component condition that checks the installed state of a component or feature add the merge module CondFix msm to the installation This merge module fixes a Windows...

Page 390: ...h parentheses z Arithmetic operators and floating point numeric values are not supported For details see Conditional Statement Syntax in the Windows Installer SDK Help Examples of Conditions You can build conditions using property names environment variables and feature and component states Conditions can contain both Windows Installer properties and properties that you create A complete list of W...

Page 391: ...Features on page 100 Creating Conditions With Condition Builder Use the Condition Builder to build conditions that test the installed state of components and features and the value of properties and environment variables You can access the Condition Builder from different areas of Windows Installer Editor See Where Can You Use Conditions on page 387 Condition Builder dialog box Operator buttons Mo...

Page 392: ...on on page 394 z State Use this list only to check the installed state of a component or feature Action refers to what occurs during installation and Installed refers to the current state of the destination computer z Install Action state Use this list only to check the installed state of a component or feature Absent means the feature or component is not installed Advertised means it is advertise...

Page 393: ... Environment Variable Environment variables are system or end user variables that are set by the operating system running on the destination computer They contain values specific to that computer Note This procedure lets you check the value of an environment variable To read the value of an environment variable into a property use the Set Property type of custom action Enter ENVIRONMENT_VARIABLE_N...

Page 394: ... component 4 In the State list double click Installed 5 Click the button 6 In the Install Action state list double click one of the following to check the current installation state of the feature or condition Absent Not installed Advertised Installed in an advertised state Local Installed locally Source Installed to run from installation source When you finish a condition appears in the condition...

Page 395: ...n appears in the condition list box Based on the choices you make the appropriate Windows Installer codes are inserted Example Complete 3 7 Click OK Properties Properties are variables that are used by Windows Installer during installation You often use properties inside conditions You can hard code the value of a property but you can also make properties more flexible by manipulating them at run ...

Page 396: ... controls on dialog boxes which puts the results of the control into the property Then use the property in a condition Example In Setup Editor Dialogs tab the Installation Type dialog has a set of radio buttons The radio buttons are associated with a property named InstallMode and based on the value of InstallMode the Next button displays a different dialog box Double click the radio buttons and t...

Page 397: ... new property search the Windows Installer SDK Help to make sure the property name is not already used by Windows Installer See Property Reference in the Windows Installer SDK Help To create a new property 1 In Setup Editor Product tab right click the Properties icon and select New Property The Property Details dialog box appears 2 Complete the dialog box Name Enter a name for the property Propert...

Page 398: ...rty Do this if the installation is to be performed on locked down Windows computers and you want the ability to change and pass its value from the UI Sequence to the Execute Sequence See Restricted Public Properties in the Windows Installer SDK Help This is unavailable if you entered any lowercase letters in the name 3 Click OK The property is added to the list of properties initialized by this in...

Page 399: ...ools for editing the appearance as well as the behavior and logic of installation dialog boxes You can access dialog boxes from the following places z Dialogs page Installation Expert The dialog boxes on the Dialogs page are those in the Welcome Dialog Wizard which appear to the end user during a normal installation Turn the dialog box boxes on or off rearrange them view conditions and select the ...

Page 400: ...t Installation Modes on page 441 See also About Installation Sequences on page 444 Types of Actions in MSI Script Sequences on page 445 About the Wizard Dialogs on page 400 Using the Dialogs Page on page 402 Using the Dialogs Tab on page 406 About the Wizard Dialogs Some dialog boxes in the Welcome Dialog Wizard are probably familiar to you because they appear in almost all installations Others on...

Page 401: ...ers this dialog box appears and lets the end user specify which Palm users should be able to access the new Palm application For additional criteria for displaying this dialog box see Installing to the Palm User folder on page 223 SQL Connection dialog Appears in installations that are started from the Server Application template in the New Installation File dialog box It lets end users select a S...

Page 402: ...ise MSI Editor it has more options which are documented below If the installation was created in earlier versions it has fewer options and contains a Convert button Using the Convert button The Convert button converts the button navigation to a more flexible and robust system which facilitates changing the order of dialog boxes However converting may cause problems with legacy installations if you...

Page 403: ...ld only be moved as a group See Changing the Order of Web Dialogs on page 406 To add a dialog box Click the Add button and complete the wizard See Creating a New Dialog on page 410 To turn off all installation dialog boxes Do one of the following z Use a silent installation See User Interface Levels in the Windows Installer SDK Help z In Setup Editor Dialogs tab clear the check box next to Welcome...

Page 404: ...fault Theme on the Dialogs page Changing the theme on one page changes it on the other Renaming or deleting the Default release breaks this relationship See Creating a New Release on page 185 Adding and Editing Dialog Themes The theme controls the overall look of installation dialog boxes by setting their top or side images and the fonts of the dialog box text You can edit themes and create custom...

Page 405: ...ettings do not control the font for the title of the Welcome dialog or any other dialog boxes that have a side image The Main Font settings control the font for the rest of the text on the dialog boxes You cannot edit the font of individual sections of a dialog box from the Edit Themes dialog box If you create a new theme and do not set the fonts for that theme it uses the default font settings in...

Page 406: ...alog boxes which must be moved as a group Use the Move Up and Move Down buttons to move the group of Web dialog boxes 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 in...

Page 407: ... resources then it might contain 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 edit dialog box details and attributes Right click the dialog box name in the left pane and select Details See Editing Dialog Details on page 408 Warning If you are using the Installation Types page t...

Page 408: ...ight pane 2 Select Layout menu Add and then select the type of control to insert If the controls in the Add menu are unavailable click the dialog box to make it active and try adding the control again Depending on the type of control you select a Properties dialog box appears so you can configure the control s properties position and attributes For information on each tab of the Properties dialog ...

Page 409: ...an that the dialog box should be exactly centered on the screen If the Y Centering value is set to 33 the center of the dialog box will be 1 3 of the way from the top of the screen z Visible Mark this to make the dialog box visible z Minimize Button Mark this to add a minimize button z Track Disk Space Mark this to have the dialog box periodically call Windows Installer to update any disk space fi...

Page 410: ...ory varies See Installation Resources and Their Locations on page 28 2 Select the type of dialog box and click Next The Dialog Properties page appears 3 Edit any values by clicking the item in the Type column and then clicking Edit This page lets you change any properties the new dialog box inherits from the template Example Each dialog box must have a unique name The wizard assigns a unique name ...

Page 411: ...click the New button next to the Property field create a new property named CHECKBOX1 and leave its value blank Although this results in error messages during compile which you can safely ignore it ensures that the check box is initially cleared when initially cleared when it appears to the end user Delete the property from the Properties icon on the Product tab to eliminate error messages To test...

Page 412: ...ed Edit control to constrain which characters can be used at each character position of the control See MaskedEdit Control in the Windows Installer SDK Help Path Edit A single line input field that accepts only a valid path This is intended to be used in conjunction with the directory list box or directory combobox controls Progress Bar A control that displays the progress of an installation or ot...

Page 413: ...ntrol on page 418 To see the results of these settings compile and run the installation Basic Control Settings The Control tab which appears on the Properties dialog box for dialog controls determines the appearance and basic behavior of controls See Editing Dialog Controls The settings available on this tab vary depending on the type of control z Property The name of the property associated with ...

Page 414: ...fine a new font style add a new row to the TextStyle table in Setup Editor Tables tab Then create a new property and enter the new text style s name surrounded by curly brackets as the property value z Control Font You can click Set Font and select a font for the control The Font Property field if set overrides this field z X Position Y Position The location of the control within the dialog box Th...

Page 415: ...e set to a number in units of 512 bytes KB MB or GB is added to the end of the text depending on how large the number is z No Prefix Displays any ampersand characters in the control s text Otherwise characters do not appear and cause the next character to be underscored z Users Language Makes the text control use fonts created in the end user s default UI codepage If this is cleared the fonts are ...

Page 416: ...e z Elevation Shield Adds the Windows Vista shield icon User Account Control elevation icon to a pushbutton control Setting an Event on a Control The Events tab which appears on the Properties dialog box for dialog box controls determines the events that the control can send and receive See Editing Dialog Controls on page 413 Use events to control the display of other dialog boxes and to control t...

Page 417: ...l events Control Events for details on each control event z Attributes Select an attribute that should be set for the control when the subscribing control receives the ControlEvent For information on valid attributes see Control Attributes in the Windows Installer SDK Help Assigning Help to a Control The Help tab which appears on the Properties dialog box for dialog box controls lets you set toolt...

Page 418: ...ng the number of colors in its palette its width and height and its size z Preview Displays the image If necessary the image is scaled down to fit in the preview area Setting the Items in a Control The Items tab which appears on the Properties dialog box for list box controls comboboxes listview controls and radio button controls determines the items that are listed in the control It also lets you...

Page 419: ...set overrides this field z X Position Y Position The location of the item within the control The upper left corner is represented by X Y values of 0 0 To rearrange items within the control example to reorder the items for radio buttons change the Y position z Width Height The size of the control in installation units which are equal to 1 12 the height of the system font on the destination computer...

Page 420: ... layer it will be See Setting Dialog Tab Order on page 422 Example On the sample dialog box shown below the image covers most of the dialog box and is overlapped by text and check box controls Because the graphic and static text controls are not included in the tab order they might be layered over the check box control at run time Incorrect tab order on a dialog box Aligning Dialog Controls You ca...

Page 421: ...controls the same size 1 In Setup Editor Dialogs tab select a dialog box in the left pane 2 In the right pane select two or more controls The last control you select is the master control that the other controls will be sized to 3 Select Layout menu Make Same Size and then select one of the following Width Height Both All selected controls are sized to the master control Spacing Dialog Controls Ev...

Page 422: ...d click the control after which you want to renumber Example If controls 1 through 7 have the correct tab order and you want to start renumbering from 8 press Ctrl and click control 7 Then continue setting tab order starting from control 8 About Billboards Billboards consist of a series of text and images that are dynamically displayed on a dialog box during installation Typically billboards highl...

Page 423: ...ns or text controls If you want to display only one control add it to the dialog box directly instead of within a billboard Windows Installer does not support the display of billboards outside installation dialog boxes Adding Billboards to a Dialog In the following steps bitmaps icons and text controls are referred to as content items To add billboards to a dialog box 1 Select Setup Editor Dialogs...

Page 424: ...formed during installation Display After If this is the first control select display first Otherwise select the control that this one should appear after c Click OK d Repeat this step to add as many controls as you have content items The controls you create do not appear on the dialog box You can only see their content items which you add in the next step 5 Add content items to each billboard cont...

Page 425: ...tain permissions To help with this process you can add the Logon Information dialog box to an installation The Logon Information dialog box is fully customizable which lets you communicate its purpose to the user Use the Logon Information dialog box to z Let the end user create a new NT user account during installation if the end user has the privileges to do so z Let the end user specify an exist...

Page 426: ...uidelines for using the Logon Information dialog box z Make sure you customize the text on the Logon Information dialog box to communicate the logon information s purpose to the end user z If the end user chooses to create a new user the end user must have user creation privileges on the server or domain z If the end user creates a user with this dialog box then cancels the installation the create...

Page 427: ...hen the end user clicks the Browse button a drop down list appears with the SQL Servers on their network If the Browse button does not appear the end user must enter the SQL Server name z This dialog box requires no modification to output a valid connection string to the property WISE_SQL_CONN_STR However if your application connects to more than one SQL Server during installation add a SQL Connec...

Page 428: ...itional server and edit the additional dialog boxes as follows To add and edit SQL Connection dialog boxes 1 Start the New Dialog Wizard to add an additional SQL Connection dialog box See Adding the SQL Connection Dialog to an Installation on page 427 2 On the Dialog Properties dialog box of the New Dialog Wizard edit the dialog box s default control properties Example Edit the dialog box s contro...

Page 429: ...w Dialog Wizard Warning Do not add more than one Custom Property dialog box to a single installation only one per installation is supported If an installation contains multiple Custom Property dialog boxes then multiple identical dialog boxes appear to the end user at run time To add the Custom Property dialog box 1 Select Installation Expert Dialogs page 2 Click Add The New Dialog Wizard appears ...

Page 430: ...he property name in End User Configurable Properties and mark this check box If the end user sets this value during installation their entry is masked and they must enter the property value a second time to verify the entry This also omits the property value from the installation log Use this feature when the property value includes sensitive information example a password 6 Finish the New Dialog ...

Page 431: ...nts About Macro Files Use the Macro Editor to create and edit macro files The default macro file in the Templates folder Macros wbs contains sample macros These samples are commented out which means that you can view the script in the Macro Editor but you can t run the macros unless you uncomment the script You can add macros to Macros wbs and edit and delete its macros Each new file you start in ...

Page 432: ...e For a manually run macro enter a name for the new macro Do not include spaces in the name For an event macro select an event Pathname When you create a new macro it is added to the macro file displayed To add the new macro to a different WBS file browse to the file s location To create a new WBS file click New and specify the file 3 Click Create The Macro Editor window appears See About the Macr...

Page 433: ...hat Can Trigger a Macro on page 433 Events That Can Trigger a Macro Using the Macro Editor you can write macros for OLE Automation events Example If you write a macro for the AddFile event the macro runs every time you add a file to an installation See Creating Editing and Running a Macro on page 432 Event What you could do with a macro AddFile Have each DLL or EXE file you add marked Read only or...

Page 434: ...changes needed to fix the ICE error Run If an installation requires files that are accessed by a custom action the macro can ensure that these files are copied to the proper location before you run the installation Save Run several checks to ensure an installation adheres to your corporate standards SetupCapture Have your standards imposed on an installation when you finish running SetupCapture in...

Page 435: ...z Check Syntax Checks the macro for the correct syntax z Revert to Saved Reverts the current macro to the last saved version to undo any changes you made since you last saved There are two drop down lists along the top of the script box The drop down list on the left lets you select the type of macro General for manually run macros and WFWIEvents for event macros The drop down list on the right le...

Page 436: ...n change to see how they affect the installation Example You can test a radio button s conditions by changing its current values or change the current value of an installation directory The debugger does not fix problems in the installation Once you have used the debugger to test the installation use Windows Installer Editor to make the appropriate changes in the MSI WSI or MST file You cannot edi...

Page 437: ...he WSI MSI or MST to debug 2 Click the Debug button at the lower right of the main window The installation is saved and compiled if you made changes since the last compile You are prompted to select an MSI if you defined more than one release The debugger window opens 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 Lis...

Page 438: ...ebug menu Run to Selection This executes all the actions up to the selected action After the actions are processed the arrow moves to the selected action and the debugger waits for another command 5 To stop the installation select Debug menu Stop Debugging or click Cancel in the installation s user interface Setting Properties and Applying Transforms in the Debugger You can set properties and appl...

Page 439: ...reates a temporary table named _Property and adds temporary columns to the Component Feature and File tables The fields in these temporary columns represent the current values of directories user defined properties and Windows Installer properties This is where you do most of your debugging Stop the installation to view a particular value and make sure it s set correctly or to change a temporary v...

Page 440: ...at you do not delete or move any standard actions See Standard Actions Reference in the Windows Installer SDK Help The existing action sequences are sufficient for most installations If you need specialized functionality not offered by Windows Installer you can add custom actions to an installation With custom actions you can call EXEs DLLs WiseScripts JScripts and VBScripts You can set installati...

Page 441: ...F1 z Restricted Areas If you select an action that has restrictions on its placement the restricted area is shaded z Sequences Below the sequence area are tabs that let you switch between sequences Each installation mode is comprised of sequences which in the Windows Installer database correspond to sequence tables About Installation Modes MSI Script contains three installation modes Normal Instal...

Page 442: ...n End users who have access to the administrative installation can then install the application from the network location To run an administrative installation use the command line option a Example msiexec a C path Sample msi An administrative installation uses the Admin Dialogs See also Performing an Administrative Installation of a Windows Installer Package in the Wise Package Studio Help Comman...

Page 443: ...installation 3 In the Actions list double click the action 4 Complete the Details and Properties tabs as you would normally If the action does not have these tabs then you cannot add it outside a sequence 5 On the Location tab mark No Sequence This tab is only available in the All Custom Actions mode 6 Click OK Adding a Custom Action to Multiple Sequences When you copy and paste an action between ...

Page 444: ...es all the actions between InstallInitialize and InstallFinalize It is represented by the Execute Deferred tab This makes it easier to specify in which mode to run an action For information on where to place a custom action see Guidelines for Custom Action Location on page 454 When Windows Installer generates the installation script it generates a rollback script that will undo the actions of the ...

Page 445: ...by the Windows Installer SDK Double click a standard action in the Installation Sequence list and press F1 to access the Windows Installer SDK help for the action These actions perform basic installation tasks such as creating shortcuts and writing files You cannot edit standard actions and you should not move or delete them See Standard Actions in the Windows Installer SDK Help z Dialog box actio...

Page 446: ...ble click the action in the Actions list z Type and select the action In the Installation Sequence list select the line above which the new action should appear Type the first few letters of the action name As you type the current line becomes a drop down list containing all the action names Select an action and press Enter About restricted areas If an action has restrictions on its placement in t...

Page 447: ...s Installer installation is run silently a called WiseScript is called silently About WiseScript Editor WiseScript Editor is a WiseScript authoring environment that you can use to automate administrative tasks You also can use it to create EXEs to use as custom actions in Windows Installer installations These custom actions can extend the capabilities of Microsoft Windows Installer and simplify in...

Page 448: ...t the path C Program Files Application Application exe use WiseScript to parse the file name Application exe and send the file name back in a Windows Installer property To use a WiseScript to parse a path 1 Write a WiseScript that uses Get Windows Installer Property script action to get the property named APPLICATION_PATH into a temporary variable Parse String script action on the temporary variab...

Page 449: ... features are turned on You set up the installation to have the license files installed by the WiseScript instead of the MSI so that the license files are embedded in the WiseScript EXE and cannot be opened To use a WiseScript to install a license file 1 Write a WiseScript that uses Get Windows Installer Property script action to get the property named SERIALNUM into a temporary variable named SER...

Page 450: ...t is run from your MSI Example You can use the Install File s script action to add files or you can use the Edit Registry script action to add edit or delete keys or values in the registry However the Windows Installer installation does not recognize any changes the WiseScript makes to the system and therefore will not uninstall any of these changes during uninstall of the main Windows Installer i...

Page 451: ...pt looks like this the script lines are numbered for clarity 1 If NOT Installed then 2 Run WiseScript From Installation C Plus CorePlus EXE 3 End 4 If REMOVE ALL then 5 Execute Program From Destination INSTALLDIR unwise32 exe S install log Default Directory Program Files Core 6 End In the CorePlus WiseScript do the following 1 Add a Get Windows Installer Property script action and set the followin...

Page 452: ...IR Unwise32 exe 5 Install File C Plus A dll to MAINDIR A dll Troubleshooting When WiseScript Custom Actions Fail on Windows Vista or later The User Account Control UAC that was introduced with Windows Vista provides a temporary privilege elevation model When a program requires elevated privileges an administrator is prompted for approval and a standard user is prompted to provide administrator cre...

Page 453: ...ws Installer to install a file it takes care of the repair and management of the file When you use a custom action to change an installation you take Windows Installer out of the loop Example If you use a custom action to install a file you must also include custom actions to repair or uninstall the file because Windows Installer is unaware of the file Therefore use custom actions conservatively w...

Page 454: ... of Windows Installer Installations on page 178 Correct Sequence If the action does this Place it in this sequence Gathers input from an end user User Interface Needs to change properties User Interface or Execute Immediate Is an Install MSI custom action Execute Immediate Is to be executed sometime during the installation of files Execute Immediate or Execute Deferred Place it between the Install...

Page 455: ...or Custom Action Conditions Place a custom action between conditional If Statements to run it only if a certain condition is true A condition can check whether the product is installed the value of a property is true if specific system requirements are met and more See Conditions on page 387 and Conditional Statement Syntax in the Windows Installer SDK Help To Run Only During Initial Installation ...

Page 456: ...sted installation and set its condition to NOT Installed Custom Action Location dialog box Set the second custom action to call the nested installation also set its Property Settings field to REMOVE ALL Custom Action Target dialog box and set its condition to REMOVE All With this type of custom action you can call only Windows Installer installations To call an installation that was created with a...

Page 457: ...ssion From within your DLL you must use Windows Installer function calls to access the current installer session and database properties Also the return value for the DLL is limited to a constant specifying whether the DLL call was successful See Custom Action Return Values in the Windows Installer SDK Help Your function declaration statement should look something like this UINT__stdcall CustomAct...

Page 458: ...u have Microsoft Visual Studio installed z You are using one of the Call Custom DLL custom action types z MSDEV EXE is in your path for debugging To enable debugging use Setup Editor Product tab to set the property named _WiseDebugMode to 1 Then test or run the installation Microsoft Visual Studio opens and attaches to the installation process and a breakpoint is invoked near the start of your DLL...

Page 459: ...rred sequence On the custom action s Properties tab set the In Script Options drop down to Deferred Execution System Context z Make sure the custom action name is unique To quickly survey your custom actions select All Custom Actions from Installation Mode z Does the custom action reference a Windows Installer property such as REMOVE Windows Installer standard actions set Windows Installer propert...

Page 460: ...t From Embedded Code on page 470 z Call VBScript From Installation on page 470 z Call VBScript From Installed Files on page 471 z Call VBScript From Property on page 472 z Display Message on page 472 z Download File From Internet on page 473 z End Statement on page 474 z Execute Program From Destination on page 474 z Execute Program From Installation on page 475 z Execute Program From Installed Fi...

Page 461: ...a feature state set properties and more These custom actions let you add extensive functionality to an installation without having to write the code yourself For technical details on custom actions see Custom Actions in the Windows Installer SDK Help For help using the MSI Script interface see The MSI Script Window on page 441 Call Custom DLL From Destination This custom action calls a DLL file th...

Page 462: ...or select a property name The return value of the function call will be put into this property In the Execute Immediate or User Interface sequences only you can send Windows Installer properties to the DLL function as parameters See Configuring DLL Parameter Settings on page 464 See also Guidelines for Calling DLLs on page 457 Guidelines for Custom Action Location on page 454 Using the Custom Acti...

Page 463: ...st specify the parameters to send to the DLL z Return Value Type Select the data type of the return value that is returned from the DLL z Returned Property Type or select a property name The return value of the function call will be put into this property In the Execute Immediate or User Interface sequences only you can send Windows Installer properties to the DLL function as parameters See Config...

Page 464: ...t 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 z DLL File Specify a DLL file to call during installation It must have already been added to this installation z Function Name Type the name of the function within the DLL file to call z Parameter List In the parameter list specify t...

Page 465: ...staller property a constant or a constant with a NULL value When you select a value source the appropriate field below becomes enabled z Property Name If you selected Property in Value Source enter or select a Windows Installer property here to send as a parameter This only works in the Execute Immediate or User Interface sequences z Constant Value If you selected Constant in Value Source enter a ...

Page 466: ...ustom Action Type 1 in the Windows Installer SDK Help Call DLL From Installed Files This custom action calls a DLL file that is installed by this installation Use this if the DLL should remain on the destination computer after installation Tips z 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 fo...

Page 467: ...name of any Windows Installer standard action See Standard Actions Reference in the Windows Installer SDK Help z 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 z Enter the JScript to execute Type or paste the script text Code elements such as function names declarations and values are color coded You ca...

Page 468: ... 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 5 in the Windows Installer SDK Help Call JScript From Installed Files This custom action runs code from a JScript file that is installed by this installation Use this to call the script file duri...

Page 469: ...script needs to be generated dynamically based on end user input or system configuration Tips z The script is limited to 32 Kb which is the size limit for Windows Installer properties z Use the script to read and write properties to the installation z The destination computer must contain the script s runtime Usage Double click the custom action and complete the Details tab z Custom Action Name En...

Page 470: ...ly Mark this if the script needs to access 64 bit functionality and run in a 64 bit process z Enter the VBScript to execute Type or paste the script text Code elements such as function names declarations and values are color coded You can use bracketed property names table keys environment variable references and other special substrings See Formatted in the Windows Installer SDK Help See also Gui...

Page 471: ...BScript From Installed Files This custom action runs code from a VBScript file that is installed by this installation Use this to call the script file during installation while leaving the file on the destination computer as part of the installation Tips z Before you add this custom action add the file to be called to the Files page in Installation Expert z Shaded areas of MSI Script indicate rest...

Page 472: ...he custom action and complete the Details tab z 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 z Property Specify a property that stores the script either by selecting a property or typing a new prope...

Page 473: ...be displayed in the title bar of the message z Message Text Enter the text to be displayed in the message dialog box Press Ctrl Enter to add line breaks in the displayed text z Message Icon Select an appropriate icon for your message dialog box See also Remark on page 482 Guidelines for Custom Action Conditions on page 455 Download File From Internet This custom action downloads a file from the In...

Page 474: ...atted text The field length is limited to 64 characters and two lines See also Launch Web Page on page 480 Post Data to HTTP Server on page 481 Guidelines for Custom Action Location on page 454 End Statement The End Statement action marks the end of an If action which specifies conditions to attach to an action or a set of actions The End Statement action takes no parameters and double clicking it...

Page 475: ...field the README TXT file that is in INSTALLDIR is opened 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 34 in the Windows Installer SDK Help Execute Program From Installation This custom action stores an EXE file in the Binary table of this installation file and calls...

Page 476: ... is unavailable for this custom action 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 18 in the Windows Installer SDK Help Execute Program From Path This custom action calls an EXE file whose path is specified by the value of a property It is useful if the path to the ...

Page 477: ...ler SDK Help To use the Condition Builder to create a syntactically correct Windows Installer condition click Build See Creating Conditions With Condition Builder on page 391 See also Conditions on page 387 Using Conditions With Features on page 100 Install MSI From Destination This custom action runs a Windows Installer installation that is already advertised or installed on the destination compu...

Page 478: ...e To set the nested installation to be advertised enter ADVERTISE ALL To uninstall the nested installation enter REMOVE ALL For a list of properties see Property Reference in the Windows Installer SDK Help See also Guidelines for Nested Installation Custom Actions on page 455 Guidelines for Custom Action Location on page 454 Using the Custom Action Properties Tab on page 490 Using the Custom Actio...

Page 479: ...install the nested installation enter REMOVE ALL For a list of properties see Property Reference in the Windows Installer SDK Help See also Guidelines for Nested Installation Custom Actions on page 455 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 7 in the Windows Installer SD...

Page 480: ...lation to be the same as for the current installation INSTALLDIR INSTALLDIR If the directory represented by the property might contain spaces as is typical with the installation directory enclose the property in quotes as shown above To set the nested installation to be advertised enter ADVERTISE ALL To uninstall the nested installation enter REMOVE ALL For a list of properties see Property Refere...

Page 481: ...tion must be placed in the Execute Deferred sequence Usage Double click the custom action and complete the dialog box z Seconds to Pause Number of seconds for the sequence to pause z Progress Bar Text Text to display in the progress bar during the pause You cannot enter properties or other formatted text The field length is limited to 64 characters and two lines See also Guidelines for Custom Acti...

Page 482: ... Text to Post The text to post should be one or more lines in the format field data where field is the name of the field expected by the Web application and data is the data to populate the field If a line does not appear to contain a field name followed by it is assumed to be a continuation of the previous line and the data on the two lines is concatenated and sent with a single field identifier ...

Page 483: ...Installer standard action See Standard Actions Reference in the Windows Installer SDK Help z WiseScript EXE File Specify an executable file on the destination computer that was compiled in a WiseScript editing tool You must type a path to the file using a predefined directory name such as CommonFilesFolder to specify the location on the destination computer A trailing slash after a predefined dire...

Page 484: ...n executable file on your computer or network that was compiled in a WiseScript editing tool The file you select will be copied into the Binary table of this installation Optionally you can use the Options button below z Options button Browse for WiseScript Select a WiseScript EXE file on your hard drive or network and place its path in the WiseScript EXE File field Create New WiseScript Open a ne...

Page 485: ... Double click the custom action and complete the Details tab z 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 z WiseScript EXE File Specify an executable file contained in this installation that was c...

Page 486: ... match the name of any Windows Installer standard action See Standard Actions Reference in the Windows Installer SDK Help z Directory Specify the directory to change the value of It must be a directory you added to this installation or a predefined Windows system directory which appears when you browse Do not enclose the directory property with brackets z Directory Value Enter the new path of the ...

Page 487: ...Interface or Execute Immediate sequence z On the Properties tab the In Script Options and Processing drop down lists are unavailable for this custom action Usage Double click the custom action and complete the Details tab z 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 a...

Page 488: ...t is indexed to an entry in the error table See also Formatted in the Windows Installer SDK Help Guidelines for Custom Action Location on page 454 Custom Action Type 19 in the Windows Installer SDK Help Using the Custom Action Location Tab The Location tab appears for custom actions only if you are working in the All Custom Actions installation mode The All Custom Actions installation mode lists a...

Page 489: ... on page 391 See also All Custom Actions on page 442 Using the Custom Action Location Tab for Merge Modules The merge module version of the Location tab only appears for custom actions if you are working in a merge module WSM or MSM file It is a different version of the Location tab than the one that displays in a standard installation WSI or MSI file Use this tab to set the location for a custom ...

Page 490: ...ion you selected above z Condition If you want this action to run only if a certain condition is true enter a condition In the User Interface Execute Immediate and Execute Deferred sequences the condition you enter is displayed as an If Statement preceding the custom action To use the Condition Builder to create a syntactically correct Windows Installer condition click Build See Creating Condition...

Page 491: ...tion should be executed later during installation during the time when all other system changes are performed by Windows Installer This runs under user context so if the current user doesn t have elevated privileges and the action needs elevated privileges to succeed it might fail Use this option if the custom action depends on a file that is installed with the installation Custom actions that cha...

Page 492: ...cessary to continue with the installation The exit code of the custom action is ignored z Asynch Wait at end of sequence Run the custom action asynchronously to the main installation thread Windows Installer runs the custom action simultaneously with the main installation At the end of the script Windows Installer waits for the exit code from the custom action before continuing Use this if the ins...

Page 493: ...erties or other formatted text see Formatted in the Windows Installer SDK Help The field length is limited to 64 characters and two lines Using the Custom Action Description Tab The Description tab appears on the details dialog box for all custom actions The Windows Vista Logo Program requires you to document every custom action in an installation The Windows Vista Compatibility Checks validation ...

Page 494: ...allation engine and rule set for installation packages The Windows Installer engine resides on the destination computer reads the installation database MSI and performs the installation and any subsequent management such as self repair Instead of an installation executable such as setup exe your installation is in the form of a database file MSI which contains instructions and can also enclose ins...

Page 495: ...ght prompt the end user for the original installation source shared network directory or CD If you output an MSI file compressed in an EXE file Windows Installer uncompresses a copy of the MSI into Program Files Common Files Wise Installation Wizard on the destination computer These MSI files do not have to be left on the destination computer but if they are the end user does not need the source m...

Page 496: ...de an application to use Microsoft Windows Installer APIs Use the Windows Installer Software Development Kit SDK online help which is installed with Windows Installer Editor as a reference for coding Windows Installer functionality into an application See also About Microsoft Windows Installer on page 494 Working With Components and Features In Microsoft Windows Installer terminology a feature is ...

Page 497: ...of an application has an assigned GUID You can use the System Search page to quickly search for components on the destination computer to determine if a previous version exists A GUID must be in the format XXXXXXXX XXXX XXXX XXXX XXXXXXXXXXXX where X is a hex digit 0 1 2 3 4 5 6 7 8 9 A B C D E F Windows Installer Editor generates GUIDs whenever necessary using an algorithm that reduces the chance...

Page 498: ...rch for Common Language Runtime in the MSDN Library msdn microsoft com library What s the difference between managed and unmanaged code Code developed with a language compiler that targets the common language runtime is called managed code All code based on Microsoft intermediate language MSIL executes as managed code Managed code is self describing it contains metadata that describes every elemen...

Page 499: ...of file sharing conflicts With the common language runtime the assembly is described by a manifest the registry is no longer relied upon for storing and accessing the COM activation data This allows components to be fully isolated from each other Assembly sharing is accomplished in several ways z Global Assembly Cache To install NET assemblies that are intended to be shared by many applications on...

Page 500: ...e security z Create a shortcut z Require elevated privileges to install on a locked down computer By creating a Windows Installer installation for your NET applications you can take advantage of the services Windows Installer provides installation repair and removal of assemblies roll back install on demand patching and advertisement How does Windows Installer Editor support NET installations Wind...

Page 501: ...ation computer must have the NET Framework installed Before you begin to create an installation for your NET application do the following To prepare to create a NET installation 1 Gather all your assemblies both Win32 and NET and their manifests into a common location 2 Determine the directories in which the assemblies are to be installed You can install assemblies into the Global Assembly Cache t...

Page 502: ...ons on page 453 Wise Custom Actions Custom action Description ClearDisableUAP Checks the version of Windows on the destination computer If it is less than 6 earlier than Windows Vista then it clears the DisableUAP property When User Account Control is disabled the option to install for all users or for the current user on the installation s User Information dialog box is hidden If the installation...

Page 503: ...the test fails This check is inserted after the launch condition check DiagnosticCheckExecuteLocally Evaluates type 34 or type 50 custom actions which run a file that is expected to exist on the destination computer Once the test obtains the application path and ensures that it is valid it calls the load library to ensure the application can be loaded and returns success if the application succeed...

Page 504: ...ncomplete DiagnosticOpenDocExtChec During Preflight Instrumentation builds a list of document extensions from the OpenDocument custom action and saves the list in the WiseExtDiag table On the destination computer checks the registry for support for each extension This test tries to open the registry key associated with the extension If it successfully opens the key then an association exists Other...

Page 505: ... the install log check box on the installation s Exit dialog box WiseAltStartup When you add a custom action that calls a DLL with parameters this action is added to save the current state of properties for use by the custom actions running in deferred mode WiseCleanup When you add a custom action that calls a DLL with parameters this action is added to clean up any temporary files left over from ...

Page 506: ... the Next button WisePrevDlg Determines the dialog box to display when the end user selects the Back button WiseRegComPlus Add Remove Deferred mode custom action that reads data stored by WiseRegComPlus In it and creates or deletes MTS COM components that are specified on the MTS COM page WiseRegComPlus In it Immediate mode custom action that reads MTS COM data and stores it in a file for use by t...

Page 507: ...us versions of the application WiseUpgradeCheckEx When you add upgrade information to the Upgrades page this action is added to work around issues where the Windows Installer runtime does not detect previous versions of the application WiseVerifyUser Verifies the user and password that is entered on the Logon Information dialog box for a Server Application installation WiseVirtDirCallDll Creates m...

Page 508: ...the advertising information you select in the Compiler Options section of the Component Details dialog box WiseCommandLine Contains the information that is used on the Command Line page WiseComPlusApp Yes Contains a list of MTS COM applications that are in the installation WiseComPlusComponent Yes Contains information relating to MTS COM applications that are in the installation WiseCustomActionDo...

Page 509: ...cluded from assembly dependency scans WiseMetaDataCache Wise Package Studio only Contains user defined meta data after values for the meta data are entered on the Product Details page WiseMobileDevice Contains a list of all mobile device applications a description of each and appropriate attributes WiseMobileDeviceDesktopFiles Yes This is added only when you add a Palm application to the Mobile De...

Page 510: ...on about WiseScript runtimes that are added on the Prerequisites page WiseSequence Contains the remarks used in MSI Script as well as any empty If End If blocks WiseSourcePath Contains a list of all source paths for all files that are in the installation WiseStreamFiles Contains a list of all source path names for custom actions and graphics that are in the installation WiseTaskList Contains a lis...

Page 511: ... Studio integrated editor only Contains a list of projects in the solution and their settings WiseWebSiteAttributes Yes Stores the Web Dialogs settings for Web sites that you created on the Web Files page WiseWebSites Yes Stores the settings for Web sites that you created on the Web Files page WiseWildcard Contains an entry for each time you add a wildcard in Installation Expert Files page and mar...

Page 512: ...build properties below determine the default value of some of the properties in the INI file In that case the property description includes the name of the corresponding property in the INI file Property name Description _WiseDebugMode By default debug mode is off Set this property to 1 to debug DLLs that you added to an installation using a custom action For this feature to work the Custom Action...

Page 513: ...e located on the Tables tab DisableUAP Windows Installer 4 0 or later only Indicates whether User Account Control UAC previously known as UAP is disabled When User Account Control is disabled the option to install for all users or for the current user on the installation s User Information dialog box is hidden DiskPrompt Contains the default text that prompts the end user to insert the next instal...

Page 514: ...full product ID after the end user s entry has been validated ProductLanguage Indicates the language for this product See Language IDs on page 288 ProductName Contains the name of the product which is set on the Product Details page ProductVersion Contains the product version number which is set on the Product Details page If an installation creates an EXE that launches an MSI this property sets t...

Page 515: ...on which initially is English It can also contain the language ID separated from the language name by a comma Example English 1033 If the language of the destination computer matches this ID the installation runs without applying any language transforms If an installation creates an EXE that launches an MSI this property sets the default value for the WiseInitLangDefault property in the INI file t...

Page 516: ...splayed 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 See INI File Properties on page 516 WiseInitSuffix Contains the text that s displayed after the Wise Installation text in the...

Page 517: ...es CmdLine Contains the default command line that will be passed to MSIEXEC which is the Windows Installer executable that runs the MSI The command line statement should end with the I command line switch This defaults to the value of the build property named WiseInitCmdLine See Build Properties on page 512 DelayReboot If this is set to 1 a restart caused by pre installation of the Windows Install...

Page 518: ...ler for Windows 2000 XP 2003 Vista 2008 7 Do not change this property unless you change the location of this file RuntimeVersion If an installation includes the Windows Installer runtime this is the version of the included Windows Installer You set an installation to include the Windows Installer runtime on the Prerequisites page SpaceError Contains the error text that is displayed if the destinat...

Page 519: ... and where the Web site or virtual directory is installed Example Use these properties to create shortcuts to a Web site or virtual directory In the following property names VIRTDIR and WEBSITE are populated from the PropertyRoot column of the WiseVirtualDirectory table for the given Web site or virtual directory WiseInitSuffix Text that displays after the Wise Installation text in the installatio...

Page 520: ...cal 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 Contains the physical ...

Page 521: ...17 administrative image 228 Administrative Install page 228 administrative installation about 442 dialog boxes 441 Administrator Options page 225 advertisement about 495 auto adding information 37 configuring shortcut for 153 extension adding 370 features 496 how it works 495 options 37 rescanning advertising info 38 shortcuts 226 Advertisement Installation mode about 442 dialog boxes 441 All Cust...

Page 522: ...381 COM interoperability interop about 498 registering NET assembly 85 244 326 COM 263 combobox dialog box control 411 Command Line page 230 command verb 156 command line options installation about 229 advertising 235 creating 230 general options 230 installation log 177 233 logging 177 233 patch applying 237 patch removing 237 public property changing 236 repair 235 running 81 230 testing 80 tran...

Page 523: ...re list about 23 Features page 91 number in parentheses 24 Current Release list 24 custom action accessing properties 458 added by Wise 502 adding outside a sequence 443 adding to multiple sequences 443 adding to sequence 446 calling another installation 455 choosing location 455 488 compile error 104 condition 455 configuring parameters 464 copy and paste 446 description 493 documenting 493 guide...

Page 524: ...rning off all 403 407 turning on off 407 Welcome Dialog Wizard 400 WiseUpdate customizing 296 dialog box control about 411 adding 408 aligning 420 Also see dialog box attributes 415 basic settings 413 centering 421 condition on event 389 condition adding 388 condition setting 417 disabling 388 417 disappearance preventing 420 editing 413 enabling 388 417 event setting 416 graphic setting 418 help ...

Page 525: ...4 Complete feature 91 conditions about 100 conditions adding 387 configuring 95 96 defaults setting 181 341 deleting 92 displaying to end user 98 features tree 91 including in media 214 installation location 99 installation options 95 installation state 486 moving 92 number in parentheses 24 organizing files 92 registry value adding 140 requiring 100 selecting 23 selecting for release 190 target p...

Page 526: ...ying glass 115 on Features page 95 on Files page 109 setting on dialog box 415 Task List 25 icon control 412 If Statement 477 IIS details 255 installing to 245 required version setting 167 restarting 247 249 user for ASP 519 version 513 virtual directory creating 249 Web folder creating 251 Web site creating 247 IIS dialog boxes adding 252 254 changing order 406 do not edit 252 254 406 regeneratin...

Page 527: ...Table 336 L language adding 272 Also see translation default for release 285 default changing 284 defining 274 disabling in installation 271 exporting selected strings 279 multiple language release 187 pre translated 287 removing from installation 271 restoring to installation 272 selecting at run time 187 selecting for display 284 setting for installation 366 sharing between releases 270 strings ...

Page 528: ... MIME type associate with extension 156 minimum installer version 366 minimum system requirements See system requirements mixed installation 36 85 mobile device installation about 219 222 Also see Palm OS installation Also see Windows Mobile installation process for adding 219 Mobile Device Package Editor about 219 Mobile Devices page about 218 adding Palm OS files 223 adding Windows Mobile files ...

Page 529: ...1 parameters sending to DLL 457 466 466 parent feature 97 parsing 448 password for installing 194 obtaining 425 patch about 305 Also see Patch Creation applying to installation 237 creating 78 description 303 file 60 60 preparing for 305 project file 60 removing from installation 237 when to use 303 Patch Creation about 305 Patch Wizard See Patch Creation path Also see source path broken 318 361 c...

Page 530: ...397 reboot setting options for 225 red component icon 374 redistributables download 30 reference action 490 reference manual 32 referencing graphics 102 Refresh column 103 REG file exporting 144 importing 144 registry 32 bit or 64 bit view 140 data type 146 empty key adding 141 exporting 144 for elevated privileges 148 for multiple users 148 importing 144 key creating 141 key editing 145 locking 1...

Page 531: ...ing with WiseScript 449 for file or folder 126 importing NET Framework settings 261 Select Feature dialog box 401 select package from repository 74 selection tree control 412 self registration 125 adding automatically 38 how captured 133 setting for files 127 self repair specify source 227 sequence installation about 440 adding action 446 choosing for action 488 colors of actions 445 commenting ou...

Page 532: ...r data files 196 installing MSI 194 maintenance mode 197 removing 197 resetting 197 synchronous defined 492 syntax check macro for 435 SYS file 157 system context 444 491 system directory 108 system file designate file as 125 system requirements about 165 adding conditions for 388 adding server roles and services 168 setting for server roles and services 167 setting in Installation Expert 165 sett...

Page 533: ...uage transform 269 of progress text 516 518 of user interface 266 strings See text strings translator ODBC adding 160 details 162 tutorial Refer to Getting Started Guide typical installation 181 U UAC See User Account Control UAC UNC paths 321 undo check out 313 Installation Expert page 20 uninstall avoiding 304 failing 225 leaving components installed 120 Palm OS application 223 running action du...

Page 534: ...48 250 Web based installation 204 WebDeploy about 204 creating installation 207 process overview 205 setting options 207 tips 206 uploading installation 208 using with Autoplay 205 versus non WebDeploy installation 204 WebDeploy page 207 wildcard adding files with 114 changing 119 filtering directories 114 groups 47 WIN INI update 148 Win32 assembly creating 129 isolating 129 Windows 2000 locked d...

Page 535: ...lude table 510 WiseReleaseMedia table 510 WiseReleaseMediaDest table 510 WiseReleaseMediaInclude table 510 WiseReleaseOverride table 510 WiseRemoveFirewall 506 WiseRuntimeVar table 510 WiseScript calling 447 calling from destination 483 calling from installation 483 calling from installed file 485 editing from Prerequisites page 202 example 448 failure on Vista 452 manifest for run level 452 parsi...

Page 536: ...Windows Installer Editor Reference 536 integrating with source control 309 XML edit attributes 131 ...

Reviews: