You are on page 1of 37

FAQs on Windows Installer:

1) What is Windows Installer Technology?

The Windows Installer technology is made up of three elements that work


together:

Windows Installer Technology = Windows Installer client + Windows


Installer service + Windows Installer package (an .msi file.)

a) Windows Installer client: Any application that calls Windows Installer


to perform a task (Example SMS distribution, Add Remove Programme,
Windows-based shell..etc )
b) Windows Installer service : a System service “Msiexec.exe” for
INSTALLING and MANAGING applications
c) Windows Installer package (an .msi file.): A database file which is
used to manage the various states of the application like adding,
changing, or removing it from a computer

2) What are the Functions provided by MSI?


The Following functions are provided by the MSI
a) TRANSACTIONAL OPERATIONS: For each operation that an MSI
performs It can undo and rollback hence System will not contain
unwanted FILES /Registries and will be more clean if uninstallation
fails
b) SELF HEALING : MSI can detect common installation problems at
launch , like missing Files and Registries and Automatically repairs
them
c) INSTALL ON DEMAND : It supports on demand installation of
application features { like Spell Check in Words}
d) INSTALLATION ON LOCKED DOWN ENVIRONMENTS:
e) STATE MANAGEMENT : Windows installer provides a set of WiN32
API which allow querying the current state , verification of the existing
state , repair of corrupted state and transition from one state to
another
f) CONSISTENT INSTALLATION RULES : Windows Installer uses
consistent and reliable version rules, which provide consistent and
reliable installations for all applications and prevent newer files from
being overwritten by older files

3) How is advertised installation is different from a normal installation??

An advertisement installation places entry points, such as shortcuts, on the


destination computer without actually installing the application. When an installation
is opened in advertising mode, only the Execute sequences are run because it does
not have a User Interface sequence, and therefore no dialogs appear
Command line /JU is used for that

4) What are the Different types of Privileges during the installations can be
given?
Locked-down
• The users Doesn’t have the Full Admin Writes to Install the application
• The users Doesn’t have WRITE-ACESS to the Program Files folder of their
computers or to the HKEY_LOCAL_MACHINE registry location
• Installation can be done in this environment by the approval of the
Administrator by means of GPO or Active directories, the administrator can
assign or publish the application
Elevated rights
• An account or process that is operating or logged into the computer that
has full administrator rights or permissions.(User can install the application
but doesn’t have rights to set Group policies )
Administrative Rights
• Highest level of permissions that can be granted to an account in Windows
NT User Manager. An administrator can set permissions for other users and
create groups and accounts within the domain. These rights are required to
install the System Files Update.

5). What is the difference between the AdminUser and Privileged properties?

The AdminUser property is set when the user performing the installation is an
administrator; the Privileged property is set when the user is allowed to install with
elevated privileges. A user can install with elevated privileges if the user is an
administrator, both the per-user and per-machine AlwaysInstallElevated policies
are set or the application has been assigned by the system administrator.

If the user is an administrator, then both the AdminUser and Privileged properties
are set. If the user is not an administrator, then AdminUser is never set. In that
case, privileged is only set if the user has been given permission by the
administrator through assignment or policy to install the application as elevated.

In many cases, it is recommended that launch conditions or similar conditions use


Privileged instead of AdminUser to allow for installation of applications assigned by
administrators.

6) Should users with user-level privileges be able to install MSI applications?

A. Those with user-level privileges can install managed applications if the system
administrator has enabled the installation. Otherwise, the user will only be able to
install MSI applications provided the user has permission to write files, create
directories, and write registry keys in the locations where the installation typically
writes those resources. If the user cannot write to a location, then the installer will
only be able to write to that location if the administrator has given permission for the
installer to do so.

7) What are the various Installation sequences?

a) USER INTERFACE: The User Interface sequence, which is executed at the


beginning of installation, gathers system information, displays dialogs to the
end user, and records end user choices. It is suppressed during silent
installations.
b) EXECUTE IMMEDIATE: In this mode the installer creates an internal script and
run then to make some system changes
c) EXECUTE Deferred : IT encompasses all the actions between InstallInitialize
and InstallFinalize

8) What are the Differences between EXECUTE Deferred and EXECUTE


IMMEDIATE?

Differences Between:

EXECUTE Deferred EXECUTE IMMEDIATE


1) The Custom Actions can be 1) The Custom Actions can be sequenced
sequenced between Anywhere within any of the sequence
InstallInitialize and InstallFinalize tables

2) These cannot access the 2) It has full Access to the installation


installation database and has very database and can read ,
limited access to the Installation Set installation property,
SESSION , because an installation Modify features and Components,
script can be executed outside the Add temp Column or to the table,
installation session that created it

3) These action are not executed 3)These actions are executed first and
immediately Instead they are the necessary system changes are done
scheduled to run later during the for the installation
execution. ( Untill
InstallExeute,InstallExeuteAgain ,
InstallFinalize actions are run)

4) These custom actions can run in : 4) These custom actions can run only in
(i)Context of the user initiating the the context of the user initiating the
installation installation
(ii) Elevated using the system
context

9) What versions of Windows include Windows Installer?

Microsoft Windows 2000 SP3 [version 2.0]


Windows Millennium Edition (Windows Me), [version 1.2]
Windows XP include Windows Installer. [Version 2.0]
10) What is FILE association?
Linking a particular File extension with an EXE to determine which application to
launch, when the end user double-clicks that file is known as FILE association.
File associations are a type of advertising and are stored in the registry.

Example

Registering a File Extension


If your application uses special file extensions, you might want to register them so
that the application gets started when the file gets double clicked, and that there is
an icon associated with the file. There are special tables for this in the msi structure
(Extension and ProgId) their contents is also used for advertising. In Wise 3.5 there
is even a GUI for editing the Contents of the Extensions table. No gui though for the
ProgID table which sets up icons for file extensions.
You can also make your own registry entries to create application to file extension
relations. The example shows how to register the .dvi extensions to be opened with
the yap.exe program.

Link the extension .dvi to the DVI.Document class:


Key: HKLM\SOFTWARE\Classes\.dvi
Value: <default> = "DVI.Document"
Describe the DVI.Document class:
Key: HKLM\SOFTWARE\Classes\DVI.Document
Value: <default> = "DVI Document"
Select Icon #0 from yap.exe which is in the MSI:
Key: HKLM\SOFTWARE\Classes\DVI.Document\DefaultIcon
Value: <default> = "[!yap.exe],0"
How to open the .dvi file if it is
if it is double clicked in the Explorer:
Key: HKLM\SOFTWARE\Classes\DVI.Document\shell\open\command
Value: <default> = "[!yap.exe]" "%1"

11) How can u disable/ Hide an application from ADD/REMOVE Programme?

To hide an application from Add/Remove Programs, set the


1) ARPSYSTEMCOMPONENT property to 1. ( In Property table of the package/
command line/ transform ).
2) ARPNOREMOVE property to 1(Operating systems < Windows 2000 hide
from add /Remove)
3) ARPNOREMOVE property to 1((Operating systems >= Windows 2000, will
Just disable the remove button from Add/remove Programs )
12) What is PER USER and PER MACHINE installation?

Per-machine Installations Per-user Installations

1) Shortcuts are installed to the All Users 1) Shortcuts are installed only to that
profile users' profile

2) COM registration is always written to 2) On Windows 2000, COM registration


HKLM\Software\Classes is written to HKCU\Software\Classes.

3) Icons and transforms are stored in 3) Icons and transforms are stored in
%WINDOWS%\Installer\ %USERPROFILE%\Application
{ProductCode}. Data\Microsoft\Installer\
{ProductCode GUID}

13) Determine all the values of the ALLUSERS property set in the MSI file ?

The following tables illustrate how the property affects the application installation
when combined with the access privileges of the user and the type of operating
system. You can ensure the ALLUSERS property has not been set by setting its value
to an empty string (""), ALLUSERS="".

Windows NT/
ALLUSERS is not
Windows 2000 set. (ALLUSERS="") ALLUSERS = 1 ALLUSERS = 2

User access privileges. Per-user installation Not valid; returns Per-user installation
using folders in user's an error stating using folders in
personal profile. the user does not user's personal
have enough profile.
access privileges
to install
application.

Administrator access Per-user installation Per-machine Per-machine


privileges. using folders in user's installation using installation using
personal profile. folders in "All folders in "All Users"
Users" profile. profile.

The best practice is to set the ALLUSER property =1 because if the


application is to be installed to per machine and a user without
admin access try to install that it will prompt an error but in the
other cases it will be a peruser installation without any prompts

Default Value : If ALLUSERS is not set, the installer does a per-user installation.

Remarks

It is strongly recommended that developers do not author packages that set


the ALLUSERS property using a dialog or custom action on Windows 95 or
Windows 98. An upgrade may fail on Windows 95/98 if the ALLUSERS
property is set using a dialog or a custom action. On Windows 95/98, the
installer ignores any attempt to set ALLUSERS by either the command line or
by the Property table. The ALLUSERS property can however still be set using
a dialog or a custom action, and this causes upgrades of that installation to
fail

14) What is a managed application?

Application where the administrator exerts some level of control over the over
the installation and maintenance of the product is called as managed
application.
Following are the properties of a managed application :

1) Installed or advertised to a user by a member of the Administrators


group.
2) Installed or advertised per-machine by a member of the Administrators
group
3) Assigned or published on Windows 2000 and later by an Administrator
4) Marked as managed by another software and deployment management
system.
The exact method depends on the management system used, but generally
Requires an administrator's action

Note that "managed"[ these are MANAGED by administrators so that they can be
installed on users PC ] is different from "elevated." An elevated application is an
application that can run with system privileges when installing. All managed
applications are elevated, but applications can be elevated without being managed
by means of the AlwaysInstallElevated policy. Due to its security implications, this
policy is disabled by default and requires careful consideration before use
.

15) What is application ISOLATION?

ISOLATION is a method in which the application Files (DLLs/OCX) are also copied to
application Folder rather then the common folder location like system32 ,System and
a .EXE.local file of 0 KB is created which make the exe to look in the application
folder rather then the SHARED location which ensures more application stability and
less no. of CONFLICTS
16) What is the difference between SNAPSHOT and SMARTMONITOR?

SNAPSHOT SMARTMONITOR
1) It records all the changes which 1) It monitors and records the
happen after and before installation installation operations as they
and put in the Repackaged File happen

2) Snapshot does not capture the 2) SMARTMONITOR captures all the


replacement of files if the files are changes, Replacing files even if they
the same size, modification date, and are the same size, modification date,
version. Overwriting of existing and version. , Setting or deleting a
registry keys. As it can only take the registry value, creating or deleting a
difference registry key. ,Overwriting existing
registry keys with the same value

3) INI file Handling : 3) INI file Handling : Can add as INI


If it is Windows Directory : changes to it file entry irrespective of the location
are recorded as an .INI file change
Outside windows Directory : the entire
.INI file is added instead of just editing
the file

4) It takes more time as it requires 4) Since it is a monitoring process it


scanning of the computer states takes less time in comparison with
after and before installation Snapshot

5) It cannot monitors the application


designed for Windows -16 Bit

17) What is the difference between COMPONENT and FEATURE?

COMPONENT can be defined as a logical container with a UNIQUE GUID


which contains Files/registries/shortcuts/advertising info.

FEATURE COMPONENT
1) A part of the applications total 1) Basic building Block of a MSI which is
functionality that a user may decide to a collection of Files, registries,
INSTALL independently Advertising info..etc..

2) It doesn’t have a unique GUID 2) It has a unique COMPONENET GUID

3) Examples : SPELL 3) Shared piece of code,DAO,MFC,COM


Checker,Thesaurus,CLIP ART objects
18) What is install on demand?

Windows Installer does not install the necessary components until a user or
application attempts to activate the advertised program. This concept is called
install-on-demand.

19) What is meant by Advertisement in an MSI?

The availability of an application to a user without actually installing the application,


only the interfaces required for loading and launching the applications are presented
to the USER, PROVIDING THE FUNCTIONALITY WITHOUT LOADING THE
FILES

With the help of advertisement INSTALL ON DEMAND is feasible

20) What is the minimum requirement For a Windows OS to support the


Advertisement in applications?

Advertisement Support on Different Platforms


Platform Advertisement Support
Windows 2000 and later Advertisements are supported.
and Windows 98 and later.
Windows NT 4.0 and Advertisements are supported, only if
Windows 95 this additional requirement is met:
Internet Explorer 4.01 Service Pack 1
with Active Desktop installed. (It is not
necessary to enable Active Desktop, just
install it.) Minimum SHELL32.DLL version
should be 4.72.3110.0

21) What do mean by Resiliency?

The ability of an application to recover gracefully from situations in which a VITAL


component is missing or has been replaced by an incompatible version is known as
RESILIENCY

22) What is Source resiliency?

The Windows installer provides Source resiliency for ON DEMAND installation of


features. If the Source location changes or get DAMAGED The source list contains the
source locations that Windows Installer searches for installation packages. The
source location entries are in the form of a mapped drive letter, Universal Naming
Convention (UNC) path, Uniform Resource Locators (URLs), or physical media such
as compact discs. If one source fails, Windows Installer tries the next

The Property SOURCEDIR (SOURCELIST is different) contains the path of the


last successful installation path
23) What is a transform?

A transform is a .mst FILE which encapsulates all the changes to a base msi and
hence it enables to maintain a SINGLE installation FILE and changes separately in
the TRANSFORM file

24) What are the ways to make the changes in an MSI during installation?
The most generally used to make customizations in an MSI are
TRANSFORMS and COMMANDLINES

Difference between them are :


Command Line TRANSFORMS
1) We can change only the PUBLIC 1) This can affect both the PUBLIC and
properties with this PRIVATE properties

2) It cant affect the registries but can 2) It can affect Files/registries/Directories


modify the Files and Directories …

3) Group policy based Deployment 3) It can be done here


customizations cant be done with
command lines

25) What is the command line option for applying two or more TRANSOFMS
to a Single MSI?

Msiexec /I \\server\installation\my .MSI /Qb!


TRANSFORMS=common.mst;Group.mst

26) What are the reasons for self healing in an Application? An Application
Keeps on Reinstalling every time you click the shortcut. How to resolve.

.Go to eventviewer and check for Component ID. It may be missing or some error
related to that....fix it. Other options are….

Missing Files or Registry Keys


Look closely- some files are deleted by the application itself. If your package
contains such a file it will self-heal in order to restore the file each time.
Temporary Files Included In MSI
If any temporary files left on the system are captured in your package, they may
cause self repairs to occur in order to restore them.
Correct Path for the components.
Sometimes the component will have a wrong directory path so right click each and
every component and check for the directory.

HKEY_CURRENT_USER Keys in Package [Obvious]


HKCU Keys are installed only for the current user. Therefore, the first time the
application is run by each user, the HKCU keys belonging to the package will not
exist resulting in a reinstallation of the containing feature.
27) What are PUBLIC,PRIVATE and RESTRICTED properties ?

PUBLIC PROPERTY:
1) They are in always in CAPITAL LETTERS
EX: INSTALLLEVEL, ALLUSERS, ROOTDRIVE, TARGETDIR
2) These CAN BE CHANGED BY USER OR SYSADMIN THROUGH COMMAND LINE
OR TRANSFORM
3) These CAN BE OVERRIDDEN by THE COMMAND LINE
4) PROPERTIES THAT ARE SET DURING INSTALLATION AT USER INTERFACE
SHOULD BE PUBLIC

PRIVATE PROPERTY:

1) They MUST INCLUDE LOWER CASE LETTERS


EX: WindowsFolder, SourceDir, VersionNT
2) These CANNOT BE CHANGED BY USER OR SYSADMIN THROUGH COMMAND
LINE
3) These are used internally by the installer and their values must be entered
into the database by the author of the installation package or set by the
installer during the installation to values determined by the operating
environment.
4) The Private properties commonly describe the operating environment. For
example, if the installation is run on a Windows platform, the installer sets the
WindowsFolder property to the value specified in the Property table

REQUIRED PROPERTIES:

1) Properties mandatory for installation to work.


EX ProductCode; ProductLanguage; ProductVersion;
ProductName;Manufacturer.

RESTRICTED PUBLIC PROPERTY:

There are certain conditions where SystemAdmin can exert control over the
PUBLIC properties so that a user with an elevated privileges can’t modify or
access them so as to maintain secure systems these properties are know as
Restricted PUBLIC PROPETIES

28) What changes (PROPERTIES) u will make to ensure that a particular


feature should be installed in the system during installation?

Check the INSTALLLEVEL Property


The INSTALLLEVEL property is the initial level at which features are selected "ON" for
installation by default. A feature is installed only if the value in the Level field of the
Feature table is less than or equal to the current INSTALLLEVEL value. The
installation level for any installation is specified by the INSTALLLEVEL property, and
can be an integral from 1 to 32,767.

29) IMPORTANT PROPERTIES OF AN MSI FILE

Property Name Description


TARGETDIR Location to which the installation package is copied during an
administrative installation.
EX: msiexec /a D:\setup.msi TARGETDIR=\\server\share
ADDLOCAL List of features to be to be installed locally. ADDLOCAL=All
on the command line
ADDSOURCE List of features to be run from the source

ADVERTISE List of features to be advertised ( Never set properties


ADDLOCAL,ADDSOURCE and ADVERTISE = ALL in the
property table , it will not uninstall properly )
REINSTALL List of features to be reinstalled
If you set the REINSTALL property, you must also set the
REINSTALLMODE property, to indicate the type of reinstall you want.
When the REINSTALLMODE property is not set, all files currently
installed are reinstalled, but only if the file on the computer is an
earlier version or is not present. By default, no registry entries are
rewritten if REINSTALL is set to ALL, only features already installed are
reinstalled Thus, if REINSTALL is set for a product that is yet to be
installed, no installation takes place. REINSTALL is a vital property for
performing such important tasks such as patching and upgrading
software

REBOOT Suppresses certain prompts for a restart of the system


Force: Always prompt for a computer restart at the end of the
installation. The UI prompts the user to restart at the end. If there is
no user interface, the system restarts at the end of the installation

Suppress: Suppress restart prompts at the end of the installation.


During installation, Windows Installer prompts the user to restart
whenever it encounters ForceReboot set by the application vendor

ReallySuppress : Suppress all restart prompts that ForceReboot


initiates during the installation and also suppress all restart prompts at
the end of the installation.
REBOOTPROMPT Suppresses the display of computer restart prompts to the user.
Any restarts that are needed happen automatically.

Setting the REBOOTPROMPT property to Suppress (or S) allows


Windows Installer to perform a computer restart, if necessary,
without prompting the user

30) What are ICE Errors, how do we resolve it?

Internal consistency evaluators, also called ICEs, are custom actions written in
VBScript, Script, or as a DLL or EXE. When these custom actions are executed,
they scan the database for entries in database records and check the MICROSOFT
STANDARDS and indirectly predict the application stability in an MICROSOFT
ENVIRONMENT

31) What is LaunchConditions Action and How will you check whether an
operating system is an WINDOWS XP or not before installing the application
?

LaunchConditions Action

The LaunchConditions action queries the LaunchCondition table and evaluates each
conditional statement recorded there. If any of these conditional statements fail, an
error message is displayed to the user and the installation is terminated.
Commonly used launch condition is VersionNT

VersionNT property identifies the exact type or "flavor" of Windows your setup is
running on. Putting the same in the Launchconditions we can detect the operating
system prior to installation

Operating System (A)


Windows NT 4.0 Workstation 400
Windows NT 4.0 Domain Controller 400
Windows NT 4.0 Server 400
Windows 2000 Professional 500
Windows 2000 Domain Controller 500
Windows 2000 Server 500
Windows 2000 Advanced Server 500
Windows XP Home Edition 501
Windows XP Professional 501
Windows .NET Domain Controller 501
Windows .NET Standard Server 501
Windows .NET Enterprise Server 501

32) What is the Difference between MST and MSP?

Both MST and MSP are used to make changes in MSI package But main
differences between both of them

MST MSP
1) This is a File which contains the 1) It is basically the FILE from which
changes in a BASE MSI changes to an already installed
application is done

2) Transform cant be installed 2) Patch can be installed individually, if


individually without an MSI the previous MSI is existing in the
system

33) What is the difference between UPGRADE and UPDATE?

UPDATE UGRADE
1) This is a minor enhancement or 1) IT is removing the older application
BUG in a SOFTWARE which can make completely and installing a NEW one
few changes of FILES or Registries

2) The Overall functionality of the 2) The functionality is modified and


application remains almost the same New features may be added and
except few changes higher File versions are generally
added to the application

3) Hot Fixes, new Driver application 3) Wise package studio 5.0 and Wise
related to printers are examples of package studio 6.0 are the examples of
updates upgrades

A small update or a minor upgrade can affect applications in the following ways:
• Enlarge or reduce the feature component tree, without reorganizing the existing
hierarchy of features and components described in the table of feature
components.

• Add a new feature to the existing feature component tree.

• Remove a parent feature, including all the child features of each parent feature.

• Add a new component if the component is associated with a new feature.

• Change the tables, custom actions, and dialogs in the .msi file without changing
the file name. (Renaming the *.msi modifies the package, which also changes the
package code.)

• Add, modify, or remove files, registry keys, or shortcuts for components that are
not shared among features.

34) What are the BEST PRACTICES recommended by Microsoft in creation of


Package?

Some of the best practices are :

• Follow the components rules: Dont mix user and machine specific entries
in a single component. Ensure that only one .exe exists in each component.
Ensure that components are UNIQUE i.e. dont have a .dll that exists in more
than one component.
• Dont use Custom Actions to make any critical system changes.
Anything done in a custom action doesnt have any rollback capability, so if
your install goes 'pear shaped' you cant roll back changes made during a
custom action.
• Generate Merge Modules (MSM's), for any common components, and
use the Merge Module in any application that requires the component. Try to
source and use commercially produced Merge Modules if you can. If you can't
(and you wont be able to for most things...) then produce your own....
• Ensure that all user specific parts of the install i.e. all HKEY_CURRENT
_USER registry entries, are contained in a separate component. When
a new user logs into a machine, the self-heal functionality of MSI will detect a
missing component in the users profile, and will populate the users registy
with the settings for the application in question
• Ensure that any INI file changes are recorded in the INI file table,
rather than just as files in the file table. This will ensure that INI files are
edited if they exist already, rather than replaced with the version within the
MSI Package
• Make custom configuration changes using Transforms (MST's), rather
than by editing the MSI itself. This will make it easier to produce 'generic'
packages that can be modified for several environments.
• Set the Property ALLUSERS = 1 in the property table. This will force the
application to install for all users, if installed under an Admin account, and to
Current User, if using a non-admin account...
• Set the Property ROOTDRIVE = C:\ in the property table - This will force
applications to install to drive C:\. Otherwise, if you have more than one drive
in the target machine, MSI will look for the one with most free space. this
means you cant always guarantee when your applications will install to.
• Be sure to generate a new Product ID for each application - otherwise
you will encounter installation problems when trying to install more than on
MSI application on a single machine.
• Set the property REBOOT = Force in the property table to force a reboot at
the end of the installation - if one is required.
• In the registry table, anything enclosed in square brackets [ ] is assumed to
be an MSI property, and Windows Installer will attempt to resolve it. Whilst
this is often quite useful, sometime you WANT to have square brackets in a
registry value. To acheive this use the following syntax: [\
[[<mystring>[\]]

35) How do we give permissions to file or registry?


We can be give the permission to a USER using the following : Using cacls

Displays or modifies access control lists (ACLs) of files

CACLS filename [/T] [/E] [/C] [/G user: perm] [/R user [...]]
[/P user: perm [...]] [/D user [...]]

filename Displays ACLs.


/T Changes ACLs of specified files in
the current directory and all subdirectories.
/E Edit ACL instead of replacing it.
/C Continue on access denied errors.
/G user:perm Grant specified user access rights.
Perm can be: R Read
W Write
C Change (write)
F Full control
/R user Revoke specified user's access rights (only valid with /E).
/P user:perm Replace specified user's access rights.
Perm can be: N None
R Read
W Write
C Change (write)
F Full control
/D user Deny specified user access.

36) How do we create images using a ghost image which is for a particular
System, for Eg : for Dell pc, but need to install on different Hardware
configuration like IBM pc or some thing, how do we install the drivers et....

1) Create the perfect XP image on ANY hardware. (We used a Dell Optiplex
GX240).
2) Dump the image to the imaging server.
3) Image a different computer using that same image(Dell) even though the
target is a different computer with different HAL driver( We used an IBM 300GL).
At this time you would normally restart the computer and find out there is a
different HAL and hard drive drivers, video drivers and images are not compatible
on computers that use a different hal.
4) Turn on CD-ROM boot capability on your PC if it is not already active.
5) Reboot the computer with your Windows XP PRO CD inside it.
6) At the first prompt when it asks you if you want to repair or new install select
new install.
7) When it detects an XP installation has already occurred, it asks again if you
want to repair it or do a fresh install. CHOSE REPAIR.
The second repair scans the hardware information and recopies the files
ACCORDING TO THE
HARDWARE SCAN not the image that you sent down. All sound, video, HAL,
hard drive, chipset are
copied into the correct place.
8) enter a valid license, and restarting the machine this is what we saw:

Network loaded up perfectly on the first boot with Novell client even though the
NIC card was completely different than the image we put on, Auto Login still
worked, application launcher worked, Client trust and internet worked. Even the
user's profiles were still 100% intact. Everything about the image worked as if it
was a perfect clone including video, sound, USB, everything! . Only a few extra
shortcuts were on the start bar. We are now looking into weather or not we need
to reapply Windows XP SP1a and some other windows updates( I imagine we
will). All software that was installed and configured in the previous image loaded
without problems. It was a dream come true and only took us 40 minutes to
complete.

9) check over XP and make sure everything is ok and dump the new image.
We haven't checked all of the registry hacks we had in the original image, but we
know some took fine through the repair.

We are deploying XP by using ghost to clone 600 workstations with 7 different


computer hardware configurations with a clean image. With this method we will
only make 1 image, load it to another computer, repair it, then dump it back to
the server to load to the other workstations. It will save us from making 7
separate images from scratch when all of the workstations need to have the
same look, feel, and base software.

If you have a different way of doing this I would love to hear about it. I'm always
looking for better ways of doing things. I tried messing with Hal drives and device
drives between images and never got it running right. This way, it is automatic
and nearly 100% accurate.

Note:

1) HKLM\SOFTWARE\MICROSOFT\WINDOWSNT\CURRENTVERSION\WINLOGON

DEFAULTDOMAINNAME = WORKSTATION NAME

Anytime we change the workstation name this setting has to be changed or you
can't login. The workstation name and this registry key have to be the same,
unless you have a windows domain for it to contact. (SYSPREP set the default
m\c name)

2) Sysprep is a great tool to reduce the number of images. However, at the time
Sysprep is run, all drivers including INF files must be present on the machine.
When the Sysprep'd image is restored, the Sysprep mini-setup will perform a
hardware discovery and will only discover drivers that were present on the
machine when Sysprep was originally run. This means that as new hardware is
purchased or new drivers are required, the base image must be recreated,
drivers added, Sysprep run and every platform using the base image must be
tested.

37) What are the benefits of Patch ?

An application that has been installed using the Windows Installer can be upgraded
by reinstalling an updated installation package (.msi file), or by applying a Windows Installer
patch (an .msp file) to the application.
Benefits of using patch, rather than a complete installation package for the updated
product can have the following advantages:

• A patch can contain an entire file or only the file bits necessary to update part
of the file. This can enable the user to download an upgrade patch that is
much smaller than the installation package for the entire product.
• An update using a patch can preserve a user customization of the application
through the upgrade
• Skip actions associated with specific tables that are unmodified by the patch.
This can significantly reduce the time required to install the patch
• Create and install patches that can be uninstalled singly, and in any order,
without having to uninstall and reinstall the entire application and other
patches.

38) What are the points to be remembered during installing of a PATCH?

DO not perform a silent install of an MSP file like this:


Msiexec /p patch.msp /qn

it will not patch an existing installation. It will only update the locally cached
copy of the MSI database. Use this command line instead:

Msiexec /p patch.msp REINSTALL=ALL REINSTALLMODE=omus


Double-clicking the .MSP file will patch an existing installation as well as the locally
cached copy of the MSI database because the dialogs are run and they in turn set
REINSTALL and REINSTALLMODE for you. When you run the patch unattended, the
dialogs are not displayed and the properties are not set. This is why the properties
must be set at the command line

39) What are the different HIVES in the registry?

Folder/predefined key Description

HKEY_CURRENT_USER Contains the root of the configuration information for the


user who is currently logged on. The user's folders, screen
colors, and Control Panel settings are stored here. This
information is associated with the user's profile. This key is
sometimes abbreviated as "HKCU."

HKEY_USERS Contains all the actively loaded user profiles on the


computer. HKEY_CURRENT_USER is a subkey of
HKEY_USERS. HKEY_USERS is sometimes abbreviated as
"HKU."

HKEY_LOCAL_MACHINE Contains configuration information particular to the


computer (for any user). This key is sometimes abbreviated
as "HKLM."

HKEY_CLASSES_ROOT Is a subkey of HKEY_LOCAL_MACHINE\Software. The


information stored here makes sure that the correct
program opens when you open a file by using Windows
Explorer. This key is sometimes abbreviated as "HKCR."
Starting with Windows 2000, this information is stored
under both the HKEY_LOCAL_MACHINE and
HKEY_CURRENT_USER keys. The
HKEY_LOCAL_MACHINE\Software\Classes key contains
default settings that can apply to all users on the local
computer. The HKEY_CURRENT_USER\Software\Classes
key contains settings that override the default settings and
apply only to the interactive user. The
HKEY_CLASSES_ROOT key provides a view of the registry
that merges the information from these two sources.
HKEY_CLASSES_ROOT also provides this merged view for
programs designed for earlier versions of Windows. To
change the settings for the interactive user, changes must
be made under HKEY_CURRENT_USER\Software\Classes
instead of under HKEY_CLASSES_ROOT. To change the
default settings, changes must be made under
HKEY_LOCAL_MACHINE\Software\Classes. If you write
keys to a key under HKEY_CLASSES_ROOT, the system
stores the information under
HKEY_LOCAL_MACHINE\Software\Classes. If you write
values to a key under HKEY_CLASSES_ROOT, and the key
already exists under
HKEY_CURRENT_USER\Software\Classes, the system will
store the information there instead of under
HKEY_LOCAL_MACHINE\Software\Classes.

HKEY_CURRENT_CONFIG Contains information about the hardware profile that is


used by the local computer at system startup

40) Explain the PACKAGING LIFE CYCLE?

New Request
Technical Review
Defining the complexity
Application packaging
Quality Analysis
Dispatching the package
UAT

41) You just need to make some changes to a MSI, you have to save it not
compile it.Which tool will you use?

ORCA Tool can be used for the same purpose

42) MS Packages. How to package it? Any MS tool?

The Microsoft tools used for packaging are:

• Microsoft® Visual Studio® Installer

• MsiDb.exe tools for comparing

• ORCA for editing


43) What is dll cache and what is its use and what you mean by WFP
(Windows File Protection) ?

WFP : The windows file protection service is an "invisible" service that is enabled
by default and runs constantly in the background after a successful logon. (It does
not load in safe mode.) . It helps in retaining the Critical files of the system by
restoring them when they are Overwritten or deleted from special folder called
dllcache. The location of this file is:

%SYSTEMROOT%\system32\dllcache .

This is one of the solution to the DLL HELL Problems in Windows OS

44) Can we replace a Windows Protected file through package?

It is no feasible to replace the protected File through package, currently the only
applications capable of updating WFP files are:

Hotfix.exe for hotfix installations


Windows updates
Win32.exe for operating system upgrades
Update.exe for hotfix and service pack installations

45) How do I create a shortcut that uninstalls my .MSI based application


and include it in my installation?

Create a command line shortcut to uninstall the application and include the the
shortcut in your installation (command Line)
Command Line:[SystemFolder]msiexec /x {product code}

Systemfolder: It is an installer property it set s the path to the system folder For
example, on 32-bit Windows the value may be C:\Windows\System32. On 64-bit
Windows, the value may be C:\Windows\SysWow64

46) How you can detect between an admin installed(Uncompressed msi)


MSI and a compressed one ?

Sourcetype property ( = 2 for compressed =4 for uncompressed )

47) What are the file versioning rules for Microsoft installer?
File Versioning Rules:

The Windows Installer uses an even more complex algorithm when deciding
Whether to keep an existing file or install a new copy. It takes into account not just
the file dates and the version, but the languages involved as well. Here’s the set of
rules the Windows Installer follows:

Highest version wins. All other things being equal, the file with the highest
version number wins, whether that’s the file on the hard drive or the file in the
source media.

Any version is higher than no version at all. If the copy in the source media
Contains version information, and the copy on the hard drive has no version
Information, Windows Installer chooses the one with the version information.

Favor the new language. All other things being equal, if the file being
installed is localized for a different language than the file on the computer, Windows
Installer uses the copy with the language that matches the product being
Installed.

Meet the product’s needs for multiple languages. If both copies support
Multiple languages, Windows Installer ignores the common languages and uses
the copy that supports the most languages out of the set of languages that the
Product uses.

Keep the maximum number of languages. If the copies differ in the number
of languages they support and both support all the languages that the product
needs, Windows Installer keeps the copy that supports the most languages.

Treat non-versioned files as user data. If there is no version information for


either copy, Windows Installer compares the file creation date and the last
modification

Date for the file on the computer. If the modification date is later than
the creation date, Windows Installer assumes this file has been customized by
the user and does not overwrite it. Otherwise, it installs a new copy.

Companion files go along with the versioned file. It’s possible to mark a
file within the Installer database that does not include version information as a
companion file to a file that does include version information. In this case, the
companion file is installed if the other file is installed. There is one exception to
this rule, though. If the companion file is not present on the target machine, it’s
Installed even if the versioned file is not installed.

48) How will you change the MSI default icon to some other ICON?

HKCR\msi.package\Default icon change entry to new ico file.

49) What are the applications which should not be repackaged?

1) Vendor MSi: because UPGRADES cannot be applied if repackaged

2) Windows Media Player, anti-virus software, and device drivers:


because applications make low-level changes to the operating system
involving Windows File Protection

3) Service packs, OS security updates, Internet Explorer, MDAC, or the


Windows Installer service: MDAC is merge module and the rest of the
Applications break Windows security rule (Windows protected files are
overwritten) hence can’t be repackaged
50) What is Active SETUP? In which conditions it is used or How will the
package install if it does not have advertised feature

Active setup is a process that runs automatically when a user logs in.
Registry keys at

HKLM\Software\Microsoft\Active Setup\Installed Components\%APPNAME%


and
HKCU\Software\Microsoft\Active Setup\Installed Components\%APPNAME%

are compared, and if the HKCU registry entries don't exist, or the Version number of
HKCU is less than HKLM, then the specified application is executed for the current
user.

If your application requires installation of components such as files or registry keys


on a per-user basis, but your application has no advertised entry points or other
triggers to initiate the installation process, then Active Setup is the solution.

To implement Active Setup, you need to package your entire user Installation
requirements into an EXE preferably, using SMS Installer, or Wise Installation
System for example, and place the EXE on the client workstation during the main
application installation process.

In addition, populate the following registry key with two ( REG_SZ ) values:

KEY:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\
%APPNAME% -
where %APPNAME% is an arbitrary string which can be the application name,
or its product code GUID. As long as it is unique on that workstation!

VALUE1:
StubPath=<full local path>\YourActiveSetup.exe

VALUE2:
Version=1

When each new user logs on, the operating system compares Active Setup keys
between HKLM and HKCU, and runs the nominated executable if the HKCU entry is
missing or the version in HKCU is less than HKLM.So if you ever need to update the
ActiveSetup executable, just install a new version, and increment the Version
registry key (VALUE2 above) in HKLM. Next time the user logs on, the active setup
will run again for that user

51) What are the command line switches are supported in MSI?

/i [package] Installs the specified product


/f p,o,e,d,c,a,u,m,s,v
p - Reinstalls a product only when a file is missing
• o - Reinstalls a product when a file is missing or an older version of a file is
installed
• e - Reinstalls a product when a file is missing or an equal or older version of a
file is installed
• d - Reinstalls a product when a file is missing or a different version of a file is
installed
• c - Reinstalls a product when a file is missing or the stored checksum value
doesn’t match the calculated value
• a - Forces all files to be reinstalled
• u - Rewrites all required user-specific registry entries
• m - Rewrites all required computer-specific registry entries
• s - Overwrites all existing shortcuts
• v - This switch forces the installation to ignore the cached MSI package on the
machine and recache the new package being run. This should only be used in an
upgrade and not with a first-time installation.

/a [package] Installs a product on the network


/x [package] Uninstalls a product
/j u,m [package] Advertises a product. u is current user; m is all users
/l i,w,e,a,r,u,c,m,p,v,+,![log file]
• i - Status messages
• w - Non-fatal warnings
• e - All error messages
• a - Action startups
• r - Action-specific records
• u - User requests
• c - Initial User Interface (UI)
Parameters
• m - Out-of-memory
• p - Terminal properties
• v - Verbose output
• + - Appends to the existing file
• ! - Clears each line in the log file
• * - Wildcard. Logs all information, but
the use of the v option isn''t included. To include the v option, type "/l*v"
/p [patch] Applies a patch. To patch an installed Administrator image, you should
also use the /a switch
/q n,n+,b,b+,b!,r,f
• n = No UI
• n+ = No UI except modal dialog at end
• b = Basic UI
• b! = Basic UI w/no Cancel button
• b+ = Basic UI w/modal dialog box at end
• b- = Basic UI w/no modal dialog box at end
• r = Reduced UI
• f = Full UI

/y Calls system API DLLRegisterServer to register the module


/z Calls system API DLLRegisterServer to un-register a module

52) What is a MERGE MODULE?

Merge modules are pre-compiled libraries of components (files, registry


changes, and other system changes) that install a discrete portion of your
application. They cannot be run alone, but must be merged with an .MSI.
Points about the merge modules:

1. All the information required to install a shared file is delivered to the installer in
a single, standardized .msm file,

2. Eliminate many instances of version clashing, missing registry entries, and


improperly installed files.

3. If shared files are installed from .msm files, the Windows installer can keep a
correct reference list of applications that use those shared files.

4. Windows can better avoid deleting shared resources used by any application
until the last application using them is uninstalled.

5. Traditional installers keep an incremental reference count of the number of


applications using a shared file, but not the name of the application.

53) What are the Windows Installer File Extensions?

There are several files type that can be created for the Windows Installer technology:

.MSI : Windows Installer Database


.MSM : Merge Module
.MSP : Windows Installer Patches
.MST : Windows Installer Transform
.IDT : Exported Windows Installer Database Table
.CUB: Validation Modules
.PCP: Windows Installer Patch Creation File

A .MSP is a Windows Installer patch file used to distribute small updates of .MSIs.
A .MST is a Windows Installer transform file that makes changes to a pre-existing
.MSI.
A .IDT is an Exported Windows Installer database table which can be removed from
one database and imported to another database.
A .CUB is a Validation Module that contains Internal Consistency Evaluators in a
database which in turn evaluates databases.
A .PCP file is a Windows Installer patch creation file that contains the configuration
information that patchwiz.dll requires to create a patch.

54) What are the different types of UPGRADES?

The different types of UPGRADES are: small update, Minor upgrade and Major
Upgrade and the following Changes are done during the upgrades

Significant Differences Among Small Updates, Minor Upgrades, and Major Upgrades

Type of Prod Product


Renewal uctCo Version Description
de Property
Prop
erty
Small No No An update to one or two files that is too small to
update chang change warrant changing the ProductVersion. The
e package code in the Revision Number Summary
property does change. The manufacturer can
ship the product as a patch package or as a full
product installation package.
Minor No Change A small update that involves changes large
upgrade chang enough to warrant changing the ProductVersion
e property. The manufacturer can ship the
product as a patch package or as a full product
installation package.
Major Chang Change A comprehensive update of the product
upgrade e warranting a change in the ProductCode
property. The manufacturer can ship the
product as a patch package or as a full product
installation package.

55) What are the steps for a MAJOR UPGRADE ?

Steps for Major Upgrades:

1. Generate a new Product Code


2. Ensure that the UpgradeCode Property value of new package is the same as the
previous versions
3. Generate a new package Code
4. Ensure that the Upgrade Table has the following values:

Upgrade Code : Same as the previous version . The UpgradeCode property in this
column specifies the upgrade code of all products that are to be detected by the
FindRelatedProducts action.

VersionMin: The version of the previous package


Version Max: The version of the new package. VersionMax must be a valid product
version as described for the ProductVersion property. Note that Windows Installer
uses only the first three fields of the product version. If you include a fourth field in
your product version, the installer ignores the fourth field.

Language: If Language is null or an empty string (""), FindRelatedProducts ignores


msidbUpgradeAttributesLanguagesExclusive and detects all languages.

Attributes : This column contains bit flags specifying attributes of the Upgrade
table. Usually 261.To cause uninstall to occur, the
msidbUpgradeAttributesOnlyDetect bit in the Attributes column of the Upgrade
table for that product version must be off.

ActionProperty When the FindRelatedProducts action detects a related product


installed on the system, it appends the product code to the property specified in this
field. The property specified in this column must be a public property and the
package author must add the property to the SecureCustomProperties property.
Each row in the Upgrade table must have a unique ActionProperty value

5. Ensure that RemoveExistingProducts is sequenced after InstallInitialize in the


InstallExecuteSequence Table

If you want a custom action to run during an uninstallation of the product, but not during the
removal of the product by a major upgrade, use this condition.
REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE

56) Explain Self-reg table

SelfReg Table

The SelfReg table contains information about modules that need to be self
registered. The installer calls the DllRegisterServer function during installation of the
module; it calls DllUnregisterServer during uninstallation of the module. The installer
does not self register EXE files.

The SelfReg table has the following columns.

Column Type Key Nullable


File_ Identifier Y N
Cost Integer Y

56) How will you register a file without including the SelfReg table entries?

With the help of WiseCom capture tool we can capture the entries and
merge the same in the application

57) Whish File is used BY ORCA Tool to validate the custom actions? HP-
question
ICEs are stored in a special file with the same structure as any other Installer
database. By default, this file uses the extension .cub

The various files used for validation are : C:\Program Files\Orca

darice.cub
logo.cub
mergemod.cub, open the .cub file in ORCA and view the details
A .cub file contains only the ICEs and their required tables. A .cub file cannot be
installed and is used only to store and provide access to ICE custom actions.
Orca or the validation tool msival2 uses the Logo.cub, Darice.cub, and
Mergemod.cub files. The set of ICEs in the Logo.cub file is a subset of those in the
Darice.cub file. If your package passes validation using Darice.cub, it will pas
pass with Logo.cub. Mergemod.cub contains a set of ICEs used to validate merge
modules.
58) How many type of ORCA ice errors are there?

The Windows Installer SDK includes 71 standard ICEs, numbered from ICE01
Through ICE73 (for some reason there is no ICE37, and ICE11 appears to be
undocumented and uncalled).

59) What are the ICE errors you have resolved during packaging?

1) The component cant be advertised because the keypath type disallows


it (Empty components , delete them)
2) Particular components INSTALLS to a USER profile it must use a reg
under HKCU as its keypath not a FILE ( move the File to CurrentUser
Component)
3) File matching patterns *.ISU ( setup related file are captured)
4) Particular componrnt having both per user and per machine data with
per machine keypath ( move the reg to current user)
5) Invalid Identifiers ( Different language applications
..French,Japanese..etc)

60) Why are my files not being removed during uninstallation?

A. There are four common reasons for why files may not be removed during
uninstallation:

• The components to which these files belong are marked as permanent. (This is
done through the Attributes column of the Component table.)

• None of the components to which these files belong have component GUIDs. (The
value for the component in the ComponentId column of the Component table is
NULL). Components without GUIDs are not managed by Windows Installer.

• If the keypath of the component has a shared DLL refcount, then the component
will not be uninstalled.

• If the component is installed in the system folder and at the time of uninstallation
there is an external shared DLL refcount for any one file in the component, then the
component will not be uninstalled.

61) How can u enable the VERBOSE logging file for an USER ?
To generate a detailed verbose log file through policy, use the following registry
key:

• HKLM\Software\Policies\Microsoft\Windows\Installer

• Set: Logging = REG_SZ voicewarmup

• Set: Debug = REG_DWORD 0x7

Log files generated through the policy key will be of the form msiXXXXX.log in the
user's %temp% folder.
62) In Which conditions you can update a custom action via a patch?

Yes, you can update a custom action using a patch. If the custom action is included
in the Binary table, then simply update the custom action in the update installation
image. When you generate the patch between the original and update installation
images, the patch will contain a database transform that will transform the old binary
data stream to the new binary data stream

63) How do I create a second transform that includes different files than the original
transform without overwriting the .cab file from the original transform?
Follow these steps to create multiple transforms with different cabinet files:

1. After compiling the first transform, Wise will create a cabinet file with a system-
generated name, such as "WISETRFM_2.cab". Rename the file to a name you
specify, such as "mycab1.cab".

2. In the Setup Editor, select the Tables tab, then select the Media table to modify
the name of the cabinet file that was created when you compiled (WISETRFM_2.cab).
In the Cabinet column, rename the cab file to the name you specified -
"mycab1.cab".

3. After you have renamed the cabinet file associated with transform in the Media
table, recompile the transform.

Using unique names for your cab files, complete these same 3 steps each time you
add a new transform for the same MSI to ensure that cabinet files will not be
overwritten.

=================================================

QUESTIONS FROM WINDOWS XP

1) What is System Restore?

System Restore is a feature of only the Windows XP Professional, Windows® Me,


and Windows® XP Home Edition operating systems. Users can use System
Restore to reverse harmful changes to their computer caused by installing or
uninstalling applications. This feature enables the user to return the computer to
an earlier state known as the restore point

We can use the %SystemRoot%\System32\restore\rstrui.exe for a system


restore point

2) What is Differences between Regedit.exe and Regedt32.exe?


Windows NT-based operating systems include two utilities for editing the registry,
Regedit.exe and Regedt32.exe

In Windows XP and Windows Server 2003


Regedit.exe
Regedit.exe is the configuration editor for Windows XP and Windows Server 2003.
Regedit.exe is used to modify the Windows NT configuration database, or the
Windows NT registry. This editor allows you to view or modify the Windows NT
registry. It supports setting security on registry keys, viewing and editing
REG_EXPAND_SZ and REG_MULTI_SZ, and saving and restoring hive files. On the
left side, there are folders that represent registry keys. On the right side, there are
the values associated with the selected registry key. Regedit is a powerful tool. You
must use extreme caution when you use it to change registry values. Missing or
incorrect values in the registry can make the Windows installation unusable.
Regedt32.exe
In Windows XP and Windows Server 2003, Regedt32.exe is a small program that
just runs Regedit.exe

3) What is a SERVICE and what are the basic services which open when we
start an log in?

A program, routine or process that performs specific function to support other


programs particularly at low level (Close to Hardware Level).
It’s a program that runs invisibly in the background. Services load and start running
whether or not anyone logs into the computer.

Svchost
Svchost.exe is a generic host process name for services that run from dynamic-link
libraries (DLLs).
The Svchost.exe file is located in the %SystemRoot%\System32 folder. At startup,
Svchost.exe checks the services part of the registry to construct a list of services
that it must load. Multiple instances of Svchost.exe can run at the same time. Each
Svchost.exe session can contain a grouping of services. Therefore, separate services
can run, depending on how and where Svchost.exe is started. This grouping of
services permits better control and easier debugging.

Default Processes (run at start up)

Explorer.exe
Spoolsv.exe (Spooler Service)
Svchost.exe
Services.exe (Service Control Manager)
Taskmgr.exe
Winlogon.exe (manage user logon and logoff)

Grant rights to services: using Subinacl.exe

Note: Application files that can be installed as a service are: .EXE, .VXD, .SYS, or .
386
====================================================

What command line switches are supported?hat command


QUESTIONS ON VB SCRIPTS and ACTIVE DIRECTORY

1. What is a GPO?
GPO stands for Group Policy object and GPO is an active directory object and using
GPO we can publish and assign packages to users or computers. Apart from that
GPO is also used to control the user and computer con

2. Difference between publishing and assigning an application in a GPO?

Publishing is done to the user


Assigning is done to user and computer

Assigning will create the entry point


Publishing will install the application when user invoke the program will get install
locally.

3. On Which container you find the GPO in active directory?


Domain. And OU.

4. What is DFS?
Distributed File system.

5. Do create two separate MSI for windows 2000 and windows XP and why?
Yes we will create the different MSI for windows 2000 and XP
Because windows 2000 and XP will have different type kernal, dll version, and Cab
file.

6. What is WSH?
Windows Scripting host 2.0

7. Difference between VBS and WSH?

VBS is not OS related scripting it is Web Scripting


WSH is an interpreter between OS and Scripting.
WSH is language independent Administration tool
WSH will allow to run any script.

8. which language you use in WSH?

Vbscripting, J-script, pearl Script.

9. what is the file extension for vbsript and WSH?


.VBS
WSH is an Engine doesn’t have any extensions.

10. What is double byte in VBS ?

11. Explain objects in WSH?

Network object
Shell object
12. Objects in VBS?

Example of objects in VB scripts


CreateObject
GetObject
SetObject
Err Object
RegExp

The Err object is an intrinsic object with global scope — there is no need to create an
instance of it in your code. The properties of the Err object are set by the generator
of an error — Visual Basic, an Automation object, or the VBScript programmer.

Use the GetObject function to access an Automation object from a file and assign the
object to an object variable. Use the Set statement to assign the object returned by
GetObject to the object variable. For example:

14. Objects in wsh shell and wsh network?

Network object: Provides access to common networking tasks, for example.


connecting a network drive.
Shell object: General purpose object that provides useful methods for manipulating
Windows OS that lets you access all the main features of the OS's GUI. information
—for example, registry access

15. Syntax of creating an object in vbscript ?

Set objRootDSE = GetObject("LDAP://rootDSE")


Set objContainer = GetObject("LDAP://OU=Droitwich," & _
objRootDSE.Get("defaultNamingContext"))

16. How do you define a variable in VBScript?

Dim <Variable>

17. Option explicit in VB Script?

Note 1: Option Explicit is the first line of the VBScript (apart from the ' Remarks).
My point is that you cannot introduce Option Explicit after the DIM statements.
The simple statement - Option Explicit - tightens up your scripts. What Option
Explicit says is this: if a variable is not declared, then you cannot use it. The use of
Option Explicit is twofold, to make sure that you declare variables, and to
troubleshoot by generating errors to highlight mistakes if variable names are
mistyped later in the script.

18 What is ADSI?
Active directory services Interfaces. Use to edit the schema
19. What is WMI, explain it and can you script it ?
The "Windows Management Instrumentation" service winmgmt "Provides a common
interface and object model to access management information about operating
system, devices, applications, and services. If this service is stopped, most Windows-
based software will not function properly. If this service is disabled, any services that
depend on it will fail to start."

20. Have you deployed Office packages?


Yes. But lot big operation is done on that.

21. How do you create multiple languages in ms office


Using the .MST, and using ORK tool (Office Resources kit)

How will you install SQL scripts in wise


How you can provide the data during run time?
Explain the concept of nested MSI
What do you means by Default feature and what if the default feature is removed
from the application and the MSI is installed , will it install or not
REMOVE~=ALL is the condition to check the condition during uninstallation

How will you install Files to a particular user profile in MSi?


A user launches a shortcut an it gives an error message “ you don’t have the
sufficient previlages “ what may be the reason for that ?( The exe of the shortcut
may be generating a runtime file during launch and the user doesn’t have the write
acess to that particular folder location)

This is the Microsoft knowledge base for MSi


http://support.microsoft.com/default.aspx?scid=fh;EN-US;KBHOWTO

MSI BLOG for all the queries :

Creating merge Modules :

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/msi/setup/authoring_merge_modules.asp

http://blogs.msdn.com/windows_installer_team/archive/category/10544.
aspx
http://www.wise.com/KBSearch.aspx

Microsoft TechNET for packaging : Deployment solutions


http://www.microsoft.com/technet/desktopdeployment/default.mspx
Remember, the Revision Number summary property is used to store the
unique Package Code, which is a GUID. You must change this to a different
GUID if you make any change to a package, no matter how minor.

OBJECTIVE QUESTION AND ANSWERS :


http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/odc_xl2003_ta/html/odc_super.asp …EXCEL MACRO writing website

MERGE MODULE FINDER:


1) http://www.hotan.biz/Default.asp?Source=MSMFind , download the TOOL and give
the path of the folder of your Merge modules in the settings
2) http://www.installsite.org/pages/en/msi/msm.htm all data related to merge modules is
at this site
3) http://www.appdeploy.com/faq/detail.asp?id=71
4) http://www.installshield.com/downloads/modules.asp?prod=wind&lan=english
5) http://dev4pc.com/installer2go_download.html

Active Setup data :

http://bonemanblog.blogspot.com/2004/12/active-setup-registry-keys-and-their.html

Technologist (System Management Server Administrator)

The SMS Administrator will be responsible for the following tasks:

1. Infrastructure:
Configure the servers per design
Site configuration including boundary mgmt
Tier 3 server and client support
Create TSGs for Tier 2

2. Packaging / Testing:
Coordinate the packaging team in India
Coordinate the testing team in India
Ensure these teams are following the standards with a high quality performance.

3. Software Distribution:
Create, maintain and clean-up new advertisements
Create, maintain and clean-up new collections
Create, maintain and clean-up new packages
All related settings of software distribution
SWD troubleshooting & escalations

4. Patch Management:
Monthly updates setup and configuration
Compliance Reporting
Security and Office patch testing
Patch Management troubleshooting & escalations

5. Security reviews:
SMS instance and group permissions configuration and implementation
SMS Server OS Hardening Design Implementation
Security Review of all packages

6. Health monitoring
SMS server health monitoring for backlogs and performance issues
Client health monitoring
Hardware inventory extensions implementation
Software inventory and other client configuration

7. Operating system deployment (forcing clients to MMS)


OSD deployment and administration
Image implementation

8. Documentation:
Maintain the Operations Guide and any other relevant documentation up to date

Must have:

• Must have a Bachelor of Engineering or Bachelor in Computer Science/Application


degree or equivalent work experience.
• Strong Knowledge of Microsoft System Management Server (SMS) 2003 with more
than 3+ yrs experience.
• Excellent troubleshooting skills.
• Experience in Scripting using VBScript, SQL server 2000, SQL queries, and
Windows 2003 server.
• Excellent verbal communications skills.
• Excellent customer service skills.
• Be reliable and timely.
• Highly motivated, energetic and have good organizational skills.
• Ability to multi-task and delivering task on time.
• Strong administrative and prioritizing capabilities.
• Ability to work both independently and in a team environment.

Nice to have:

• MCSE/MCSA certification preferred and preferably MCP in SMS.

The point of an administrative installation is to create a much smaller MSI file. It is this
file that is initially executed on the target machine, and therefore runs faster as it is
smaller and doesn't need to download and expand the contained files. When the user has
chosen what to install, the possibly reduced, set of files are then copied down. i.e. it is
intended to minimize network usage (at least that is how it appears)

INFO: Prevent self-repair by removing advertised entry


points

SYMPTOM

Rather than upgrading, some developers choose to install new files into existing
application directories, replacing older files. This can cause a self-repair which replaces
the new files with the original (old) files.
CAUSE

Windows Installer performs an integrity check on .MSI-based installations when the


operating system accesses an advertised entry point in the installation. It verifies the
existence of key paths for each component and repairs the component if necessary.
RESOLUTION

.MSI-based installations include specific entry points that initiate self-repair when
invoked. These entry points include COM activation, advertised shortcuts, file extensions
(Mime Type and Verb Activation) and direct calls to the Windows Installer. The AppId,
Class, Extension, MIME, ProgID, TypeLib and Verb tables contain advertising information.

The Advertising Setting option located on the Advertising tab of the Tools -> Options
dialog determines how to gather self-registration and advertising information for files
added to an installation. To ensure that no advertising information is added to the
installation, select "Scan advertising information into registry keys" from the Advertising
Settings drop down list.

COM Activation:
COM objects act as entry points to an installation. The Class and ProgID tables contain
COM server-related information. To ensure that the installation has no COM object
advertising information, add all COM information directly to the registry.

Advertised Shortcuts:
Advertised shortcuts make calls to a feature in the installation. This enables self-repair
functionality in an installation. To prevent self-repair, replace all advertised shortcuts with
command line shortcuts, which refer directly to file paths for execution.

File Extensions:
A file extension association creates a connection between a file extension and an
executable. Some file associations contain MIME and Verb information. See
Knowledgebase article #2240, "Preventing self-repair of file associations" for information
on how to create registry keys from File Extension information.
* Context Menu Verb Activation: The Verb table contains command-verb information
associated with file extensions.
* File MIME Type Association: The MIME table associates a MIME type with a file
extension or CLSID to generate the extension or COM server information required for
advertisement of the MIME (Multipurpose Internet Mail Extensions) content.

Direct Calls to Windows Installer:


An application queries the Windows Installer for the state of a component or feature,
causing a self-repair if a component is missing. For example, an application might query
the Windows Installer for the state of a shared component such as the Microsoft Office
spell checker, which initiates self-repair. To ensure that self-repair does not occur due to
a direct call to the Windows Installer, remove any calls to the Windows Installer from
within the application itself.

Following the steps above prevents self-repair in an installation. NOTE: If an end user
overwrites or deletes any application file(s), Windows Installer cannot replace the file(s)
and the application may no longer function correctly.

HOWTO: Preventing self-repair of file associations

PRODUCTS:

• Wise Package Studio


• Wise for Windows Installer
• Wise for Visual Studio .NET

OPERATING SYSTEMS:

• Windows NT 4.0
• Windows 2000
• Windows XP

SYMPTOM

Windows Installer attempts to self-repair an application when accessing a file during use
of the application.
CAUSE

Creating file associations using the File Associations page in Installation Expert populates
the MIME and Verb tables. These tables contain advertising information used by Windows
Installer to determine if self-repair is necessary for an installation.
RESOLUTION

To prevent Windows Installer from self-repairing file associations, no data should exist in
the MIME or Verb tables. Please use the information in this article in conjunction with
Wise Solutions Knowledge Base article number 1656, "Prevent self-repair by removing
advertised entry points".

To populate the registry with information about file associations for the application
(including Command Verbs and File MIME Types):

1. Complete the original vendor installation on a test machine to assist in obtaining the
necessary registry keys for the steps below.
2. On the File Associations page of Installation Expert, double-click the first file
association listed.
3. On the Extension Details tab, note the values of the Extension and ProgID fields.
4. If there are any entries on the Command Verbs tab, double-click each entry and note
the value of the Verb field.
5. Note any entries listed on the MIME Types tab.
6. On the test machine, open the Windows registry using regedit or another tool and look
directly under HKEY_CLASSES_ROOT for the file association noted in step 2 above.
7. Manually create the entire key and all subkeys on the Registry Page of Installation
Expert. If no Command Verbs or MIME Types exist for this file association, proceed to
step 13 below. If only MIME Types exist, proceed to step 11 below.
8. On the test machine, look directly under HKEY_CLASSES_ROOT for the ProgID noted
in step 3 above.
9. Delete the REG_MULTI_SZ registry value named "command" from
HKEY_CLASSES_ROOT\<ProgID>\shell\<Verb>\command for each verb noted in step 4
above (for example, open, edit or find). The command value contains advertising
information and initiates self-repair. Do not delete the (Default) string value.
10. Manually create the key and all remaining subkeys (that is, those not referenced in
step 9 above) on the Registry Page of Installation Expert. If no MIME Types exist,
proceed to step 13 below.
11. On the test machine, look under HKEY_CLASSES_ROOT\MIME\Database\Content
Type for the MIME Types noted in step 4 above.
12. Manually create the key and all subkeys on the Registry page in Installation Expert
for each MIME Type.
13. Repeat steps 2-12 for each of the file associations listed on the File Associations page
of Installation Expert.

After completing the steps above, remove all file association information from the File
Associations page of Installation Expert. This enables file associations to function as
expected while preventing self-repair for these entry points.

You might also like