You are on page 1of 19

PSS Learning Services Module 1.

3
Information in this document is subject to change without notice. The names of companies,
products, people, characters, and/or data mentioned herein are fictitious and are in no way intended
to represent any real individual, company, product, or event, unless otherwise noted. Complying
with all applicable copyright laws is the responsibility of the user. No part of this document may
be reproduced or transmitted in any form or by any means, electronic or mechanical, for any
purpose, without the express written permission of Microsoft Corporation. If, however, your only
means of access is electronic, permission to print one copy is hereby granted.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.

 2000 Microsoft Corporation. All rights reserved.

Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint,


SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other
countries/regions.
Contents

Lesson 3: Local and Upgrade Installation 61

The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 1.3 61

Lesson 3: Local and Upgrade Installation


Overview
This lesson discusses the installation of Microsoft® Project 2000. It also
discusses rollbacks, registration and component detection.

What You Will Learn


After completing this lesson, you will be able to:
 Discuss and install Microsoft Project 2000 locally as a new application
 Discuss and install Microsoft Project 2000 locally as an upgrade
 List different system components used or upgraded by
Microsoft Project 2000
 Explain the differences of installing and using Microsoft Project 2000 on
different systems (Microsoft® Windows NT® vs. Microsoft Windows 9x,
using Microsoft Internet Explorer vs. Netscape, etc.)
 Discuss piracy protection and registration features of Microsoft Project 2000
 Describe how rollbacks are implemented
 Describe how component detection works
Installing Microsoft Project 2000
When installing Microsoft Project 2000 on a computer without a previous
version of Microsoft Project.
Launching Microsoft Project 2000 setup first displays the welcome screen for
the installation wizard. Here it will prompt you for a user and organization
name as well as the 25-character CD key found on the back of the jewel case.

Figure 1 - Welcome Screen

Clicking Next displays the end-user license agreement for


Microsoft Project 2000. At this point you are given the choice of accepting or
rejecting the agreement. If you do not accept the license agreement, setup is
cancelled. To continue with setup, the user must accept the licensing agreement.
Module 1.3 63

Figure 2 - End User License Agreement

Install Now
Accepting the agreement and clicking, displays the Ready To Install screen.
Here you are given two options. They are “Install Now” and “Customize.” The
first option installs Microsoft Project 2000 in the default location with the
default options. The default location is “C:\Program Files\Microsoft Office\”. If
Office 2000 or one of its applications is installed on the system, the default
folder is the folder in which Office 2000 is installed.
Figure 3 - Ready to Install

By choosing Install Now, you not only accept the default installation location,
you also accept for only the default features to be installed in their default state.
For Microsoft Project 2000, the following features are installed as noted when
Install Now is chosen.
Feature Default Install State
Microsoft Project for Windows Run From My Computer
Add-ins: Adjust Dates Run From My Computer
Add-ins: Analyze Timescaled Data Run From My Computer
Add-ins: Compare Projects Run From My Computer
Add-ins: Euro Currency Run From My Computer
Add-ins: DB Conversion Run From My Computer
Add-ins: PERT Analysis Run From My Computer
Help Run From My Computer
Microsoft Project Templates Installed On First UseRun From My
Computer
Digital Signature for Microsoft® Installed On First Use
Visual Basic® for Applications (VBA)
projects
Core Support Files Run From My Computer
Extended Support Files Not Available
Module 1.3 65

Feature Default Install State

Bi-directional Support Installed On First Use


Universal Font Not Available
Japanese Font Installed On First Use
Korean Font Installed On First Use
Traditional Chinese Fonts Installed On First Use
Simplified Chinese Fonts Installed On First Use
Language Settings Tool Installed On First Use
Find Fast Search Engine Installed On First Use
Find Fast Search Converters Installed On First Use
Run From My Computer
Office Assistant: Rocky Installed On First Use
Office Assistant: Dot Installed On First Use
Office Assistant: MotherNature Installed On First Use
Office Assistant: Genius Installed On First Use
Office Assistant: Logo Installed On First Use
Office Assistant: F1 Installed On First Use
Office Assistant: Clipit Run From My Computer
Office Assistant: OfficeCat Installed On First Use
Web Publishing Run From My Computer
Spelling Checker (Spanish) Installed On First Use
Spelling Checker (French) Installed On First Use
Microsoft® Visual Basic® Help Installed On First Use
Table 1

Customize
If you choose Customize instead of Install Now, you are given the options to
make modifications to the installation location and the state in which certain
features are installed. First you are taken to the installation location screen.
Here you can see how much space is available on each system drive. You are
also given the opportunity to change the installation folder.
Note

Figure 4 - Installation Location

After selecting an installation location, you are taken to one of two screens,
depending on your system configuration. If you do not have IE 5 or higher
installed on you system, you are taken to the Updating Windows screen. Here
you are given the opportunity to install Internet Explorer 5 in either a standard
or minimal configuration. You may also choose not to install Internet
Explorer 5 at all.

Internet Explorer 5.1 is installed with Microsoft Project 2000. If you have no


browser or a browser other than IE 5 (such as Netscape or Internet Explorer  4)
installed on your system, you will be lead to the Updating Windows screen to
install Internet Explorer 5.1. If you have Internet Explorer 5 installed, but not
Internet Explorer 5.1, your browser will be updated automatically without
displaying the Updating Windows screen.

Although Microsoft Project 2000 will work without installing Internet


Explorer 5, it is recommended that the user choose to install it. Not installing
Internet Explorer  5 can cause some features, such as on-line help, to not work.
Module 1.3 67

If you already have Internet Explorer 5 or later installed on your system, (or
once Internet Explorer 5 installation has been completed) you are taken to the
Selecting Features screen. Here you can change the installation state of any of
the features that ship with Microsoft Project 2000.

Figure 5 - Selecting Features

Installing Microsoft Project 2000 updates your MDAC components to version 2.5


automatically. There is no option to disable this during installation.

Once you have selected the desired features, Microsoft Project 2000 is installed


on the system.
Try This: Install Microsoft Project 2000
Install Microsoft Project 2000 using the Customize Option.

1. Run SETUP.EXE from the install location given you by the instructor.
2. Enter a user name, organization name, and your CD key as required. Click
Next.
3. Agree to the license agreement and click next
4. Click Customize.
5. Install Project to the “C:\Program Files\Project 2000” directory. Click next.
6. Click Microsoft Project and choose Run all from My Computer.
7. Click Install Now.

Microsoft Project 2000 should then install to the designated directory.


Installing Microsoft Project 2000 as an Upgrade
If a previous version of Microsoft Project has been installed on the system,
Microsoft Project 2000 setup behaves a little differently than noted above. At
the Ready To Install screen, you are presented with the following two options:
Upgrade Now and Customize.

Figure 6 - Upgrade Ready to Install

Choosing Upgrade Now automatically uninstalls any previous versions of


Microsoft Project that are on the system. It then installs Microsoft Project 2000
in the default location. If you choose Customize, you receive the same options
as before with one exception. Between choosing the installation location and
selecting features, (or Updating Windows if Internet Explorer 5 is not installed)
you will get the Removing Previous Versions Screen. Here you have the option
to keep or remove previous versions of Microsoft Project.
Note

Module 1.3 69

Figure 7 - Removing Previous Version

Other than uninstalling previous versions of Microsoft Project, installing


Microsoft Project 2000 as an upgrade is not different than installing it as a new
product.

If you have a previous version of Microsoft Project already installed on your


system and you want to preserve the previous version, you should install
Microsoft Project 2000 to a different folder. Please note that if the previous
version is Microsoft Project 98, inserted projects, cross project dependencies
and resource sharing links may not work as expected. Also, workgroup
messaging features may not work as expected. Uninstalling
Microsoft Project 2000 “fixes” the unwanted connection between the two
versions.
Use Rollback to Recover from a Failed Installation
Attempt

When an installation is unsuccessful, the installer automatically restores


(rollbacks) the original state of the computer. Microsoft Project 2000 takes
advantage of this feature during installation. This means that you could cancel
the Microsoft Project 2000 installation in the middle of overwriting your
Microsoft Project 98 files and still be able to run Microsoft Project 98 when
Microsoft Project 2000 setup quits successfully. This also means that you can
resume installation if Microsoft Project 2000 setup unexpectedly quits before
completion.

Rollback Script
Window Installer accomplishes rollback by creating a rollback script. A
rollback script is a file containing a linear sequence of operations to perform
such as file and registry updates, configuration information updates, user
interface notifications, and state information for other operations. Each
operation recorded in the rollback script is a direct response of an operation in
the installation script. See the table below for some examples of what would go
into a rollback script.
During the Install Process Creating the Rollback Script
Write a registry key. If the registry key did not previously
exist, then describe how to remove the
registry key. If the key already existed,
then back up the existing registry key
so it can be restored.
Install a file. If a file did not previously exist in the
folder, then describe how to remove the
file. If the file already existed, then
back up the existing file so it can be
restored.
Create a shortcut to the file. If the shortcut did not previously exist
in the folder, then describe how to
remove the shortcut. If the shortcut
already existed, then back up the
existing shortcut so it can be restored.
Module 1.3 71

Why are rollback scripts in binary format?


Rollback scripts are in binary file format for the following reasons:
 Efficiency
 Avoids the need for parsing
 To discourage manual editing

Where Rollback Files are Located


The rollback script and files (.RBS & .RBF) are stored in hidden folders called
CONFIG.MSI. RBS files are rollback scripts. RBF files are backups of existing
files (Microsoft Project 98).

Config.Msi folders
The Config.Msi folders are created when MSIEXEC.EXE starts copying files
from the install point.

Rollback Scripts
The rollback script (.RBS) file is always stored in the CONFIG.MSI folder on
the drive where the operating system is installed. The .RBF files are stored in
the CONFIG.MSI folder located on the drive where the application that is being
backed up currently resides. This is done so that there is no crossing of drives
when backing up the application files. Files with a RBS file extension are
rollback script files and files with a RBF file extension are backups of existing
files. All rollback files and the CONFIG.MSI folder are deleted when the
installation completes successfully.

For more information on disabling rollbacks, see the following Knowledge Base
article: Q227181 "How to Manage Windows Installer Local Policies".
Use Logging to Troubleshoot Installation Issues

Although there are a number of ways that we can troubleshoot installation


issues with Microsoft Project 2000, logging can be a particularly effective way
to find out what is happening during the installation process.
Logging can be useful to see where a setup failure may have occurred. Both
SETUP.EXE and MSIEXEC.EXE create a play-by-play report of the install
process. Logs might be especially helpful if an escalation is deemed necessary.
Microsoft Project 2000 ships with logging turned off by default.
To enable logging during the Microsoft Project 2000 setup, start setup using the
following switches:
Setup.exe /l c:\logfile.txt
Additional switches are available to specify which information is written to the
log file.

For more information on which switches to use with logging, see the
Microsoft Project  2000 Resource Kit.

Installing Features and Components on Demand


With traditional installation technology, it was necessary to exit an application
and rerun setup to perform an installation task. This commonly occurred
whenever a user wanted a feature or product they had not chosen during the
first run of setup. This often made the process of product configuration
inefficient because it required the user to anticipate which functionality they
required before they ever used the product. With the Windows Installer,
however, users can install functionality on the fly.
Components Features

Module 1.3 73

Installation-On-Demand – Advertising Features


Installation-on-demand makes it possible to offer functionality to users and
applications in the absence of the files themselves. This notion is known as
advertising. The Windows Installer has the capability of advertising
functionality and to install-on-demand application features or entire products.
Whenever a user or application activates an advertised feature or product, the
installer proceeds with an installation of the needed components. This speeds up
the configuration process because additional functionality can be accessed
without having to exit and rerun another setup procedure.

Component Detection
A large portion of logic used in the Window Installer hinges on component
detection. Component detection is key in preventing DLL conflicts that often
plague applications that share common files. Whereas ACME used a procedural
script to install a disjointed collection of files, registry keys and other resources,
the Window Installer views all applications as three logical building blocks:
Components, Features, and Products. You can use the Window Installer to
detect missing components or files and then to reinstall features containing the
missing components. Because the installer installs features, and not
components, it must first resolve to which component a missing file belongs
and then install the feature containing that component.
Before addressing “Component Detection”, we need to look at these basic
building blocks of Window Installer.
The smallest installation unit for Window Installer is the component. A
component can be a collection of files, registry keys, shortcuts or INI file
entries. Components are commonly hidden from the user. Whenever a user
selects some feature for installation, the installer determines which components
are required. Only a single instance of any component is ever installed and so
several features may end up sharing some components. A component does not
necessarily have to contain any files. When a component contains one or more
files, all files are installed into the same folder. This is a rule of Window
Installer.

The “Golden Rule” of installer components: No single file (as defined by filename
and install location), registry entry, shortcut or other resource should ever be shipped
as a member of multiple installer components. This rule applies across products,
product versions, and companies.

Component detection information is stored in the registry at the following location:


HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Installer
\Components
A feature is a collection of one or more components. When you perform a
custom installation, you see a list of features to choose to install (any item on
the Feature tree). For example, Add-ins is a feature in Microsoft Project.
Features can share components.
Products
Note

As you would expect, a product represents a single product. “Microsoft Project”


is a product. There exists one package file (.MSI database) for each product.
For Microsoft Project 2000, this file is INSTALL.MSI. Each product has a
unique product code. Products consist of one or more features.

The product code for Microsoft Project 2000 is


8061EFD2ACDB1D117BEA000CF49BF2D3.

The product code for Project Central is


00A52CA4AE703D116815000CF4E6902F.

How Component Detection Works


The Windows Installer uses component detection to determine whether a
component is available and is in good working order. The Window Installer
performs component detection every time a product that was installed by the
installer attempts to use a feature. One use of component detection is
determining whether a component being installed is already installed and a
running product requesting a component, which in turn triggers component
detection. A single component contains the exact same set of resources,
regardless of which product ships it. Also, a resource cannot be shared across
components. This prevents collisions between components where the
components should have been unique from each other.
One of the objects that make up a component can be designated as the
“keypath” for that component. Typically this object is a file (for example,
winproj.exe), but it can be a registry key. The keypath represents two things:
1. The keypath represents the path to a given component. When an application
requests the path to the component, the Window Installer returns the path to
the keypath resource (usually a path to a file).
2. The keypath represents the only resource the Window Installer checks for
existence to see whether the component is properly installed.

When the keypath resource is missing, the Window Installer treats the
component as broken and triggers a reinstall of the missing component.
Module 1.3 75

Component Detection Example


A user wants Rocky, the Office Assistant that was not originally installed. After
starting setup in maintenance mode, the installer checks the following registry
key:
Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Installer\Comp
onents\COMPRESSED_COMPONENT_GUID\COMPRESSED_PRODUCT_GUID
= c:\path\to\keypath
When the keypath exists at the specified path, the installer informs the calling
application (i.e. Microsoft Project) of the path and the assistant is loaded.
When the keypath does not exist, the installer returns the appropriate error code,
which in this case is INSTALLSTATE_ABSENT.

Registry Keys
The installer then looks in the following registry hives to determine whether
Project is installed per-user or per-computer, and whether it is a managed
application. A managed application is an application assigned on Microsoft®
Windows® 2000 by an administrator via the App Deployment service. Per-User
means that each user on the machine has a profile enabled. For Microsoft®
Windows® 95/Microsoft® Windows® 98, user profiles must be turned on in
order to use per-user. For Microsoft® Windows NT® 4.0 and Windows 2000,
user profiles are turned on by default. Per-computer means that the applications
are the same for all users and no profiles are enabled.
Per-user, non-managed (Windows 95/Windows 98 and Windows NT 4.0):
Hkey_Current_User\Software\Microsoft\Installer\Products\
COMPRESSED_PRODUCT_GUID

Per-user, managed (Windows 2000):


Hkey_Current_User\Software\Classes\Installer\Products\
COMPRESSED_PRODUCT_GUID

Per-computer, managed and non-managed (Windows 95/Windows 98,


Windows NT 4.0 and Windows 2000):
Hkey_Current_User\Software\Microsoft\Installer\Products\
COMPRESSED_PRODUCT_GUID
LastUsedSource and PackageName
When the installer finds the Product in one of these locations, it looks at the
\Sourcelist key to find the PackageName and LastUsedSource location.
LastUsedSource value is in the format:
<n/u/m (net/url/media)>;<item# from n,u, or m list>;<Sourcepath>

For example,
“n;1;\\united\dartest\public\”

When the package exists at the LastUsedSource, installer launches to install all
the components in the feature, from the list of SQUIDs in:
Hkey_Local_Machine\Sofware\Microsoft\Windows\CurrentVersion\Installer\Featur
es\COMP_PRODUCT_GUID
Feature_name = SQUID1SQUID2SQUIDn

A SQUID is simply a compressed (SQuished) GUID that is written to the registry to


save space.

When the package does not exist at the install point in LastUsedSource, installer
checks the \Sourcelist\[Net, URL, Media] sourcelist keys for alternate sources.
The sourcelist is checked in the order of Net, Media, URL by default – but setting
the SearchOrder System Policy can change this.

When a correct MSI package file (correct Filename and Product code) is found
at one of the sources, the installer proceeds to install the components. If a valid
source is not found, the installer pops up the Network Resource Dialog box to
give the user the option of specifying another valid source. However, if the
DisableBrowse system policy is set, the browse button is not displayed to the
user.
Once a source is selected or typed into the combo box, the source is validated.
If valid, the installer proceeds to install the above. Otherwise, the installer
brings the dialog box back up again and this continues until a valid source is
found or the user cancels.
Source lists are explained in more detail in the next lesson.

Removing Components
Each installed component is registered in Hkey_Local_Machine with a list of
products that are "clients" of that component. If four different products (as
defined by the installer package code) install the same component (as defined
by the installers component code), then there will be four products in the client
list - in essence, a reference count of 4 on that component.
When the installer removes a component, it first checks the client lists of the
component to make sure that no other installer based products are using that
component. If there is another product in the list, the installer removes the
product code of the product that is removing from the client list, and is done. If
Module 1.3 77

the list is empty except for the product the installer is uninstalling, then it
performs a check of the SharedDLL key. If the installer finds a SharedDLL
count that's higher than is expected, it leaves the entire component behind.
Otherwise it will remove the entire component.
There also may be a registry entry at this location that is all zeros. This is a system
component and is never removed.

You might also like