You are on page 1of 55

WinINSTALL LE

Reference Manual

Table of Contents
Sections

Topics

Introduction
Intro to WinINSTALL LE
Goal of Documentation

Section Overview
Installing WinINSTALL LE
Package Creation-Discover Process
VERITAS Console
Elements of the Package
Windows Installer
Advanced Administration

Installing WinINSTALL LE
WinINSTALL LE
Installing WinINSTALL LE on Windows 2000
Installing WinINSTALL LE on Windows NT

Package Creation-Discover Process


Discover Overview
Things to keep in mind
Running the Before Snapshot
Installing the application
Running the After Snapshot

VERITAS Software Console


VERITAS Software Console
Starting the VERITAS Software Console
Creating a new Windows Installer Package
Opening an existing Windows Installer Package
Tree View
List View
Data View
Shortcut Bar

Pages
1
1
1

2
2
2
2
2
2
2

3
3
3
3

4
4
4
5
8
9

10
10
10
10
11
11
11
11
12

Table of Contents
Elements of the Package
Packages
Features
Components
Files
Shortcuts
Registry
Services
INI Edits
How the INI file is handled
Advertising

Windows Installer
Windows Installer overview
Windows Installer functions
Windows Installer service
Windows Installer program
Windows Installer package (.MSI)
Transforms
Command line options

Advanced Administration
Manipulating the Discover Process
Manipulating the NAI and REG file
The MSI database

13
13
15
16
18
20
23
25
29
32
32

33
33
33
34
34
34
35
35

37
37
38
39

Glossary

40

Appendix A - Related Issues

41

Appendix B - MSIEXEC Command Line Options

44

Appendix C - FAQ

47

Appendix D - Example .XCP Files

49

Introduction
Intro to WinINSTALL LE
WinINSTALL LE is a limited edition of WinINSTALL that allows the Network Administrator a way
to view and customize the new Microsoft Windows Installer packages (.MSI packages). It also
offers a way to create the Windows Installer packages through the Discover process.
WinINSTALL LE introduces the new VERITAS Software Console that is slightly different from the
existing WinINSTALL 6.5 console. Because WinINSTALL LE is a limited edition, the console is
not as powerful as the existing WinINSTALL 6.5 console, but very flexible in what the console can
do. This document will also cover general concepts relating to the Windows Installer.
The Windows Installer is a solution from Microsoft to customers requesting an installer that can:

Adequately manage shared resources


Consistently enforce the same installation rules
Provide easy customization
Help people decide which pieces of an application they need
Diagnose and repair configuration problems at application run-time

With WinINSTALL having the majority of that capability and the Windows Installer adding on
demand installation and resiliency, the combination will be an integral part in network
management.

Goal of Documentation
After reading this document, the administrator should be able to intelligently administer
WinINSTALL LE (VERITAS Discover program and the VERITAS Software Console) and the
Windows Installer packages. The beginning sections will explain the basic interface and
functionality. This will get the administrator more familiar with WinINSTALL LE before diving into
more advance techniques. Once the administrator becomes more familiar with the interface and
functionality of WinINSTALL LE, the Advanced Administration section will offer more flexibility
and control in WinINSTALL LE administration.

Section Overview
Section Overview
The following sections will explain the different elements involved with WinINSTALL LE and the
Windows Installer. It starts with installing WinINSTALL LE and ends with advanced
administration. Heres an overview of each section.

Installing WinINSTALL LE
WinINSTALL LE does not come installed with Windows 2000 by default. To be able to
administer and create the Windows Installer (.MSI) packages, WinINSTALL LE will need to
be installed separately. This section will explain why and how to install WinINSTALL.LE.

Package Creation-Discover Process


Windows installer packages are created through a discovery process. Thats achieved by
running the VERITAS Discover program, discoz.exe. This section will go over the process
and the requirements for running the VERITAS Discover program.

VERITAS Console
After the package has been created, the administrator may need to customize the package.
With the VERITAS Software Console, the administrator can add, remove or change any
components or features relating to the package. This allows flexibility in package creation.

Elements of the Package


This section will explore the different elements that make up the Windows Installer package.
That includes features to key paths. Understanding the different elements that make up the
package, the administrator will be able to efficiently administer the Windows Installer
package.

Windows Installer
Unlike WinINSTALL LE, the Windows Installer is part of Windows 2000, no additional
installation required. The Windows Installer is also available for Windows NT 4, Windows 95
and Windows 98 as a service pack or additional install. This section will go into more details
on the Microsoft Windows Installer.

Advanced Administration
Once the administrator is more familiar with WinINSTALL LE and the Windows Installer
package, this section will dive into more advanced administration issues involving the
Discover process and package manipulation.
Lets get started with installing WinINSTALL LE.

Installing WinINSTALL LE
WinINSTALL LE
To be able to administer the MSI packages, WinINSTALL LE will need to be installed on the
administrators machine. WinINSTALL LE consists of the VERITAS Software Console and the
VERITAS Discover program. The Discover program is used to create the .MSI packages and the
VERITAS Software Console is used to customize those packages. Both of which will be
discussed with more detail in the following sections.
WinINSTALL LE is designed for Windows 2000 and Windows NT 4 operating systems.
Therefore, the VERITAS Software Console and the Discover program will not run successfully on
Windows 9x operating systems.

Installing WinINSTALL LE on Windows 2000


Windows 2000 does not come with WinINSTALL LE installed by default. WinINSTALL LE will
need to be installed separately.
Install WinINSTALL LE:
1. On the Windows 2000 Server CD, browse out to the
VALUEADD\3RDPARTY\MGMT\WINSTLE directory
2. Double click on SWIADMLE.MSI to install WinINSTALL LE.
You can also install WinINSTALL LE by:
1. Using the command-line installer:
MSIEXEC /I SWIADMLE.MSI
or
2. Using the Add/Remove programs in the Control Panel.

Installing WinINSTALL LE on Windows NT


To install WinINSTALL LE on Windows NT 4.0 system, you must first install the Windows Installer
on those systems and then install WinINSTALL LE. Machines running Microsoft Office 2000 do
not need to install the Windows Installer. The Windows Installer is installed automatically with the
installation of Microsoft Office 2000.
Install the Windows Installer:
1. Download the Windows Installer for Windows NT 4 from Microsofts download site.
2. Install the Windows Installer on the Windows NT machine.
NOTE: Location and availability of the Windows Installer for Windows NT is dependent
on Microsoft. Without the Windows Installer installed, theres no way to install the
SWIADMLE.MSI package.
Install WinINSTALL LE:
1. On the Windows 2000 Server CD, browse out to the
VALUEADD\3RDPARTY\MGMT\WINSTLE directory
2. Double click on SWIADMLE.MSI to install WinINSTALL LE.
The SWIADMLE.MSI package will add the VERITAS Software Console and the VERITAS
Discover program to the users VERITAS Software program group. The files associated with
WinINSTALL LE are installed to x:\Program Files\VERITAS Software\ (x: is the drive that contains
the Program Files directory). The Winstall directory can be shared out for remote access or
copied to a share on the server for centralized access. Sharing out the Winstall directory will
allow remote machines to be able to run the Discover process from the Administrators machine
or from the share on the server without having to install WinINSTALL LE on the machine being
discovered.

Package Creation-Discover Process


Discover Overview
One of the biggest advantages of WinINSTALL LE is its ability to create Windows Installer
packages from different applications such as MS Office, in-house programs, and other software
applications. Once the package has been created, the administrator can distribute the
applications without having to run setup.exe, simply double click on the .MSI file to start the
installation. The package can also be customized to the administrators specifications.
To create the MSI package, the administrator will need to run the discover process to capture
the changes made by the package. The discover process includes three main stages:
1. Before snapshot: Captures the information that is already on the machine.
a. Prompts the user for package name and location as well as other scan
information.
b. Creates the discover.wrk directory that contains the scanned information and
exclusion information.
c. Updates the registry regarding the discover properties and flags discoz.exe to
perform the After Snapshot the next time it runs.
2. Install the application: Install the application to be discovered.
a. Reboot may be required depending on the application.
b. Verify that the application is working correctly.
3. After snapshot: Captures the changes on the machine since the Before snapshot.
a. Checks the registry to see if an After Snapshot needs to be performed.
b. Scan the machine against the information in the discover.wrk directory.
c. Copy new files to the source directory and creates an .NAI file and an .REG file.
d. Converts the .NAI file and .REG file to a Windows Installer package.
Prior to running the discover process, the administrator needs to have a clean and quiet
machine to create the package on. Clean meaning the machine does not have anything installed
other than the OS and any service packs. Quiet meaning the machine does not have anything
running in the background such as screen savers, virus detection software or programs that might
change the system that does not pertain to the application. If the machine is not clean, the
discover process will not pick up anything that is already installed on the machine prior to running
the Before snapshot. That includes files such as shared DLLs and any registry changes.
Its also a good idea to create separate Windows Installer packages for each application and start
with a clean and quiet machine when building each application. Creating separate packages for
each of the applications allows more flexibility in administering the installation of those packages.
One user machine may only need one application, while another user machine may require four
applications. Keeping the applications separated will also produce smaller Windows Installer
packages.

Things to keep in mind


1. Administrative rights are required to run the Discover process.
(The discover process updates the [HKEY_LOCAL_MACHINE\SOFTWARE\Seagate
Software\WinINSTALL\Version 6\Discover] key. Regular Users only have Read access to
HKEY_LOCAL_MACHINE\SOFTWARE.)
2. Do not install WinINSTALL LE on the machine to be discovered. Run Discoz.exe from a
remote location such as a share on the server or share out the Winstall directory on
Administrators machine.
3. Discoz.exe can only be run on Windows 2000 and Windows NT operating systems that have
the Windows Installer installed.
4. When creating a Windows Installer package, use a clean and quiet machine.
5. Create separate Windows Installer package for each application.
6. Decide on the name and location of the Windows Installer package.

Package Creation-Discover Process


Running the Before Snapshot
To start the Discover process, go to Start >> Run, type in the path to the Winstall share on the
remote location followed by the discover executable, DISCOZ.EXE.
Example:

This will start the Before snapshot and bring up the discover dialog box. Click Next.

Package Creation-Discover Process


Enter the application description and the path and filename of the Windows Installer package.
The description is what will appear in the VERITAS Software Console and can be up to 40
characters and spaces. The path can be any valid path to where you would like the Windows
Installer package to be created. If a path is not specified, the Windows Installer package will be
created under the Winstall directory. The filename does not need an .MSI extension at the end.
Click Next.

Select a temporary work drive for the discover process. WinINSTALL will create a discover.wrk
directory on the drive and remove it after the discover process completes. Click Next.

Package Creation-Discover Process


Select all the drives that pertain to this application. Discover will only scan the drive(s) selected
during the discover process. Click Next.

Choose the files and directories that should be excluded from the discover process. Anything
that does not pertain to the application should be excluded. On a clean machine, the default
setting should be sufficient. Click Next to begin the Before snapshot.

Package Creation-Discover Process


Installing the application
When the Before snapshot completes, a dialog will prompt for a setup program.

Click Cancel to close the dialog box and install the application at another time. Choosing
Cancel will not affect the discover process because the Before snapshot has already
completed. Click OK to open the search screen and run the installation for the application.

Package Creation-Discover Process


Running the After Snapshot
After the application has been successfully installed, reboot the machine and make sure the
application is working correctly.
To start the After snapshot, go to Start >> Run and run discoz.exe from the Winstall directory
again. This will bring up the WinINSTALL Discover dialog box. Choose Perform the After
snapshot now and Click Next to start the After snapshot process.
NOTE: To start over with a new discover, choose Abandon the Before snapshot and start over and
click Next. This will start a new Before snapshot and discard the old discover information.

Once the After snapshot completes, an .MSI package will be created in the location specified in
the Before snapshot, file path. If no path was specified, the discover process will create the .MSI
package in the Winstall directory.

VERITAS Software Console


VERITAS Software Console
After creating the Windows Installer package, the administrator can customize the package
through the VERITAS Software Console. Modifying, adding and removing features and
components are handled through the console.

Starting the VERITAS Software Console


To start the VERITAS Software Console, click on the Start menu, Programs, VERITAS
Software, and then choose VERITAS Software Console. This will bring up the VERITAS
Software Console interface. There are four main sections to the console, the three main views
and the Shortcut Bar. The main views consist of the Tree View, the List View and the Data View.
Shortcut Bar
Tree View
Data View

List View

Creating a new Windows Installer Package


There are four ways to Create a new Windows Installer package.
1. Run the VERITAS Discover program.
2. In the VERITAS Software Console, go to File, New. Enter a name for the package. Click
OK.
3. In the VERITAS Software Console, press Ctrl + N. Enter a name for the package. Click OK.
4. In the Tree View, right click on Windows Installer Package Editor and choose New. Enter
a name for the new package and click OK.

10

VERITAS Software Console


Opening an existing Windows Installer Package
There are four ways to open an existing Windows Installer package.
In the VERITAS Software Console, go to File, Open. Browse out to the package that needs
to be modified and click Open.
WARNING: Choosing File >> New WILL create a new package and overwrite the
existing Windows Installer package.

In the VERITAS Software Console, press Ctrl + O. Browse out to the package that needs to
be modified and click Open.
In the Tree View, right click on Windows Installer Package Editor and choose Open.
Browse out to the package that needs to be modified and click Open.
WARNING: Choosing New WILL create a new package and overwrite the existing
Windows Installer package.
With Windows Explorer, browse out to the .MSI file. Right click on the .MSI file, choose Edit
with WinINSTALL LE. (Only available if WinINSTALL LE is installed on the machine.)

Tree View
The top left pane of the VERITAS Software Console is the Tree View. The Tree View contains
the Windows Installer Package Editor and the description of the package being modified. Under
the package description, features of the package are listed. The feature can then contain other
features or components relating to the package.

A feature can contain a component, but a component can not contain another component. Also,
components are automatically assigned a GUID that uniquely identifies that component.

List View
The lower left pane of the VERITAS Software Console is the List View. The list view contains the
property associated with the particular feature or component that is highlighted. The properties
will vary depending on the portion being highlighted in the Tree View.

Data View
The right pane of the VERITAS Software Console is the Data View. The Data View contains the
property associated with the component or feature highlighted. The Data View will also vary
depending on the portion being highlighted in the List View.

11

VERITAS Software Console


Shortcut Bar
The fourth section of the VERITAS Software Console is the Shortcut Bar. The Shortcut Bar is not
enabled by default. To display the Shortcut Bar, go to View and then chose Shortcutbar.
To add a Shortcut Bar
1. Right-click inside the shortcut area, and the shortcut
menu appears.
2. Select Add Bars, and the Add Shortcut Bars box
appears.
3. Type the name of the bar you want to create.
4. Click Add, and then click Done.
To remove a Shortcut Bar
1. Right-click inside the shortcut area, and click Remove
Bars. The Remove Shortcut Bars box appears.
2. From the list, select the bar you want to delete.
3. Click Remove, and then click Done.
To edit a Shortcut Bar name
1. Right-click inside the shortcut area. Click Edit Bar
Names on the shortcut menu.
2. From the list, select the bar you want to rename.
3. Click Rename, and then click Done.
To move between Shortcut Bars
1. Click on the shortcut bar name.
To re-order Shortcut Bars
1. Right-click on an open shortcut area.
2. Click Move Bars.
To add a shortcut
1. Select and drag the feature, component, or properties
of the components to the shortcut area.
To delete a shortcut
1. Right-click the shortcut icon or shortcut name.
2. Click Delete Shortcut.
To rename a shortcut
1. Right-click the shortcut icon or shortcut name.
2. Click Edit Shortcut Name.
3. Make your edits to the shortcut name, just as you
would rename an element in Windows Explorer.
4. Press Enter when done.
To re-order shortcuts
1. Drag the shortcut to the location desired.
The shortcut bar can be a real time saver in locating specific components or portions of a
component. It can be renamed to a more meaningful shortcut like, Files to Remove section
Package1. New shortcuts are saved automatically while moving between packages. Shortcuts
to a Windows Installer package will not work unless that particular package is being modified.

12

Elements of the Package


WinINSTALL LE introduces the use of features and components that make up the new Windows
Installer package. This section will go over the elements that make up the Windows Installer
package, starting with the package property.

Packages
In the VERITAS Console, the top level of the Windows Installer package is the package
description.
Create a new package:
1. Right Click on Windows Installer Package Editor
2. Choose New
3. Enter a name for the package. A location for the package can also be specified.
(The default package location is the Winstall directory under \Program Files\VERITAS
Software.)
4. Specify the language Template to be used.
5. Click OK to create new package.
NOTE: Browsing to an existing Windows Installer package when choosing New will overwrite
the .MSI file. To open an existing package, choose Open.
The only property that directly pertains to the package is the General Summary. The package,
however, will display any properties of features and components that belong to the package.
Select the package name to view the packages property.

Packages Summary Tab (Under General):


Name:

The name of the application that will be installed or uninstalled by the Windows
Installer package.

Contact:
Version:
Product Code:
Product ID:

The contact regarding this package.


The version of the packaged application.
The GUID (globally unique identifier) of the package.
A label for the product created by the Windows Installer. Used to validate the
package.

Manufacturer:
Manufacturers URL:
Online Support:
Phone:
Helpfile URL:
Update Info URL:
Install radio buttons:

The name of the company that manufactured the application.


The web address of the company that manufactured the application.
The web address for online technical support for the application.
The phone number for technical support for the application.
The web address of online help for the application.
The web address of the site used to update information on the application.

Install only per user: Installation information will be stored under the HKEY_CURRENT_USER key

Install only per


machine:

Attempt per machine, Installation information will be stored under the HKEY_LOCAL_MACHINE and
the HKEY_CURRENT_USER key.
if fails, per user:

Comments:

Installation information will be stored under the HKEY_LOCAL_MACHINE key

Text describing the Windows Installer package.

13

Elements of the Package


Package Summary Tab:

14

Elements of the Package


Features
The Windows installer packages are made up of features. A package can contain more than one
features and sub-features. Like the package, the only property that directly pertains to the feature
is the General Summary (separate from the packages General Summary). Every feature
contains its own General Summary. The feature will display all components that are located
under the feature.
Add a feature to a package:
1. Edit the Windows Installer package with the VERITAS Software Console.
2. Right-click on the package or feature where the new feature will be created.
3. Select Add Feature (Can also open the Edit menu and select Add Feature.)
Remove a Feature from a package:
1. Edit the Windows Installer package with the VERITAS Software Console.
2. Right-click on the package or feature where the new feature will be contained.
3. Select Delete (Can also open the Edit menu and select Delete.)
Features Summary Tab (Under General):
Name of the feature as it appears in the tree view
Name:
Advertised feature when possible.
Favor advertising:
Refers to files, which are not run locally, but from a CD or server.
Favor source:
Feature will inherit attributes from its parent feature.
Favor parent:
Feature will not be available for advertising.
Do not allow advertising:
Do not display option to be Always install the feature.
Absent:
The feature will only be advertised if the Windows Installer is installed on the
Advertise only if the OS
machine. Windows Installer is installed on Windows 2000 by default. The
understands MSI Files:
Windows Installer for Windows NT 4 and Windows 9.x can be downloaded.
Description of the feature.
Description:
Feature Summary screen:

15

Elements of the Package


Components
Features are made up of components. A feature can contain more than one features and
components. But a component cannot contain other components or features. Components are
the lowest object of the Windows Installer package. Components do, however, have properties
associated with it like the General Summary and other major properties of the package such as
Files, Shortcuts, Registry, Services, INI Edits, and Advertising.
Add a Component to a package:
1. Edit the Windows Installer package with the VERITAS Software Console.
2. Right-click on the feature where the new component will be contained.
3. Select Add Component
(Can also open the Edit menu and select Add Component.)
Remove a Component from a package:
1. Edit the Windows Installer package with the VERITAS Software Console.
2. Right-click on the component to be removed.
3. Select Delete
(Can also open the Edit menu and select Delete.)

Components Summary Tab (Under General):


Source:

Target:

Component:
Key Path:

The path and file name of the highlighted component file at the source. The
source is always under the location of the Windows Installer package. The
Browse button () will bring up the Directory dialog box. From this dialog, you
can choose the variable that represents the source directory.
The target directory of the highlighted component. For example, if you had a
number of files you wanted to go in C:\PROGRAM FILES\VERITAS
SOFTWARE, this is where you would enter that path. The Browse button ()
will bring up the Directory dialog. From this dialog, you can choose variables
representing the directory where the target is located.
The internally-generated component GUID (globally unique identifier).
The key path can refer to the key file, a registry key, or can be null. If null, the
Installer will use the components Target directory as the key path. The Browse
button brings up the Select Keypath dialog. You can choose a file or a registry
key.

Run From:

Local:
Source:
Optional:
Reference Count
Shared DLLs
Permanent
Never Overwrite
Transitive

The component will run from the local machine.


The component will run from the source the network or a CD, for example.
The component can run from either the local machine or from the source.
A counter will keep track of the shared DLLS used by this component.
The Installer will never uninstall this component.
The Installer will never overwrite the component with another version.
Indicates that the component will be replaced during an upgrade of the
application.

16

Elements of the Package


Component Summary screen:

17

Elements of the Package


Files
The Files section of the Windows Installer package is responsible for copying and removing files
during the installation. The tabs are as follow:
Tabs:
Add
Remove
Fonts

Files listed will be added during the install process.


Files listed will be removed during the install process.
Fonts associated with the component.

To add, remove and modify files or font, use the icons provided:
New

Delete

Properties
-

To add a new file or font, go to the appropriate tabs (Add, Remove, Fonts) and click New.
To modify a file or font, go to the appropriate tabs, highlight the file or font and click
Properties. (Double clicking on the file or font will also work).
To remove a file or font, go to the appropriate tab and highlight the file or font and click
Delete.
(Pressing the Delete key will also work.)

18

Elements of the Package


File Properties:
Long Filename:
Short Filename:
Size:
Version:
Language:
Attributes:
Security:
Component:

The name of the selected file for systems that accept long file names.
The shortened version of the filename for systems that do not accept long
filenames. If this field is empty, then the file name falls within the 8.3 restriction.
The size of the selected file.
The version of the selected component file.
The language the interface uses.
The file attributes, such as Read-Only or System.
The Permissions button brings up the Permissions dialog box, which contains
specific information on which permissions are granted for this file.
The component associated with this file.

NOTE: When working with filenames longer than 8 characters, a short file name must always be
provided because the target volume for the installation may only support short file names. By
default, the short file name is provided; eight-character name, period (.), and 3-character
extension.
Short and long file names must not contain the following characters:
\ ? | > < : / * "
In addition, short file names must not contain the following characters:
+ , ; = [ ]
Short file names may not include a space, although a long file name may.

19

Elements of the Package


Shortcuts
This section will install shortcuts for the component. The Shortcut section has only an Add tab.
The add, remove and delete function for this tab is the same as previous tabs:
New

Delete

Properties
-

To add a new shortcut or font, go to the appropriate tab and click New.
To modify a shortcut or font, go to the appropriate tab, highlight the file or font and click
Properties. (Double clicking on the file or font will also work).
To remove a shortcut or font, go to the appropriate tab and highlight the file or font and click
Delete.
(Pressing the Delete key will also work.)

20

Elements of the Package


Shortcut Properties:
General Tab:
Name:
Shortened Name:
Component:
Create In:
Target:
Feature:
File:
Description:

The name of the shortcut as it will appear to the user.


The name of the shortcut as it will appear within file systems that cannot
handle longer file names.
The GUID (globally unique identifier) of each component associated with this
shortcut.
Where the shortcut will appear after the package installs.
What the installed shortcut will point to; either a feature or a file.
The feature the shortcut will install when a user executes it.
The file the shortcut will install. The shortcut can point to any file, not just files
within the package.
The text describing the shortcut that appears as the fly-by tool tip.

Shortcut Property General Tab:

21

Elements of the Package


Icon Tab:
Shortcut Key:
Show Command:
Argument:
Working Directory:
Icon:
Select Icon

Clear Icon
Current Icon

A unique key combination that you want to use for a shortcut. Valid key
sequences are [Control][Alt]Character, [Control][Shift]Character,
[Shift][Alt]Character and [Control][Shift][Alt]Character.
Indicates whether the activated shortcut window will run in a normal,
minimized or maximized state.
Any arguments to pass to the target when the Shortcut is executed.
The targets working directory when the shortcut is executed.
The file from which to extract the icon if it does not come from the applications
executable file.
Clears the icon currently in use.
Displays the current icon chosen.

Shortcut Property Icon Tab:

22

Elements of the Package


Registry
The Registry section of the Windows Installer package will add, update or remove entries within
the Registry during the installation of the component. Updating the Registry is subject to
permissions granted to the account installing the package.
Tabs:
Add
Remove

The registry keys listed will be added or updated during the install process.
The registry keys listed will be remove during the install process.

The registry section starts off with four HKEYs available for edit.

At the HKEY level, only new keys can be added. At other levels, new keys and new values can be added
to the key.

Modifying a Key
To add a new key:
1. Navigate to the desired level, highlight the key and right-click
2. Choose New Key
3. Enter a name for the new key and press Tab or click on another area in the window
(Pressing ENTER will not accept the change.)
To add a new value:
1. Navigate to the desired level, highlight the key and right-click
2. Choose New Value
3. Enter a Value Name for the new value and select a Data Type, click OK
4. Enter the data for the new value, Click OK
To rename a key:
1. Navigate to the desired level, highlight the key and right-click
2. Chose Rename
3. Enter a name for the new key and press Tab or click on another area in the window
(Pressing ENTER will not accept the change.)
To delete a key:
1. Navigate to the desired level, highlight the key and right-click
2. Choose Delete

23

Elements of the Package


Modifying a value
To rename a value:
1. Navigate to the desired level, highlight the value and click on it once
2. Enter a new name for the Value, press Enter
To set permissions on the value:
1. Navigate to the desired level, highlight the value and right click
2. Choose Permissions to bring up the Permissions dialog box
3. Click on the New(Insert) icon:
New(Insert)
Delete
Move Up
Move Down
Browse
4.
5.
6.
7.

Click on the Browse icon


Highlight the group to be added, select the Permission level and click OK
To add another group, repeat steps 3 to 5
Click OK when done

To modify a value data:


1. Navigate to the desired level, highlight the value and right click
2. Choose Properties
3. Enter the new value data desired and click OK
To delete a value:
1. Navigate to the desired level, highlight the value and right click
2. Choose Delete

24

Elements of the Package


Services
The NT Service section will add services to the Windows NT and Windows 2000 machines during
the installation of the Windows Installer package. Use the Control tab screen to give instructions
about how to control a Service. Your instructions may apply either to a Service you are newly
adding or to a Service that already exists. For this reason, the Services listed on the Control tab
do not need to be the same as those listed on the Add tab.
Tabs:
Add
Control

Will add the NT Service listed when the component is installed.


Controls the behavior of the NT Service. Can set the control for an NT Service
being added or on a pre-existing NT Service.
The add, modify or delete the NT Service or control, use the icons provided:
New

Delete

Properties
-

To add a new service or control, go to the appropriate tab and click New.
To modify a service or control, go to the appropriate tab, highlight the service or control and
click Properties. (Double clicking on the file or font will also work).
To remove a service or control, go to the appropriate tab and highlight the service or control
and click Delete. (Pressing the Delete key will also work.)

25

Elements of the Package


Services Add Services General tab(New and Properties option):
Name:

Component:
Service Type:

User Account
System Account
Interacts with desktop

The actual name that Windows NT will use to identify the Service in the
Windows NT Registry. This is stored under:
HKEYLOCALMACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\SER
VICES
The component the service is associated to.
The service will start with specified users account.
The service will start with the local system account.
In addition to system account, the service will interact with desktop.

Start Type:

Auto Start

Demand start

Error Control:

Ignore

Normal
Critical
Fail

The service will start automatically upon boot up. Startup Type is set to
Automatic.
The service will start on demand of the user or application that requires the
service. Startup Type is set to Manual.
Control indicates what happens if the Service fails to start:
Windows NT logs the error and continues startup without displaying an error
message.
Windows NT logs the error, displays an error message, and continues startup.
Windows NT logs the error and restarts with the last known good configuration.
Select the Fails box if a failure for the Service to install should cause the overall
installation of the component to fail as well.

26

Elements of the Package


Services Add Services Options tab:
Display Name:
Load Order Group:
Dependencies:
Group
Services
Domain\Username:
Password:

The name that Windows NT will use to identify the NT Service in the Control
Panel/Services screen.
The load ordering group this Service is part of.
This area lists the Services or load ordering groups that the system must start
before this Service can start.
Add or edit a load ordering group that must start before this Service starts.
Add or edit a Service that must start before this Service starts.
The domain and username of an account that can access this Service.
The password for the account that can access the Service.

27

Elements of the Package


Services Control Tab:
Service Name:
Arguments
Add to List
Remove
Wait until the service
completes before
proceeding
Component
During Installation
Start during the
StartService action
Stop during the
StopService action
Delete during the
DeleteService act
During Uninstall
Start during the
StartService action
Stop during the
StopService action
Delete during the
DeleteService act

The name of the NT Service


(Optional) Arguments specific to the Service
Adds the argument to the list
Removes the highlighted argument from the list
When checked, the installation will pause until the Service successfully starts.
Component associated with the service
Starts the specified service during installation of the package.
Stops the specified service during installation of the package.
Removes the specified service during installation of the package.

Starts the specified service while uninstalling the package.


Stops the specified service while uninstalling the package.
Removes the specified service while uninstalling the package.

28

Elements of the Package


INI Edits
The INI Edits section allows the administrator to add, update or remove entries in an INI file. New
.INI files will be created if it does not exist on target machines. To be able to modify an .INI file,
the .INI file must be listed in the INI Edits section.

Tabs:
Add
Remove

Adds / update the .INI files during install.


Remove entries from the .INI files during install.

29

Elements of the Package


INI Edits - ADD Tab:
Use the Add tab if you want to create or update an INI file when the component is installed. The
data view contains a list of INI files that are to be updated. If you highlight a section under the INI
file, the keys that will be updated are displayed.
The .INI file follows this format:
[Section]
Key=Value
Add an INI file to the list to be updated:
1. Click the INI Edits option in the list view. An Add tab and a Remove tab appear in the data
view.
2. Under the Add tab, right-click on the INI File Value and choose New File.
3. Type in or browse to the INI file you want to add.
4. Press the TAB key.
Add a New Section:
1. Under the Add tab, right-click on the .INI file the new section will belong to.
2. Select New Section from the context menu.
3. Type in the name of the section heading.
4. Press the TAB key.
Add a New Key and Value:
1. Under the Add tab, right-click on the section the new key will belong to.
2. Select New Key from the context menu. The Properties dialog box will appear.
3. Type the key in the Key field and the desired value in the Value field.
4. Use the radio buttons to select the action you want to take with this key.
a. Add line: Add or edit the value of the listed key
b. Create line: Create new line under the section
c. Add Tag: Add the value to the key
5. Click OK.
The Add tabs new Key and Value properties box:

30

Elements of the Package


INI Edits - REMOVE Tab:
Use the Remove tab if you want the package to remove material from an INI file when the
component is installed. The data view contains a list of INI files that are to be updated. If you
highlight a section under the INI file, the keys that will be updated are displayed.
Add an INI file to the list to be removed:
1. Click the INI Edits option in the list view. An Add tab and a Remove tab appear in the data
view.
2. Under the Remove tab, right-click on the INI File Value and choose New File.
3. Type in or browse to the INI file you want to modify.
4. Press the TAB key.
Add a New Section:
1. Under the Remove tab, right-click on the .INI file the new section will belong to.
2. Select New Section from the context menu.
3. Type in the name of the section heading.
4. Press the TAB key.
Add a New Key and Value:
1. Under the Remove tab, right-click on the section the new key will belong to.
2. Select New Key from the context menu. The Properties dialog box will appear.
3. Type the key in the Key field and the desired value in the Value field.
4. Use the radio buttons to select the action you want to take with this key.
a. Remove Line: Will remove the line containing the value from the Key
b. Remove Tag: Will remove just the value from the Key
5. Click OK.
The Remove tabs new Key and Value properties box:

31

Elements of the Package


How the INI file is handled
During the install process, the .INI file is checked for each section that needs to be modified. It will
take the following actions:
1. If the heading does not exist, it will be created and the specified lines will be added beneath
it.
2. If the heading does exist, the file will be checked for the specified keys beneath that heading.
If a specified key exists, the key will be changed to the one specified here. If the key does not
exist, the key=value statement will be added.

Advertising
Windows Installer can be instructed to initially install a minimal subset of an application. Later,
additional components can be automatically installed the first time the user accesses features
that require those components. This is known as advertising.
NOTE: This section should only be utilized by Administrators who are familiar with COM objects.
Tabs:
Typelib
Classes
ProgID
Extensions
Environment

Shows the TypeLib information for the component key file.


The Classes tab contains COM server-related information.
The ProgID tab contains information about program IDs.
The Extensions tab contains information about program extensions.
Allow you to edit information pertinent to environment variables.

32

Windows Installer
Windows Installer overview
The Microsoft Windows Installer is a component of the Windows 2000 operating system, but
versions of the installer for other Windows operating systems are also available. The Windows
Installer helps simplify the installation process of software applications and assist in software
management.
The Windows Installer technology consists of the Windows Installer (MSIEXEC.exe) and the
Windows installer package (.MSI) that holds information regarding the applications properties.
The Windows Installer service manages the installation and removal of applications defined by
the Windows Installer package during the installation and configuration of the application.
Windows Installer is not only an installation program; it is also an extensible software
management system. Windows Installer manages the installation, addition, and deletion of
software components, monitors file resiliency, and offers rollback feature during failed installation.
Additionally, Windows Installer supports installing and running software from multiple source
locations.
NOTE: The Windows Installer is a Microsoft component. The functionalities listed may or may
not apply to WinINSTALL LE.

Windows Installer functions


The Windows Installer offers the following functionalities:
Restores original computer state upon installation failure: Windows Installer keeps
track of all changes made to the system during the application installation process. If the
installation fails, Windows Installer will restore, or roll back, the system to the original
state prior to the installation of the failed package.
Helps prevent certain forms of inter-application conflicts: Windows Installer enforces
installation rules that help to prevent conflicts with shared resources between existing
applications. Such conflicts can be caused when an install operation makes updates to a
dynamic link library (.dll) shared by an existing application, or when an operation deletes
a dynamic link library shared by another application.
Reliably removes existing programs: Windows Installer can reliably uninstall programs
it previously installed. It removes all the associated registry entries and application files,
except for those shared by other installed software. You can uninstall an application at
any time after a successful installation. (Removal should not be confused with rollback,
which restores a computer to its initial state when an installation failure has occurred.)
Diagnoses and repairs corrupted applications: An application can query Windows
Installer to determine whether an installed application has missing or corrupted files. If
any are detected, Windows Installer repairs the application by recopying only those files
found to be missing or corrupted.
Supports on-demand installation of application features: Windows Installer can be
instructed to initially install a minimal subset of an application. Later, additional
components can be automatically installed the first time the user accesses features that
require those components. This is known as advertising. For example, Windows Installer
could install Microsoft Word with a minimal set of features. The first time the user tried to
access a mail merge function (not included with the original installation), Windows
Installer would automatically install the mail merge component. Similarly, Windows
Installer can also purge components that go unused in an application. For example,
Windows Installer could be configured to remove the mail merge component if it goes
unused for 60 days.
Supports unattended application installation: Installation packages can be configured
to require no installation process interaction from the user. During the installation
process, Windows Installer can query the computer for desktop attributes, including
determining whether applications were previously installed by Windows Installer.

33

Windows Installer
Windows Installer service
On Windows 2000 and Windows NT 4, the Windows Installer runs as a service and uses the
system account by default. The service manages the installation process but uses the logged on
users account to install the package. Therefore, changes made by the Windows Installer
package will require the users to have access to those areas.
NOTE: This pertains to the default behavior of the Windows Installer but can be reconfigured to
interact with Active directories.

Windows Installer program


The Msiexec.exe program is a component of Windows Installer that installs the Windows installer
packages (.MSI packages). This program uses a dynamic link library, Msi.dll, to read the package
files (.msi), apply transforms (.mst), and incorporate command-line options. The installer performs
all installation-related tasks: copying files onto the hard disk, making registry modifications,
creating shortcuts on the desktop, and displaying dialog boxes to query user installation
preferences when necessary.
When the Windows Installer is installed on a computer, an association is created for the .MSI file
and the msiexec.exe program. When a file with the .msi extension is double-clicked, the
operating system associates the .msi file with Windows Installer and runs the Msiexec.exe
application to install the package.

Windows Installer package (.MSI)


The Windows Installer package (.MSI) is a type of relational database that stores all the
instructions and data required to install or uninstall the application. The .MSI package contains
information on where the source files are located, shortcut information, .INI properties, registry
changes and so forth.
Because the database is relational, changes made to one table are propagated automatically
throughout the database. The Windows Installer database tables reflect the general layout of the
application, including:

Available features
Components
Relationships between features and components
Necessary registry settings

The Windows Installer database (.MSI package) consists of multiple interrelated tables containing
the information necessary to install the components of the application.

34

Windows Installer
Transforms
The installation process can be manipulated by applying transforms (.mst) to the installation
database. A transform makes changes to elements of the database. For example, Windows
Installer can use a transform file to change the language in the user interface of an application.
The Windows Installer transform files modify the installation package file at installation time, and
can therefore dynamically affect the installation behavior.
Customization transforms, much like patches, remain cached on the computer. These transforms
are applied to the base package file whenever Windows Installer needs to perform a configuration
change to the installation package. Transforms are applied at initial installation; they cannot be
applied to an application that is already installed.

Command line options


Command line options are available for the MSIEXEC.EXE program. For a complete list of the
MSIEXEC command line options, refer to Appendix B.
Install a package using the command line
1. Open Command Prompt
2. From the command window, type msiexec /i [package|product_code] and then press
ENTER.
Where:
package is the name of the Windows Installer package file.
product_code is the globally unique identifier (GUID) of the Windows Installer package.
Example:
msiexec /i C:\Temp\package.msi
Note: Windows Installer command-line switches are not case-sensitive.
Remove a package using the command line
1. Open Command Prompt
2. From the command window, type msiexec /x [[package|ProductCode] and then press
ENTER.
Where:
package is the name of the Windows Installer package file.
ProductCode is the globally unique identifier (GUID) of the Windows Installer package.
Example:
msiexec /x C:\Temp\package.msi
Note: Windows Installer command-line switches are not case-sensitive.

35

Windows Installer
Creating installation log files
1. Open Command Prompt
2. From the command window, type msiexec /i package [/L][i][w][e][a][r][u][c][m][p][v][+][!]
log_file.txt, and then press ENTER.
Where:
package is the name of the Windows Installer package
/L indicates to log information. The following flags specify which information to log:
i - Status messages
w - Nonfatal warnings
e - All error messages
a - Start up of actions
r - Action-specific records
u - User requests
c - Initial user interface parameters
m - Out-of-memory
p - Terminal properties
v - Verbose output
+ - Append to existing file
! - Flush each line to the log
* - Wildcard: log all information except for the v option.
log_file.txt - the name and path of the text log file.
Example:
msiexec /i C:\Temp\package.msi /L*
Notes:
Windows Installer command-line switches are not case-sensitive.
To include the v option in a log file using the wildcard flag, type /L*v at the command
prompt.
The Windows Installer log file options can also be used with the uninstall and repair
processes.

36

Advanced Administration
Now that the basics are covered, this section will go into more details about WinINSTALL LE and
the Windows Installer package administration. First, well look at the discover process. Next,
well look at the .NAI and the .REG files and then move on to administering the .MSI database.

Manipulating the Discover Process


When taking the Before Snapshot, the discover process excludes some files and some portions
of the registry by default. Files and directories that are excluded are listed in the files.xcp file
under the Windows (WINNT) directory and the xfiles.xcp under the discover.wrk directory (x
represent the drives that were selected to be scanned). Registry sections that are excluded are
listed in the reg.xcp file. The .xcp files are created after the Before Snapshot starts.
NOTE: To minimize errors, excluding files and directories should be done through the interface
and not through modifying the .xcp files themselves.
Generating the .xcp files:
In some cases, the administrator may want to customize the default exclusion list and be able to
reuse it during future discover processes. To generate the .xcp files, run discoz.exe from the
Winstall directory. This will start the discover process. Enter the required prompts. When the
Before Snapshot starts scanning, click Cancel. The .xcp files are created under the Windows
(WINNT) directory. There should be a files.xcp and a reg.xcp.
Modifying the files.xcp:
To modify the files.xcp file, open it with a text editor such as notepad. You should see similar
entries to this:
\DISCOVER.WRK\
X:\DOCUME~1\phisith\LOCALS~1\Temp\
X:\DOCUME~1\phisith\LOCALS~1\Temp\
\DELETED.SAV\
X:\WINNT\System32\CONFIG\
NTUSER.DAT
NTUSER.INI
NTUSER.DAT.LOG
UsrClass.dat
You can add to the files.xcp file to exclude files and directories. Valid entries are:
\Directory\
Files*.*
*.tmp
File*.mp?

Exclude all directories name 'Directory' on all drives.


Exclude all files that begins with "files
Excludes all files with the "tmp" extensions.
Exclude any variations of File*.mp?

You can also remove entries from the exclusion file to scan files or directories that were
previously excluded. Save the changes when done.
Modifying the reg.xcp:
To modify the reg.xcp file, open it with a text editor such as notepad. You should see similar
entries to:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\DeskView\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\DesktopStreams\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Doc Find Spec MRU\

Entries can be added or removed. Specific values cannot be excluded; the reg.xcp file only
excludes keys and sub-keys. The syntax is as follow:
HKEY\\SubKey\SubKey\

37

Advanced Administration
Running the discover process again:
The .xcp files can be saved to the Winstall directory for future reference. When creating a new
Windows Installer package, the .xcp files can be copy to the Windows (WINNT) prior to starting
the Before Snapshot.
To start the Before Snapshot again, simply run discoz.exe from the Winstall directory. If the
Before Snapshot was not canceled when generating the .xcp files, a prompt will appear to start
the After Snapshot. Select Abandon the Before snapshot and start over option and click
Next to start a new Before Snapshot session.
NOTE: Changes to the .xcp files will not take effect until a new session of the Before Snapshot is
started.

Manipulating the NAI and REG file


Following the After Snapshot, an .NAI file and an .REG file is created for the package. An .RGO
file may also be created if the discover process picked up sections of the registry being removed.
The files are then converted to the Windows Installer package or .MSI package.
Warning: Incorrect modifications to the .NAI and .REG files may render the Windows Installer
package unusable upon conversion. Always backup the original .NAI file, .REG file and the .MSI
package prior to modifying them.
Editing the .NAI file:
To edit the .NAI file, open it with a text editor such as Notepad.
Editing the .REG file:
To edit the .REG file, right click on the .REG file and choose Edit. Double clicking on the .REG
file will input the values into the Registry.
Converting the NAI and REG file to a Windows Installer package:
In the event that the .MSI package gets corrupted or accidentally deleted, the .NAI file and .REG
file can be converted to a new .MSI package.
To convert the .NAI file and .REG file to an .MSI package:
1. Open the VERITAS Software Console
2. Highlight Windows Installer Package Editor in the Tree View
3. Go to the File dropdown menu and choose Convert NAI to MSI
(Can also right click on Windows Installer Package Editor in the Tree View and chose
Convert NAI to MSI)
4. Specify the path and Filename of the .NAI file or browse out to it.
5. Specify the output location and filename of the .MSI package.
6. Click Convert
7. Click Load to open the converted .MSI package with the VERITAS Software Console.
If no path is specified for the new .MSI location, the console will create the new MSI package
under the Winstall directory.

38

Advanced Administration
The MSI database
Once the .MSI package is created, it is no longer dependant on the .NAI file or .REG file. The
properties of the package are now contained within the .MSI package, stored in a relational
database format.
Example of the MSI database:

The .MSI package, however, still relies on the source files. The source files are not contained
within the package nor can WinINSTALL LE compress the source files into the .MSI package.
WinINSTALL LE makes the .MSI package more presentable to view and customize.

39

Glossary
After Snapshot
The After snapshot is a part of the Discover process that captures the changes on the machine since the
Before snapshot.

Before Snapshot
The Before snapshot is a part of the Discover process that captures the information that is currently on the
machine.

Clean Machine
A clean machine is one that has only the operating system and any necessary service packs.

Component
Components, such as certain .DLLs, Shortcuts, or Registry entries, comprise the most detailed level of an MSI
package. Packages are made up of features, and features are made up of components.

Component GUID
A component GUID is an internally generated globally unique identifier used to identify the component.

VERITAS Discover
The VERITAS Discover program is the program used to create the instruction files that tell what needs to be
done in order to install (or remove) a software package.

Features
Features, such as spell checkers, comprise the second level of an MSI package. Packages are made up of
features, and features are made up of components.

MSI Packages
See Windows Installer packages.

Product Code
A product code is an internally generated globally unique identifier used to identify the Windows Installer
package.

Quiet Machine
A quiet machine is one that has shut down all possible programs and processes while using Discover to take
Before and After snapshots.

Reference PC
A reference PC is a clean machine (or one exactly representative of your users machines) on which you create
and test MSI packages.

VERITAS Software Console


The VERITAS Software Console is a GUI portion of WinINSTALL LE that allows the administrator a way to
customize the Windows Installer packages.

Windows Installer Package


Windows Installer packages are self-contained database files containing requirements and instructions that the
Windows Installer Package Editor follows when carrying out various procedures.

WinINSTALL LE
WinINSTALL LE is a new technology that allows the Network Administrator a way to create and customize the
new Microsoft Windows Installer packages (.MSI packages). WinINSTALL LE consists of the VERITAS
Software Console and the VERITAS Discover program.

40

Appendix A - Related Issues


1. Discover and Open Files
Description
Discover picks up files added to the machine during the application setup process, and attempts
to copy them into the application source directory selected during the Before snapshot. In some
rare cases, these files may be open and cannot be copied. Discover will generate a warning, and
ask if you want to Abort, Retry or Ignore the error. If you choose to ignore the error, Discover will
continue, the file will not be added to the package, and a warning will be generated to FileErr.txt
in the package directory.

How to Test
Do a Discover Before and After snapshot on a system with open files. If you receive a message
that a file cannot be copied for some reason, and you click on Ignore, the file will not be added to
the package and the FileErr.txt file will be updated.

Implications
Depending on whether the file is needed by the application, you may need to manually add it to
the package after the fact.

Workaround
Before invoking Discover to take the After snapshot, make sure all applications are shut down,
application-related services are stopped, etc. (make sure no files are open).

Status
WinINSTALL LE is functioning as designed.

2. 16-bit Applications and Long Paths


Description
Installing 16-bit applications, such as Microsoft Office 4.3 to the Program Files directory (or any
long path) may result in a package that cannot be run.

How to Test
Do a Discover Before snapshot, install a 16-bit application to the Program Files directory, and
do a Discover after snapshot. When the generated MSI file is installed, the application will not
run if it has paths in INI files or in registry entries that reference a long path.

Implications
16-bit applications will not run if installed to a long path if they contain INI or registry data which
reference the long path.

Workaround
Install 16-bit applications to short paths.

Status
This will be corrected in an update to WinINSTALL LE which supports new Windows installer
syntax in the IniFile and Registry tables.

41

Appendix A - Related Issues


3. Uninstalling Key Applications
Description
In general, uninstalling applications that make critical changes to the system, such as Microsoft
Internet Explorer 4.0, either alone or in conjunction with Microsoft Outlook 98 is problematic.
Uninstalling applications may remove key files or registry information needed by the system,
rendering the system unusable. Unlike the rollback that the installer performs on a failed install,
which returns the system to its original form, the uninstall process does not have the original data
to replace. If other components in the system depend on the uninstalled data, they may begin to
fail following uninstall.
This would also apply to installing applications which share files (for example, repackaging Word
97 and Excel 97 separately, then installing them both and removing one of them).

How to Test
Each application to be repackaged should be thoroughly tested, including uninstall, to understand
the implications of removing the installed package.

Implications
Some applications cannot be uninstalled once installed. Some applications which share files with
other applications may need to be changed to ensure that shared files are not removed on
uninstall.

Workaround
Critical files (components) can be marked Permanent in the WinINSTALL LE console program so
as not to be removed on uninstall. This may allow the application to be uninstalled, leaving the
critical shared files around for other components to use.

Status
This is a permanent restriction.

4. Icon Extraction Warnings


Description
In order to advertise shortcuts, COM classes, and program IDs, it is necessary for WinINSTALL
LE to extract icons from the target executables for these items. For some applications, most
notably Microsoft Office 97, you may receive one or more warnings, for example:
Warning: icon extraction failed with error code 1813 for file <path>\FM20.DLL.

How to Test
Repackage Excel 97. You will get a warning for FM20.DLL.

Implications
In the case of error code 1813 (The specified resource type can not be found in the image file.),
this has no effect on the operation of the repackaged application. Icons for these elements,
however, may not appear as intended during advertising.

Workaround
This is a known issue with Office 97. The DLL in question, FM20.DLL, has no icon resources.
These messages can be ignored.

Status
WinINSTALL LE will suppress multiple instances of the same warning. This warning can be
ignored in the case of FM20.DLL and the Microsoft Office suite of applications.

42

Appendix A - Related Issues


5. Advertised Shortcuts Cannot use .ICO Files
Description
As documented in the Windows installer SDK, file extensions and COM classes can use .ICO
files as their icons, in addition to icon resources in executable (EXE, DLL, etc.) files. Advertised
shortcuts cannot use .ICO files, however some applications when repackaged attempt to do so.

How to Test
Repackage Netscape Navigator. The Smart Update shortcut uses a .ICO file.

Implications
Shortcuts using .ICO files cannot be advertised.

Workaround
The shortcut can still be installed as a non-advertised shortcut.

Status
In a future release of WinINSTALL LE we will either detect this or deal with it by not advertising
the shortcut, or repackaging the icons in the .ICO files into .EXE files.

6. WinINSTALL LE and NT 4.0


Description
While WinINSTALL LE is designed for Windows 2000, it can be run on Windows NT 4.0, as long
as Service Pack 4 has been applied.

Implications
If WinINSTALL LE is used on NT 4.0 SP3 or below, you will have problems with advertising
shortcuts, file extensions, and COM classes. You will receive an icon extraction warning, with
error code 122 (ERROR_INSUFFICIENT_BUFFER). This is caused by a bug in Windows NT 4.0,
corrected in Service Pack 4.

Workaround
Apply Service Pack 4 before attempting to use WinINSTALL LE on NT 4.0.

Status
This is a permanent restriction.

43

Appendix B MSIEXEC Command Line Options


MSIEXEC Command Line Options
The executable program that interprets packages and installs products is Msiexec.exe. Note that
Msiexec also sets an error level on return that corresponds to the Win32 error codes. The
following table describes the command-line options for this program.
Option
/I

/f

/a
/x

/j

/L

/m

Parameters
Package|ProductCode

Meaning
Installs or configures a product.
Repairs a product. This option ignores any property
values entered on the command line. The default argument
list for this option is 'pecms'. This option shares the same
argument list as the REINSTALLMODE property.
p - Reinstall only if file is missing
o - Reinstall if file is missing or if an older version is
installed.
e - Reinstall if file is missing or an equal or older version is
installed.
d - Reinstall if file is missing or a different version is
[p|o|e|d|c|a|u|m|s|v] Package|ProductCode
installed.
c - Reinstall if file is missing or the stored checksum
doesn't match the calculated value. Only repairs files that
have msidbFileAttributesChecksum in the Attributes
column of the File table.
a - Force all files to be reinstalled.
u - Rewrite all required user specific registry entries.
m - Rewrite all required machine specific registry entries.
s - Overwrite all existing shortcuts.
v - Run from source and re-cache the local package.
Administrative installation option. Installs a product on
Package
the network.
Package|ProductCode
Uninstalls a product.
Advertises a product. This option ignores any property
[u|m]Package
values entered on the command line.
or
u - Advertise to the current user.
[u|m]Package /t Transform List
m - Advertise to all users of machine.
or
g - Language ID
[u|m]Package /g LanguageID
t - Applies transform to advertised package.
Specifies path to log file and the flags indicate which
information to log.
i - Status messages
w - Non-fatal warnings
e - All error messages
a - Start up of actions
r - Action-specific records
u - User requests
[i|w|e|a|r|u|c|m|o|p|v|+|!]Logfile
c - Initial UI parameters
m - Out-of-memory messages
o - Out-of-disk-space messages
p - Terminal properties
v - Verbose output
+ - Append to existing file
! - Flush each line to the log
"*" - Wildcard, log all information except for the v option.
To include the v option, specify "/l*v".
filename
Generates an SMS status .mif file in the user's TEMP

44

/p

PatchPackage

/q

n|b|r|f

/? or /h

/y

module

/z

module

directory. Must be used with either the install (-i), remove


(-x), administrative install (-a), or reinstall (-f) options. The
ISMIF32.DLL is installed as part of SMS and must be on
the path.
The fields of the status mif file are filled with the following
information:
Manufacturer - Author
Product - Revision Number
Version - Subject
Locale - Template
Serial Number - not set
Installation - set by ISMIF32.DLL to "DateTime"
InstallStatus - "Success" or "Failed"
Description - Error messages in the following order: 1)
Error messages generated by installer. 2) Resource from
msi.dll if install could not commence or user exit. 3)
System error message file. 4) Formatted message:
"Installer error %i", where %i is error returned from
msi.dll
Applies a patch. To apply a patch to an installed network
image you must combine options as follows:
/p <PatchPackage> /a <Package>
Sets user interface level.
q , qn - No UI
qb - Basic UI
qr - Reduced UI with a modal dialog box displayed at the
end of the installation.
qf - Full UI with a modal dialog box displayed at the end.
qn+ - No UI except for a modal dialog box displayed at the
end.
qb+ - Basic UI with a modal dialog box displayed at the
end. The modal box is not displayed if the user cancels the
installation.
qb- - Basic UI with no modal dialog boxes. Please note
that /qb+- is not a supported UI level.
Displays copyright information for the Windows
Installer.
Calls the system API DllRegisterServer to self-register
modules passed in on the command line. For example,
msiexec /y my_file.dll.
This option is only used for registry information that can't
be added using the registry tables of the .msi file.
Calls the system API DllUnRegisterServer to unregister
modules passed in on the command line. For example,
msiexec /z my_file.dll.
This option is only used for registry information that can't
be removed using the registry tables of the .msi file.

45

Appendix B MSIEXEC Command Line Options


Examples:
To install a product from A:\Example.msi, install the product as follows:
msiexec /i A:\Example.msi
Public properties must have names containing numerals or uppercase letters and can be set on
the command line. See About Properties. To install a product with PROPERTY set to VALUE use
the following syntax on the command line. You can put the property anywhere except between an
option and its argument.
Correct syntax:
msiexec /i A:\Example.msi PROPERTY=VALUE
Incorrect syntax:
msiexec /i PROPERTY=VALUE A:\Example.msi
Property values that are literal strings must be enclosed in quotation marks. Include any white
spaces in the string between these marks.
msiexec /i A:\Example.msi PROPERTY="Embedded White Space"
To clear a public property using the command line, set its value to Null.
msiexec /i A:\Example.msi PROPERTY=""
For sections of text set apart by literal quotation marks, enclose the section with a second pair of
quotation marks.
msiexec /i A:\Example.msi PROPERTY="Embedded ""Quotes"" White Space"
The following is an example of a complicated command line.
msiexec /i testdb.msi INSTALLLEVEL=3 /l* msi.log COMPANYNAME="Acme ""Widgets"" and
""Gizmos."""
The following example illustrates advertisement options. Note that switches are not casesensitive.
msiexec /JM msisample.msi /T transform.mst /G langid /LIME logfile.txt

46

Appendix C FAQ
Frequently Asked Questions:
1. What is WinINSTALL LE?
WinINSTALL LE is an administrative console used to create or modify Windows Installer packages
(also referred to as .MSI packages). WinINSTALL LE is a limited edition and does not have all the
features of the WinINSTALL 6.5 Console program. The interface of WinINSTALL LE is also different
from WinINSTALL 6.5. It uses the concepts of features and components.
2. Where can a copy of WinINSTALL LE be obtained?
WinINSTALL LE is provided on the Windows 2000 Server CD. It is located on the CD under
VALUEADD\3RDPARTY\MGMT\WINSTLE.
3. How can WinINSTALL LE be installed?
The WinINSTALL LE installation file is SWIADMLE.MSI and is provided on the Windows 2000 server
CD. WinINSTALL LE is a Windows Installer package designed for Windows 2000 and Windows NT.
Because it is a Windows Installer package, the Windows Installer will need to exist on the machine
prior to installing WinINSTALL LE. By default, Windows 2000 comes with the Windows Installer
program installed. The Windows Installer program for Windows NT can be downloaded from
Microsofts web site.
HINT: Installing Microsoft Office 2000 will install the Windows Installer program on the Windows NT
operating system.
To install WinINSTALL LE, simply double click on the SWIADMLE.MSI package. The Windows
Installer will manage the rest of the installation process.
4. How can the discover process be run without installing WinINSTALL LE on the referenced machine?
The discover process should be run on a clean and quiet machine. Therefore, WinINSTALL LE
should not be installed on the machine the package is being created on. Run the discover process
from a machine that has WinINSTALL LE installed or copy the WinINSTALL LE files to a location on
the server and run the Discover program from there. WinINSTALL LE installs the files to \Program
Files\VERITAS Software\winstall directory. The Discover program, discoz.exe, is located under the
'Winstall' directory.
Running discover from the administrator's machine:
1. Share out the 'Winstall' directory under \Program Files\VERITAS Software\.
2. From the clean machine, browse out to the winstall share.
3. Run discoz.exe to start the discover process.
Running discover from the server:
1. Copy the 'Winstall' directory to a location on the server.
2. From the server, share out the 'Winstall' directory.
3. From the clean machine, browse out to the Winstall share.
4. Run discoz.exe to start the discover process.
5. Can the Windows Installer package be compressed with WinINSTALL LE?
No. WinINSTALL LE does not come with the option to compress the source files into the Windows
Installer package or .MSI package.

47

Appendix C FAQ
6. Can the WinINSTALL LE Discover program run on other Windows Operating systems beside
Windows 2000?
The only other Windows Operating system that the WinINSTALL LE Discover program will run on is
Windows NT 4. Once the Windows Installer is installed on the reference machine, the Discover
program will be able to run on that system.
NOTE: WinINSTALL LE is designed for and will only run on Windows 2000 and Windows NT 4
operating systems. Separate packages will need to be created for the different operating systems.
For example, do not install packages created for Windows NT on Windows 2000 machines. The file
and directory exclusion list may need to be modified accordingly.
7. Can the Windows Installer packages be installed on other Windows operating systems besides
Windows 2000?
To be able to install the Windows Installer packages on other Windows operating systems, they will
need the Windows Installer installed. A way to check whether or not the Windows Installer is installed
on the machine is to search for the MSIEXEC.exe file. Separate packages will need to be created
specifically for each operating systems.
NOTE: Though the console can be used to manually create Windows Installer packages that will run
on Windows 9x operating systems, WinINSTALL LE is designed for and will only run on Windows
2000 and Windows NT 4 operating systems. WinINSTALL LE components include the VERITAS
Software Console and the VERITAS Discover program.
8. When installing a Windows Installer package (.MSI package), received a message that "This
installation package could not be opened."
When the Windows Installer package is being modified by the VERITAS Software Console, the
console program locks the package for consistency. As a result, the message is displayed when
trying to install a package that is being modified by the console.
To eliminate the message, close the console that is modifying the Windows Installer package before
installing that package.
.
9. Can WinINSTALL LE convert previous versions of WinINSTALL 6.0 or WinINSTALL 6.5 .NAI
packages to Windows Installer packages?
No. WinINSTALL LE cannot convert previous versions of WinINSTALL 6.x .NAI packages to
Windows Installer (.MSI) packages successfully. The .NAI format used in WinINSTALL LE is
different.
NOTE: The "Convert NAI to MSI ..." option in the VERITAS Software Console is used to convert the
.NAI files created by the WinINSTALL LE Discover program. It cannot be used to convert previous
versions of WinINSTALL 6.x .NAI packages.
10. How can multiple packages be viewed in the VERITAS Software Console?
Because WinINSTALL LE is a limited edition, only one package can be viewed through the VERITAS
Software Console at one time. However, multiple sessions of the console can be opened to modify
different packages.

48

Appendix D Example .XCP files


FILES.XCP
\DISCOVER.WRK\
C:\DOCUME~1\username\LOCALS~1\Temp\
C:\DOCUME~1\username\LOCALS~1\Temp\
\DELETED.SAV\
C:\WINNT\System32\CONFIG\
\System Volume Information\
\Debug\
\Documents and Settings\*\Cookies\
C:\WINNT\CMOS.RAM
\Documents and Settings\*\Application Data\Microsoft\Internet Explorer\
PAGEFILE.SYS
MSDOS.SYS
\RECYCLED\
\RECYCLER\
\SYSDIFF\
\~secure.nt\
\ffastun.ff?
\ffastun0.ff?
\ffastunt.ff?
\ffastunt.ff
\catalog.wci\
C:\WINNT\System32\temppf.sys
\pagefile.sys
NTUSER.DAT
NTUSER.INI
NTUSER.DAT.LOG
UsrClass.dat
UsrClass.dat.LOG
Winapps.lst
ebd.log
IPSEC*
OAKLEY*
C:\WINNT\security\
C:\WINNT\schedlog.txt
C:\WINNT\schedlgu.txt
C:\WINNT\System32\NTMSData\
C:\WINNT\Tasks\
C:\WINNT\NTMSData\
\TEMP\
C:\WINNT\System32\dllcache\
\Documents and Settings\Default User\
\SCANDISK.LOG
C:\WINNT\NDISLOG.TXT
C:\WINNT\ShellIconCache
C:\WINNT\RECENT\
C:\WINNT\*.GRP
C:\WINNT\REG.DAT
USER.DAT
USER.DA0
C:\WINNT\SYSTEM.DA?
C:\WINNT\DEBUG
\Documents and Settings\*\*.DA?
*SPART.PAR
*.SWP
SAGE.DAT
SAGELOG.TXT
_OFIDX*.FF?
DISCOVER.INI
NAI.INI
C:\WINNT\csc\
C:\WINNT\SMARTCRD.DAT
IO.SYS
mscreate.dir
\Documents and Settings\*\Local Settings\*.*
\Documents and Settings\*\Local Settings\Temp\
\Documents and Settings\*\Local Settings\History\
\Documents and Settings\*\Local Settings\Temporary Internet Files\

49

Appendix D Example .XCP files


REG.XCP
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\DeskView\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\DesktopStreams\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Doc Find Spec MRU\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ExpView\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\NewShortcutHandlers\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\PrnPortsMRU\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects\
HKEY_LOCAL_MACHINE\Software\Description\Microsoft\Rpc\UuidPersistentData\
HKEY_LOCAL_MACHINE\Software\Program Groups\
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Program Manager\Common Groups\
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Program Manager\Settings\
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Program Manager\Recent File List\
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Program Manager\UNICODE Groups\
HKEY_CURRENT_USER\UNICODE Program Groups\
HKEY_LOCAL_MACHINE\Software\Classes\
HKEY_LOCAL_MACHINE\Hardware\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\HardwareProfiles\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\*\Enum\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\*\Security\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Dhcp\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ApmLegalHal\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Arbiters\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Biosinfo\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CoDeviceInstallers\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndexCommon\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\IDConfigDB\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaCategories\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaInterfaces\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaProperties\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaResources\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaSets\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NTMS\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PnP\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Redbook\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\

50

Appendix D Example .XCP files


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ScsiPort\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Server Applications\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceCurrent\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceProvider\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Setup\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StillImage\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SystemResources\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\FileRenameOperations\
HKEY_LOCAL_MACHINE\System\ControlSet000\
HKEY_LOCAL_MACHINE\System\ControlSet001\
HKEY_LOCAL_MACHINE\System\ControlSet002\
HKEY_LOCAL_MACHINE\System\ControlSet003\
HKEY_LOCAL_MACHINE\System\ControlSet004\
HKEY_LOCAL_MACHINE\System\ControlSet005\
HKEY_LOCAL_MACHINE\System\ControlSet006\
HKEY_LOCAL_MACHINE\System\ControlSet007\
HKEY_LOCAL_MACHINE\System\ControlSet008\
HKEY_LOCAL_MACHINE\System\ControlSet009\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\perflib\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_CURRENT_USER\SOFTWARE\Microsoft\repackager\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints\
HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates\
HKEY_CURRENT_USER\Volatile Environment\
HKEY_CURRENT_USER\Network\
HKEY_LOCAL_MACHINE\System\Select\
HKEY_CLASSES_ROOT\Autorun\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\OpenSaveMRU\
HKEY_LOCAL_MACHINE\Enum\
HKEY_LOCAL_MACHINE\CLONE\
HKEY_LOCAL_MACHINE\SAM\
HKEY_LOCAL_MACHINE\SYSTEM\Clone\

HKEY_LOCAL_MACHINE\Software\Seagate Software\WinINSTALL\Version 6\Discover\

51

52

You might also like