P. 1
Chapter 1

Chapter 1

Views: 1|Likes:
Published by $!v@

More info:

Published by: $!v@ on Apr 07, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less






Repackaging refers to the recreation of an application¶s installation by capturing the differences in a computer before and after the application is installed. These changes are then combined into an installation ³package´ which may then be applied to another computer to enforce those same changes- resulting in an installation of the application. The single reason for creating such an installation package is to automate the installation so that the graphical interactive installation process may be avoided.

1.2 NEED FOR REPACKAGING AND ITS BENEFITS (a) Application Deployment:
In an organization consisting of N-terminals, it is required that the standards should be Maintained at Hardware layer, Software layer in the User terminals. Possibly, the terminals might be located in different locations. But, they are connected to the same network and the network can be managed from one end-point. So, In order to maintain the standards at software layer, the administrator of the network installs the required applications from one-point into all the User terminals. This process is called Application Deployment. This process ensures that all the Users of a network are using the same set of applications of same versions.

(b) Application Management by Operating System (Self-Repair):
Earlier, there was a difficulty in managing the application. That is, whenever some of files or registry entries related to an application gets deleted by mistake or gets corrupted the application does not function properly. It is the user responsibility to contact the Administrator & Un-install the application and again installs the same application.

In order to eliminate the Application Management Responsibility at the User/Administrator Level, an Operating System Service is created which takes care of Installing the application, repairing the application when it gets corrupted and Uninstalling the application.

The Operating System Service is called ³Windows Installer´ which was first developed for Windows 2000 Operating System.

(c) Upgrading the application:
It is often required that installed applications should be upgraded for the latest versions. It is so cumbersome that manually UN-installing the older version and installing the newer version of the application. Once Again the responsibility is handed over to the operating system. Here, when an attempt is made to install the newer version of an application, the Operating System Service first uninstalls the older version of an application and installs the newer version of an application.

(d) Application Advertisement ± (On-Demand Installation):
General Say, to make the Product popular. An Effective Advertisement Strategy should be applied. That is, when the Main product or application is given to a customer the advertisement about the Sub-Products can be given. So that the customer get to know about the sub-products. If the customer is interested in those sub-products he can request for those products. This feature is also called as ³Advertisement Installation or On-Demand Installation´.

(e) Application Patch:
Sometimes it is required that some additional files, registry entries, or configuration files should be set to the existing installed application. i.e. patching up the application with the required data Instead of creating the newer version of installation package.

Patches can be interpreted as Operating System Service Packs.

(f) Central Point of Reference:
It is required that a central point of reference for application installation should be set. This is because whenever the application, which has been installed gets corrupted and needs to be repaired. So, the corrupted application gets repaired from the same location from where it has been installed.

(g) File Versioning Maintenance:
Earlier, there was a drawback in setup installers. Say, there is a DLL of latest version and setup installer contains the same DLL of older version. When the setup is installed, it will overwrite the DLL of latest version with the DLL of older version without performing any type of pre-check of versions. Therefore, this drawback can be overcome in MSI Installers, where the file versions are maintained. That is, if there is already a file of latest version, it will be preserved during MSI installation.

When you purchase a software application to install it onto a computer you will need to execute something like setup.exe. Setup.exe is an installation routine, a program that puts all of the files and registry keys in the right places so that everything works correctly. This is in essence a Package. However the setup routine can sometimes be very complex and open to user error especially when thousands of repeat installations are required in a corporate environment. In such environments reliability and repeatability are crucial. This is where application repackaging comes into its own. An experienced application packager can take a vendor application and re-write the setup routine to the specific requirements of the client. Ensuring both a reliable and accurate installation every time. The package can then be deployed silently, if desired, via your chosen deployment mechanism to all of your target workstations or users. It¶s a very rapid and accurate.

y The Windows Installer service(previously known as Microsoft Installer) is an engine for

the installation, maintenance, and removal of software on modern Microsoft Windows systems. y Microsoft Windows Installer service is an installable and configurable service that ships

as a part of Windows 2000, Windows Me, and Windows XP. It is also available for Windows 95, Windows 98, and Windows NT 4.0. y Windows Installer is based on a data-driven model that provides all installation data and

instructions in a single package. y With Windows Installer, each computer keeps a database of information about every

application that it installs, including files, registry keys, and components. y The Windows Installer is an operating system service that was developed by Microsoft to

improve the installation and Uninstallation of programs, make software deployment in corporate networks easier, and to solve common problems such as shared dll conflicts. y The Windows Installer is also a set of rules that developers must follow to take advantage

of the service. y The Windows Installer allows the efficient installation and configuration of applications.

The installer can also provide your installations with new capabilities not previously available with legacy installations

2.1 Problems with legacy setups: 
      No self-healing No JIT delivery Can¶t install to non-admin users Deployment staff has to understand multiple system Deployment staff waste time Packagers must create special code Silent installation not possible

2.2 Windows installer packages (.msi files): 

Each Windows Installer package (.msi) file contains a database that stores all the instructions for the Windows Installer service and data required to manage the state of a program, such as adding, changing, or removing it from a computer. 

For example, an .msi file of an application can contain instructions for installing the application when a prior version of the application is already installed. The .msi file could also contain instructions for installing the software on a computer where that application has never been present. To simplify creating and customizing .msi files, setup program authoring tool vendors have developed various authoring tools for Windows Installer. 

A Windows Installer package file is located in the root folder of the product CD or network image that contains the product files. Windows Installer Package Contains:         Summary Information Stream Tables (Relational Database) Cabinet file Components Features Products Shortcuts Actions

MSI Internal View:

MSI - Product, Features and Components

2.3 Windows installer services (msiexec.exe): 

The Windows Installer service is an operating system component that centrally manages application installation configuration, as well as application uninstall. 

The Windows Installer service was designed to support every phase of the application management life cycle, providing a service to support each step involved in managing a desktop application from deployment through retirement. To support these functions, the Windows Installer needs to receive instructions from an installation package. 

Using the Windows Installer service the operating system allows to manage application setup and configuration, which enables the following: 

Management of reference counting and version checking of shared

components, which helps ensure that applications better co-exist with one another  Robust installations and self-repairing applications  Reliable and complete uninstall, including correct handling of shared components.  Ability to perform installation on secure systems (for non-administrators and non-power users)  Enables applications to make full use of Windows 2000 IntelliMirrorΠfunctionality for policy-based deployment, update, and uninstallation over a network.

2.4 Benefits of using windows Installer packages: 

A Windows Installer package enables customers to provide better corporate deployment and provides a standard format for component management. 

It supports the advertisement of applications and features according to the operating system. 


Customize Applications to suit the user needs. Simplify the Installation and Un-installation Procedures. Saves Time in both Installation and Un-installation. Saves Space of the product by doing apt modifications to applications. Can be advertised. So that on demand installation could take place. Upgrading of the application can be done with ease. Clean installation and Un-Installation is achieved by a process called Roll-Back. Simplifies management of new user set-up along with the revision and distribution of software repairs and new applications to existing users. Application recovery can also be improved. 

Once packaged, applications can be quickly installed on a range of desktops in multiple locations, saving administrative costs, simplifying the management of licensing fees and minimizing support and repair expenditures. 

Helps eliminate uncontrolled software downloads and installation, enables applications to be safely removed and reduces non-business traffic on a corporate network.

2.5 Features of Windows installer: 
Patch sequencing With patch sequencing, a set of new or existing patches are deployed in the correct logical order, regardless of the chronological order that the patches were received in on the computer.  Removable patches We can now remove patches that are installed with Windows Installer 3.0 if they are marked as removable in the patch package. Patch removal enables the patched program to be returned to the state that the program was in before the patch was applied.  More efficient patching Several improvements has been made to patching in this release. These improvements include the following:  You can double-click a patch file to apply it.  Patches are smaller and more reliable.  Delta compression patches no longer require the source media.  You can install multiple patches in one transaction.  You can install patches that are targeted to different products in a transaction.  Non-administrator patches and patch elevation User with Limited accounts can now apply patches that have been marked as trusted by the system administrator.  Standard command-line options To ease program deployment, the Windows Installer supports standard, easyto-understand command-line options that control display and restart behavior, and the installation, removal, logging, and application of updates. Windows Installer 2.0 single

command-line options will continue to be supported and can be used with new command-line options. The following new command-line options are supported:         /help /quiet /passive /norestart /forcerestart /promptrestart /uninstall

Better assembly servicing Support for binary delta patching and new assembly authoring and servicing guidelines improve assembly servicing.

3.1 Regedit.exe What is Registry?
Every version of Windows uses a database called the registry to store important configuration information, including information about the operating system, the software applications installed on the computer, and network settings. Under normal circumstances, changes are made to the registry by using the Control Panel icons or running the installation program of a new software application. There are, however, some rare instances when you need to access the Registry directly in order to fix a problem. For example, many computer viruses make changes to the Registry that tells Windows to activate the virus every time Windows starts. In such cases, you will need to use a program called the Registry Editor to undo the damage. The following information about using the Registry Editor is provided as a general guide for those individuals who need to make one or two changes to the registry.

1. Starting the Registry Editor 2. Backing Up the Registry 3. Changing or Deleting Items in the Registry 4. Exiting Registry Editor

1) Starting the Registry Editor Under normal circumstances, you can activate the Registry Editor by doing the following. 1. Click on the Start button 2. Choose Run

3. Type regedit in the Run window 4. Click the OK button (or hit the Enter or Return key on your keyboard) and the Registry Editor window should open If the Registry Editor window opens, you can proceed to the next section, Backing Up the Registry. Otherwise, consult the notes below for taking backup of Regedit 1. Look for the file called REGEDIT.EXE from C:\Windows\System32. 2. Right-click (using the right mouse button) on it, and from the menu that appears, choose Copy.  If you find REGEDIT but cannot see the file extension .EXE at the end of it, you must make file extensions visible on your computer before you proceed.  Instructions for making file extensions visible can be found at web 3. Right-click in a blank area in the window and choose Paste. A file should be created named Copy of REGEDIT.EXE 4. Right-click on Copy of REGEDIT.EXE and choose Rename from the menu that appears. 5. Type regedit.com 6. Press Enter or Return key on your keyboard. 7. Close all your windows. 8. Repeat all of the steps under Starting the Registry Editor, but in Step 3 type regedit.com instead of regedit. You should now be able to open Registry Editor and edit the registry--proceed to the section Backing Up the Registry. 9. On Windows NT 4.0 and Windows 2000 computers, there is another version of the Registry Editor that can be activated by typing regedt32 instead of regedit. Using and

regedt32 gives you access to additional registry keys, but you rarely need to access those additional keys. 2) Backing Up the Registry When the Registry Editor window opens, the left side of the screen should look like this:

The very first thing you should do before making any changes with the Registry Editor is to backup your registry by exporting a copy of it to the desktop. To do this: 1. Click on My Computer inside Registry Editor once so that it is highlighted. 2. Click on Registry and then click on Export Registry File. 3. The Export Registry File window will appear and in the Save In drop-down box at the top, choose Desktop.

4. Type backup then click the Save button.

5. A backup copy of the entire registry will now be saved to your desktop in case something goes wrong. Now you can proceed to the section Changing or Deleting Items in the Registry. Notes:



To restore the registry from the backup file you made, follow the steps above, but in Step 2 choose Import Registry File instead of Export Registry File. Or, alternatively, you could double-click on the backup file on the desktop and answer Yes when it asks if you want to import the information into the registry. Once you've made changes to the registry and you are sure that you no longer need the backup file that you made, simply delete it from the desktop.

3) Changing or Deleting Items in the Registry The registry contains three different types of information: keys, values, and data. Keys are containers, represented graphically as files & folders that can contain other keys (subkeys) or values. Values are nothing but configuration settings that contain data. While the data is the setting itself. When you read instructions for changing the registry, you will often be given the location of the key where you need to change or delete a value. For example, you might be instructed to delete the following key: HKEY_Local_Machine\SAM\SAM\RXACT HKEY_Local_Machine is one of the 5 or 6 top-level keys that are usually displayed when you first open the Registry Editor. To the left of HKEY_Local_Machine is a + sign, that indicates that HKEY_Local_Machine contains subkeys. Clicking on the + sign turns it into a - sign and reveals the subkeys. One of the subkeys of HKEY_Local_Machine is Security Accounts Manager (SAM), which is the next key name in the example location.

Clicking on the + sign next to SAM (a process also called expanding) reveals more subkeys, including a second SAM. Expanding the second SAM reveals RXACT, the key your example instructions tell you to delete.

If you were supposed to delete the key HKEY_Local_Machine/SAM/SAM/RXACT, you would highlight RXACT as shown above, then hit the Delete key on your keyboard (remember, this is just an example: do not actually do this). You would then be asked if you were sure that you wanted to delete this key, at which point you would click the Yes button. In the example above, you were asked to delete an entire key. Often, you may be instructed to change or delete a value within a key. For example, you may be asked to delete or change a value like ExampleValue in the key: HKEY_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run Navigate to the key using the same method as shown in the first example. Because it is easy to lose your place when you go deep into the registry, the registry location you currently have open is displayed at the bottom of the Registry Editor screen:

Once you have opened the key by clicking on it to highlight it, the right side of the window will display the values within the key in the first column (the Name column).

As you can see from the image above, there is a value called ExampleValue listed, containing the data exampledata (in the Data column). If you simply needed to delete ExampleValue, you would click on it once to highlight it and hit the Delete key on your keyboard. However, if you needed to change the data in ExampleValue, you would double-click on it instead. A new window will appear:

In the Value data box, type in the new information. Sometimes you will be instructed to type in words (a string value), while other times you will be told to enter a number (a binary or hexadecimal value). When you are done changing the data, click the OK button. Note: It is also possible to add keys and values using Registry Editor by right-clicking on the appropriate key and choosing "New" from the pop-up menu. However, it is unadvisable to make additions to the registry unless you understand exactly what the key or value will do. 4) Exiting Registry Editor Any changes you make in the registry are made immediately; therefore, there is no option to save your changes. To exit Registry Editor, simply click on Registry on the menu bar and choose Exit.

3.2 Windows Registry
i. HKEY_CLASSES_ROOT This branch contains all of your file association mappings to support the drag and drop feature, OLE information, Windows shortcuts, and core aspects of the Windows user interface. ii. HKEY_LOCAL_MACHINE This branch contains computer specific information about the type of hardware, software, and other preferences on a given PC; this information is used for all users who log onto this computer. iii. HKEY_CURRENT_USER This branch links to the section of HKEY_USERS appropriate for the user currently logged onto the PC and contains information such as logon names, desktop settings , and start menu settings. iv. HKEY_USERS This branch contains individual preferences for each user of the computer ; each user is represented by a SID sub-key located under the main branch. v. HKEY_CURRENT_CONFIG This branch links to the section of HKEY_LOCAL_MACHINE appropriate for the current hardware configuration.

3.3 Dynamic Link Libraries DLL¶s, OCX AND EXE :
DLL is an executable program that performs one or more functions at runtime. DLL¶s are not launched by the user; they are called for by an executable program or by other DLL¶s. The Windows OS contains a huge number of DLL¶s. With only one instance of the DLL open in memory, its routines can be shared by all running applications. DLL can perform a simple function such as drawing a 3D border around a dialog box, or they can be as large as a full-blown language system, such as one of the visual Basic runtime modules. Many programs have a huge cadre of functions that are only used now and then. Breaking up an application into separate DLL¶s allows routines to remain on the hard disk until required and application DLL¶s can also be made sharable. The UNIX equivalent of a DLL is a ³shared library´. An OCX is an Object Linking and Embedding (OLE) custom control, a specialpurpose program that can be created for use by applications running on Microsoft's Windows systems. OCXs provide such functions as handling scroll bar movement and window resizing. If you have a Windows system, you'll find a number of files in your Windows directory with the OCX file name suffix. EXE is the common filename extension for denoting an executable file (a program) in the OpenVMS, DOS, Microsoft Windows, ReactOS, and OS/2 operating systems. Besides the executable program itself, many EXE files contain other components called resources, such as bitmaps and icons which the executable program may use for its graphical user interface.

3.4 Registration and Unregisteration of DLL µS, OCX AND EXE Using Utility ³Regsvr32.exe´:
To register/Un-register DLL's, OCX you can follow these steps:

1) Create a shortcut to regsvr32.exe and place it in your SendTo folder (e. g., C:\Documents and Settings\Administrator\SendTo). 2) Create a similar shortcut in SendTo and add -u to the end of Target 3) The shortcuts will appear on your SendTo menu, just point at a DLL / OCX and Send To register or unregister! Syntax: REGSVR32 [/U] [/S] [/C] /I: [Command_Line]] DLL_Name REGSVR32 [/U] [/S] [/C] /N /I:[Command_Line] DLL_Name Key /U /S /C /N /I specified) Command_Line Examples Unregister (disable) XP Zip folders REGSVR32 /u C:\Windows\System32\zipfldr.dll Unregister (Disable) CAB file viewer: REGSVR32 /u C:\Windows\System32\cabview.dll Register (enable) XP Zip folders REGSVR32 zipfldr.dll Register (enable) CAB file viewer: REGSVR32 cabview.dll Register Windows Update DLLs (for those times when XP repair breaks Windows Update) regsvr32 /s wuapi.dll Unregister Server. Silent - no dialogue boxes. Console output. Don't call DllRegisterServer Call DllInstall (or DllUninstall if /u is An optional command line for DllInstall

regsvr32 regsvr32 regsvr32 regsvr32 regsvr32 regsvr32

/s /s /s /s /s /s

wuaueng1.dll wuaueng.dll wucltui.dll wups2.dll wups.dll wuweb.dll

Register DAO 3.6 (Data Access Objects): REGSVR32 "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL"
It costs nothing to register and will only take a moment...

Follow these steps to register an ocx file: (alternate method) An OCX file is merely a renamed DLL file. If you are receiving errors about an ocx file, registering the file may solve the problem. To register an ocx file simply follow the simple steps below.

1. Locate the file using windows explorer or My Computer. Alternatively search for the filename. 2. Hold down the shift key and right click on the file. Then click 'Open With...' from the menu. 3. An 'Open With' dialog box should appear. Click the button 'Other...'. 4. Navigate to your windows\system32 directory and select the file 'RegSvr32.exe'. Do a file search for it if you have trouble locating the exact folder. On Windows 2000 it is typically located in c:\WINNT\System32. Click Open to select the file. Then click OK on the 'Open With' dialog. 5. You should see a message indicating the file was successfully registered. If you see an error message, try restarting your computer and going through the above process again.

Follow these steps to register an executable, or .exe, file: 1. On the Taskbar, select Start > Run. 2. In the Open field, type "<path>\NameOfFile.exe" /REGSERVER, where <path> is the directory where the file is located on your computer and NameOfFile.exe is the name of the file. For example: "C:\Program Files\MyAppLocation\MyApp.exe" /REGSERVER 3. Press Enter. Most executables do not display any message boxes when registered. It depends on how the application is created. Some applications when registered may open on your computer.

3.5 CLSID, PROGID, TYPELIB, File Extension, Services:
CLSID: What is a CLSID? A Class ID (CLSID) is a 128 bit (large) number that represents a unique id for a software application or application component. Typically they are displayed like this "{AE7AB96B-FF5E-4dce-801E-14DF2C4CD681}". You can think of a CLSID as a "social security number" for a piece of software, or a software component. What are they used for? CLSIDs are used by Windows to identify software components without having to know their "name". They can also be used by software applications to identify a computer, file or other item. Where do they come from? Microsoft provides a utility (program) called GUIDGEN.EXE that generates these numbers. They are generated by using the current time, network adapter address (if present) and other items in your computer so that no two numbers will ever be the same. A CLSID is a globally unique identifier that identifies a COM class object. If your server or container allows linking to its embedded objects, you need to register a CLSID for each supported class of objects.

ProgID Key: A ProgID, or programmatic identifier, is a registry entry that can be associated with a CLSID. The format of a ProgID is <Program>.<Component>.<Version>, separated by periods and with no spaces, as in Word.Document.6. Like the CLSID, the ProgID identifies a class but with less precision because it is not guaranteed to be globally unique. Registry Entry

You can use a ProgID in programming situations where it is not possible to use a CLSID. ProgIDs should not appear in the user interface. ProgIDs are not guaranteed to be unique, so they can be used only where name collisions are manageable. The ProgID must comply with the following requirements:
y y y y

Have no more than 39 characters. Contain no punctuation (including underscores) except one or more periods. Not start with a digit. Be different from the class name of any OLE 1 application, including the OLE 1 version of the same application, if there is one.

Because the ProgID should not appear in the user interface, you can obtain a displayable name by calling IOleObject::GetUserType. Also, see OleRegGetUserType The HKEY_LOCAL_MACHINE\SOFTWARE\Classes key corresponds to the HKEY_CLASSES_ROOT key, which was retained for compatibility with earlier versions of COM. TypeLib: A typelib is actually used to expose the methods and properties of a Class. Where a class is an object which contains methods and properties in a programming context. The typelib table has a little more functionality. It actually deploys type libraries which are used by other applications to expose the methods and properties. Typelibs can be deployed via the registry. Also adds advertising that specific typelib for

self healing and install on demand. The basic rundown of the registry info is this : ProgID is a friendly name which maps to a CLASSID (much like how DNS maps to an IP), a class id has a GUID which relates to the Class (code) the classid will have an inprocserver32 or localserver child value which contains the path to a dll so progid --> classid --> inproc --> dll path

The classid may also map to APPID and TYPELIB however these are not required but give additional functionality APPID handle permissions on COM and DCOM objects.

Windows Installer File Extensions: <File Extension> Key Associates a file extension with a ProgID. Registry Entry HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ <.ext> = <ProgID> Value Entries < ProgID> The ProgID associated with the file extension, <.ext>. Remarks The HKEY_LOCAL_MACHINE\SOFTWARE\Classes key corresponds to the HKEY_CLASSES_ROOT key, which was retained for compatibility with earlier versions of COM.

The information contained in the file extension key is used by both File Manager and File Monikers. GetClassFile uses the file extension key to supply the associated CLSID. FileType Key Used by GetClassFile to match patterns against various file bytes in a non-compound file. Registry Entry HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FileType\ {CLSID} \<n> = <offset, cb, mask, value> Value Entries offset This value determines how far from the beginning or end of the file to begin the comparison. If the offset is a negative value, the comparison begins from the end of the file minus the offset value. The offset value is a decimal type unless preceded by "0x". cb Represents the length in bytes from the beginning to the end of the file. Represents the byte range in the file. The cb value is a decimal unless preceded by "0x". mask A binary value used for masking, which is performed by using a logical AND operation, and the byte range specified by offset and cb. If this value is omitted, the bytes are set to all ones. This value is always hexadecimal.

value Represents the pattern that must match for a file to be of this FileType. The pattern is used to properly identify a known file format from its contents, not by its extension. Remarks The HKEY_LOCAL_MACHINE\SOFTWARE\Classes key corresponds to the HKEY_CLASSES_ROOT key, which was retained for compatibility with earlier versions of COM. Entries under the FileType key are used by the GetClassFile function to match patterns against various file bytes in a non-compound file. FileType has CLSID sub keys, each of which has a series of sub keys \0, \1, \2. These values contain a pattern that, if matched, yield the indicated CLSID. Following are examples of FileType entries: \0 = 0, 4, FFFFFFFF, ABCD1234 where the first 4 bytes must be ABCD1234, in that order, or \1 = 0, 4, FFFFFFFF, 9876543 where they must match 9876543, or \2 = -4, 4, FEFEFEFE where the last four bytes in the file must be FEFEFEFE.

.msi .msm .msp .mst

Windows Installer Database. Windows Installer Merge Module. Windows Installer Patch. Windows Installer Transform.

.idt .cub .pcp

Exported Windows Installer Database Table. Validation module. Windows Installer Patch Creation File

Released Versions of Windows Installer The table in this topic identifies the released versions of the Windows Installer. For more information, see Operating System Property Values. Release Windows Installer 2.0 Windows Installer 2.0 Windows Installer 2.0 Windows Installer 2.0 Windows Installer 2.0 Windows Installer 2.0 Windows Installer 3.0 Windows Installer 3.1 Windows Installer 3.1 Version 2.0.2600.0 2.0.2600.1 2.0.2600.1183 2.0.2600.2 2.0.2600.1106 2.0.3790.0 3.0.3790.2180 3.1.4000.1823 3.1.4000.1830 Description Released with Windows XP. Released with Windows 2000 Server Service Pack 3 (SP3). Released with Windows 2000 Server Service Pack 4 (SP4). Released as a redistributable. Released with Windows XP Service Pack 1 (SP1). Released with Windows Server 2003. Released with Windows XP Service Pack 2 (SP2). Released as a redistributable. Released as a redistributable. This version is has the same functionality as version 3.1.4000.2435. Released with Windows Server 2003 Service Pack 1 (SP1) and Windows XP Professional x64 Edition. Update this version to version 3.1.4000.2435 to

address the issue discussed in KB898628. Windows Installer 3.1 Windows Installer 4.0 Windows Installer 4.0 3.1.4000.2435 Released with a fix to address the issue discussed in KB898628. This is the latest version of Windows Installer 3.1. Released with Windows Vista. Released with Windows Vista Service Pack 1 (SP1) and Windows Server 20

4.0.6000.16386 greater than 4.0.6001.16531

A 'Windows service' is a long-running executable that performs specific functions and which is designed not to require user intervention. Windows services start when the Microsoft Windows operating system is booted and run in the background as long as Windows is running. We can start, stop and delete services that are installed on the destination computer.

Windows Installer Service : 

Adds, modifies, and removes applications provided as a Windows Installer

(*.msi) package. If this service is disabled, any services that explicitly depend on it will fail to start.   Microsoft developed the Microsoft® Windows® operating system Installer

service in response to customer feedback regarding existing installation technologies. Customers wanted an installer that better addressed the needs of corporate

deployment, and one that was more consistent and robust than the various types of available installation technologies. 

Specifically, customers pointed out that the existing installers fail to: Adequately manage shared resources Consistently enforce the same installation rules Provide easy customization Help people decide which pieces of an application they need Diagnose and repair configuration problems at application run-time 

The Windows Installer is a new installation service that consists of: An operating system-resident installation service A standard format for component management A management API for applications and tools

The following sections describe these components. The Windows Installer service is an operating system component. It will be included in Windows 2000 and will also be provided as a service pack for the Windows 95, Windows 98, and Windows NT® 4.0 operating systems1ws Installer-enabled applications. In the past, every application provided its own setup executable file or script. Therefore, each application had to ensure that the proper installation rules (such as file versioning rules) were followed. Furthermore, no central reference for installation rules existed because setup was not considered to be a proper part of the development process; few, if any, best practice guidelines were available for developers authoring the setup routines. Applications quite often did the wrong things at setup time. For instance, many applications installed an older version of a given file over a newer version of that same file. In addition, legacy installers rarely maintained shared Dynamic Link Library (DLL) reference counts. As a result, installation or removal of a given application often broke existing applications on the computer. With the Windows Installer service, Microsoft has invested significant effort to ensure that all of the proper setup rules are implemented by the operating system. To follow those rules and avoid the problems outlined above, applications merely need to describe themselves in the standard format. This format is known as the Windows Installer format. The Windows Installer service will then perform the installation duties on behalf of the applications.

Chapter 4 : Setting Up The Packaging Infrastructure 4.1 Need for Virtual Machines :

Virtual machine technology enables multiple operating systems to run on a single computer at the same time. It applies to both server and client hardware. Microsoft Virtual PC and Microsoft Virtual Server 2005 enable one or more x86-based operating systems to run on the same computer system. Virtual PC for Mac enables one or more other operating systems to run on the Macintosh operating system so that users can run a Microsoft Windows operating system and a Windows-based application on a Macintosh computer. Virtual machine technology serves a variety of purposes. It enables hardware consolidation, simplified system recovery, and re-hosting of earlier applications because multiple operating systems can run on one computer. One key application for virtual machine technology is cross-platform integration. Other key applications include the following:  Server consolidation. If several server computers run applications that consume only a fraction of the available resources, you can use virtual machine technology to enable the applications to run side by side on a single server computer, even if they require different versions of the operating system or middleware.  Automation and consolidation of development and testing environments. Each virtual machine acts as a separate environment. This reduces risk and enables developers to quickly re-create different operating system configurations or compare versions of applications designed for different operating systems. In addition, a developer can test early development versions of an application in a virtual machine without destabilizing the system for other users.  Re-hosting of earlier versions of applications. You can run earlier versions of operating systems and applications on new hardware along with more recent versions of operating systems and applications.  Simplify system recovery environments. You can use virtualization solutions as part of a disaster system recovery plan that requires application portability and flexibility across hardware platforms.  Software demonstrations. With virtual machine technology, you can quickly recreate a clean operating system environment or system configuration.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->