Can Feature Contain Feature? Yes What are the resources made as the key path? Files & registry. How to hide the entry of installed msi application in Add/Remove Programs section of Control Panel? By setting the property ARPSYSTEMCOMPONENT=1 How to disable the setup.exe requirement for installing the msi? By setting the property ISSETUPDRIVEN=1 How to resolve the DLL conflict? By Isolation or Component GUID sychronisation. How many files can be kept in a component? As per best practices only 1 file per component. What is the difference between .locale and .manifest? What is the use of setting Keypath? How the self healing occurs? Whether command line property overtakes the MSI property? What is Application Packaging? Creation of an Installation Program for a piece of Software What is Application Repackaging? Repackaging (Customized Installation) is the process of capturing the changes made by an Installation Program (Package) and it is designed to support company standards and distribution methods. What are the steps of Repackaging? o Review the packaging requirements with the projects sponsor o Analyze the vendor package (Tech Review) o Repackage the application (Scripting) o Customize the package o Test the package o Release the package to end users Why it is required & what are the problems in Legacy Installation? o Customized Installation o Reduce Support Costs o Self Repair o Source Resiliency o Unattended Install o o o High Support Costs Fragile Installs & Uninstalls Difficult & labor Intensive to deploy

    

What Applications Should Not Be Repackaged & Why? o Existing MSI packages should be deployed as they are. o If you repackage an application and find that it references the MSI.DLL file, it is better not to repackage the application. o Microsoft Office 2000 and XP are good examples.

1

o

Applications containing system files managed by the Windows File Protection features of Windows 2000 and later are also to be avoided, such as Internet Explorer, Windows Service Packs and certian hotfixes.

All these applications are hard coded to use the Windows Installer service, and may make calls back to certain locations within the original MSI package.  What are the types of Packaging tools? o Wise for Windows Installer o Install Shield o SMS Installer o Marimba What are the types of Deployment tools? o Microsoft Systems Management Server (SMS) o Altiris Client Management Suite o Altiris Notification Server Console o Radia What is Windows Installer? It is a built-in Operating System service for Installing and Managing Applications. It provides a standard method for developing, customizing, installing and updating applications. Benefits of the Windows Installer? o Advertising o Installation on Demand o Repair (Self-healing) o Rollback (Transactional operations) o Managed Shared Resources o Installation in locked-down environments What are the types of Setup Captures in Wise / Install shield? In wise there are three types

o o o

Virtual Capture : Creates a clean virtual OS on your computer, and the installation is redirected in the clean virtual OS. SmartMonitor : Watches the installation and records the changes the installation performs. Snapshot : Scan the computer before and after the installation and record the differences between the first scan and the second.

In Install Shield there are two types Installation Monitor : Repackager watches lower-level system activities and records related changes made to the system by the setup(s) programs o Snapshot : Scan the computer before and after the installation and record the differences between the first scan and the second. MSI Installation Mechanism (Background Mechanism)? o Acquisition The Installer first installs the feature and then progresses through the actions specified in the sequence tables of the installation database. These actions query the installation database and generate a script that gives a step-by-step procedure for performing the installation. o Execution The installer passes the information to a process with elevated privileges and runs the script.

o

2

o

Rollback If an installation is unsuccessful, the installer restores the original state of the computer. When the installer processes the installation script, it simultaneously generates a rollback script. In addition to the rollback script, the installer saves a copy of every file it deletes during the installation. These files are kept in a hidden, system directory. Once the installation is complete, the rollback script and the saved files are deleted.

What is a MSI? MSI is “Microsoft Windows Installer”. It is an installation, in the form of a single file. It is actually a database that contains several tables (80+). Each of these tables contains instructions and set-up information. In wise there are 120 (87+33) tables. Structure of MSI? o Products (Collection of Features) o Features (Collection of Components) o Components (Collection of files and Registries) What is Product? Product is an Application. What is Feature? Features are buckets for Components. Windows Installer configuration commands operate only on Features (installing, advertising, Uninstalling). Self-healing, install-on-demand and user profile fixup operate at the Feature level. What is Component? Components are collections of resources that are always installed or removed as a unit from a user's system. A resource can be a file, registry key, shortcut, or anything else that may be installed. Every component is assigned a unique component code GUID. What is Registry, Tell the Structure & types of Registry? The Registry is a single place for storing information about the Windows OS (Hardware & Software). Structure     Root Keys / Subtrees Subkeys Hives Entries Machine-Specific (HKCR, HKLM, HKCC, HKU) User-Specific (HKCU, HKU) HKEY_CLASS_ROOT (HKCR) HKEY_LOCAL_MACHINE (HKLM) HKEY_CURRENT_CONFIG (HKCC) HKEY_CURRENT_USER (HKCU) HKEY_USERS (HKU)

Types   Root Keys      

What are Shortcuts & Types? Shortcuts are the entry points to the applications installed on the system which is normally points to a file.

o o

Advertised (File should be Installed by the Application) Non Advertised (File that is not part of Installation. It is also called Command Line shortcuts)

What are INI File & its format? INI files are plain-text files that contain configuration information. "INI" stands for initialization. [Section]

3

Keyname=value  What are Services & its types? A windows service is a background process which is loaded by the Service Control Manager of the OS.

o o

Win32 Service (Win32 services are the services which is running by the executable file installed by the Application). System or Kernel Services (Kernel services are the services which are used by the OS to communicate to the hardware devices).

Where is Service information stored? Most of the Service information is stored in the windows registry “HKLM\System\CurrentControlSet\Name of the Service” In the MSI, which tables contain information about the service details? o ServiceInstall (Service Details)

o

ServiceControl (Controlling the service during Installation & UnInstallation)

What is ODBC & DSN and its types? ODBC means Open Database Connectivity. The purpose of ODBC is to allow the user to access data from any application. The layer between the application and the DBMS called DSN. o System DSN (DSN will be available for all users)

o

User DSN (DSN will be available for that particular user)

What is File Association? The Windows operating system recognizes file types and associates them with programs based on their file extension. A file that carries no extension or no associated program is called Orphaned.

What is Environment Variable & its types? Environment Variables are the variables that are set by the Operating System & Application. o System Variable (Available for all users) o User Variable (Available for that particular user) What is Property & types of Properties, give some Examples? Properties are global variables that the Microsoft Windows Installer uses during an installation. o Private The installer can be use only internally (values can’t be changed during the run time).  Manufacture, ProductCode, ProductID, ProductName, ProductVersion …… Public The installer can be uses both internally & externally (values can be changed during the run time also).  INSTALLLEVEL, …. Restricted Public The user can’t change the value both internally & externally due to security purposes.  ALLUSERS, REBOOT, REINSTALLMODE …

o

o

What is the Use of the following Properties?

ALLUSERS (Null, 1, 2) User Per-user, Not valid, Per-user Admin Per-user, Per-machine, Per-machine

4

REBOOT (Force, Suppress, ReallySuppress) Always prompt for a reboot at the end of the installation. Suppress prompts for a reboot at the end of the installation. But the user can still prompt by using ForceReboot action. Suppress all prompts for reboots during the installation. REINSTALLMODE (to specify the type of reinstallation of the Application) p - If file is missing o - If file is missing or if an older version is installed. e - If file is missing or an equal or older version is installed. d - If file is missing or a different version is installed. c - If file is missing or the stored checksum doesn't match the calculated value. a - Force all files to be reinstalled. u - Rewrite all required user specific registry entries. m - Rewrite all required computer-specific registry entries. s - Overwrite all existing shortcuts. v - Run from source and re-cache the local package. Do not uses the v reinstall option for the first installation of an application or feature. REINSTALL (List of features to be Installed) RebootRequired (Prompts for Reboot) Yes - Prompt for Reboot No - Won’t Prompt for Reboot ADDLOCAL (Features to be Installed locally during Run Time) ADDSOURCE (Features to be run from source) INSTALLLEVEL (Which features to be Installed)

 

  

What is Merge Module? Merge modules are a mechanism in Windows Installer that allows companies to prepackage and share standard component definitions. Merge modules are used to deliver shared code, files, resources, registry entries and setup logic to applications as a single compound file. What are all Merge Module tables? ModuleSignature, ModuleComponents, ModuleDependency, ModuleExclusion, ModuleAdminUISequence, ModuleAdminExecuteSequence, ModuleAdvtUISequence, ModuleAdvtExecuteSequence, ModuleIgnore, ModuleInstallUISequence, ModuleInstallExecuteSequence, ModuleSubstitution, ModuleConfiguration How the Merge Module is working (Background mechanism)? Merge Module is working by checking the version, size & date of the file. If the file is Dll or OCX, it will check the version, other files like text it will check the Size & Date. It works by the Mechanism of Shared Dlls Count concept which is stored in the Registry information “HKLM\Software\Microsoft\Windows\CurrentVersion\SharedDlls\” What are the types of Installation modes? All Windows Installer package should be Installed by the following command line Msiexec /Option <Required Parameter> [Optional Parameter] o Install Options

 

/I /j

-

Installs a product Advertise a product u - Advertises to the current user m - Advertises to all users of machine g - Language identifier

5

t - Applies transform to advertised package

  o   

/a /x

-

Administrative Installation UnInstalls a product

Display Options (during Installation & UnInstallation) /quiet /passive/q no user interaction sets user interface level n - No UI n+ - No UI except for a modal dialog at the end r - Reduced UI with no modal dialog at the end b - Basic UI b! - Basic UI with hide cancel button b+ - Basic UI with a modal dialog at the end b+! – Basic UI with a modal dialog at the end & hide cancel button b- - Basic UI with no modal dialog at the end b-! - Basic UI with no modal dialog at the end & hide cancel button f - Full UI help information unattended mode


o

/help

-

Restart Options

  

/norestart /promptrestart /forcerestart -

-

Do not restart after the Installation

Prompts the user for restart if necessary -

o

Always restart the computer after Installation Logging Options (Writes logging information into a logfile at the specified existing path. Default is 'iwearmo')

/l

-

I - Status messages w - Nonfatal warnings e - All error messages a - Start up of actions r - Action-specific records u - User requests c - Initial UI parameters m - Out-of-memory or fatal exit information o - Out-of-disk-space messages p - Terminal properties v - Verbose output x - Extra debugging information + - Append to existing log file ! - Flush each line to the log * - Log all information, except for v and x options Equivalent of /l* <LogFile>


o

/ log

<LogFile>

Update Options


/update /uninstall /p Applies a Patch

 o

Repair Options (Repairs a product)

6

/f

p - only if file is missing o - If file is missing or an older version is installed (default) e - If file is missing or an equal or older version is installed d - If file is missing or a different version is installed c - If file is missing or checksum does not match the calculated value a - forces all files to be reinstalled u - All required user-specific registry entries (default) m - All required computer-specific registry entries (default) s - All existing shortcuts (default) v - Runs from source and reaches local package

o

Others

  

/m <file name> /? Or /h /y <module>

Generates an SMS status .mif file Displays the copy rights for Windows Installer Calls the system function DllRegisterServer to self-register modules passed in on the command line Calls the system function DllUnRegisterServer to Unregister modules passed in on the command line Advertises a new instance of the product Specifies the particular instance of the product

  

/z <module>

/c /n <ProductCode>

What is the difference between /qb, /qb-, /qb! ? See the above answer. How to give Permission for files, folders & Registry keys in MSI? In the MSI, we can give permissions through Lock Permission table. How to give Permission for files, folders & Registry keys through VB Script & what is the syntax? We can give permission for files & folders through VB Script by using the CACLS & XCACLS commands. CACLs should only run on NTFS partitions. CACLS – Changes Access Control ListS “Cacls <file name> [/T] [/E] [/C] [/G user: perm] [/R user [...]] [/P user: perm [...]] [/D user [...]] “

o o o o o

/T /E /C /G /R

Changes ACLs of specified files in the current directory and subdirectories Edit ACL instead of replacing it Continue (ignore) access denied errors user : perm where access rights granted can be: R C F (read, change, full control) user Revoke specified user's access rights (only valid with /E)

7

o o
E.g.

/P /D

user: perm Replace specified user's access rights. Permission can be: N R C F (none, read, change, full control) user Deny specified user access

“cacls c:\myfile.txt /E /G <user name>: F”

In VB Script the syntax as On Error Resume next Set Wshell = CreateObject (“Wscript.Shell”) Wshell.Run “cacls c:\myfile.txt /E /G <user name>: F”  What is VB Script? VB Script is a Microsoft Scripting language that means it is a lightweight programming language. It is a light version of Microsoft's programming language Visual Basic. It is used to add interaction for the web page projects. How to install only one particular feature during the Installation through Command line? msiexec /i <msi> ADDLOCAL=<Feature Name> How to disable ARP Details during the Installation through Command line, tell some ARP properties? msiexec /i <msi> ARPSYSTEMCOMPONENT=1 o o o o o o o o o o o o o  ARPAUTHORIZEDCDFPREFIX ARPCOMMENTS ARPCONTACT ARPINSTALLLOCATION ARPNOMODIFY ARPNOREMOVE ARPNOREPAIR ARPPRODUCTICON ARPREADME ARPSIZE ARPSYSTEMCOMPONENT ARPURLINFOABOUT ARPURLUPDATEINFO

What is Dll Cache folder? During the process of SFC (System File Checker) or WFP (Windows File Protection), it will scan all the protected files (.SYS, .DLL, .EXE, .TTF, .FON, and .OCX extensions) to verify their versions. If the versions are not correct, it will replace the particular files from the back up folder called DLL Cache folder. What is Windows File Protection (WFP)? WFP is also one Utility tool which will do automatically. Some applications will replace the system files (SYS, .DLL, .EXE, .TTF, .FON, and .OCX) with different files of the same name or with same file with different versions. If the files are in a protected folder, then Windows File Protection automatically determines which file was affected, and looks up the file signature in a catalogue file to see if the file is the correct Microsoft version, and if it is digitally signed. If it is not, then the correct file will be copied over it from either the winnt\system32\dllcache folder, or from the Windows CD. How Do I Control Windows File Protection (WFP)? All registry settings for WFP/System File Checker are located in “HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon”. By default, only Administrators and System will be able to modify these settings. SFCDisable (REG_DWORD) 0 = enabled (default).

8

1 = disabled, prompt at boot to re-enable (debugger required). 2 = disabled at next boot only, no prompt to re-enable (debugger required). SFCScan (REG_DWORD) 0 = do not scan protected files at boot (default). 1 = scan protected files at every boot. 2 = scan protected files once. SFCQuota (REG_DWORD) n = size (in megabytes) of dllcache quota. FFFFFFFF = cache-protected system files on the local hard drive. SFCShowProgress (REG_DWORD) 0 = System File Checker progress meter is not displayed. 1 = System File Checker progress meter is displayed (default). SFCDllCacheDir (REG_EXPAND_SZ) Path = local location of dllcache directory (default is %Systemroot%\system32\dllcache).  What is Advertisement? It means that, the Availability of an application to users or others with out actually the full Installation. There are two types of Advertising o Assigning An Application appears (shortcuts, files & registries) to a user or others, when an Application is “assigned”. When the user tries to open, it is installed upon demand. Publishing No Entry points appear to a user or others, when an Application “published” to the group. It is activated only if the group Application activates the published Application i.e. Installation on Demand.

o

What is Advertised Feature & Component? If a Feature or Component is advertised, only the interfaces required for loading and launching the application are installed to the user or others. If a user activates an advertised interface the installer then proceeds to install the necessary Components & Features. What is Installation on Demand? When a user or application activates an advertised feature or product, the installer proceeds with installation of the needed components. What is Transform? A transform is a windows installer file with the extension (.MST). It should be used along with a MSI to customize or change the installation package without modifying the MSI. The installer can only apply transforms during an installation. What are the types of Transform? o o Embedded transform Embedded transforms are stored inside the .msi file of the package. Secured transform Secured transforms are stored locally on the user's computer in a location where, on a secure file system, the user does not have write access. Such transforms are cached in this location during the installation or advertisement of the package. During subsequent installation-on-demand or maintenance installations of the package, the installer uses the cached transforms. Unsecured transform

o

9

Transforms that have not been secured are called unsecured transforms. To apply an unsecured transform, pass the transform file names in the TRANSFORMS property or command line string during the installation.  How to Create Transform in Wise / Install Shield? In Wise Package Studio, by using Install Tailor or New Project - other templates - Transform In Install Shield Admin Studio, by using the New Project - Transform How many Transform can be created for one Vendor MSI? Any Number How many Transforms can be supplied in the Command line? Any Number What is Custom Action? The Microsoft Windows Installer provides many built-in actions for performing the installation process. For some cases the developer writes an action to execute his own installation is called custom action What are the types of Sequences in the Custom Actions? o Normal User Interface o Normal Execute Immediate / Deferred o Administrative User Interface o Administrative Execute Immediate / Deferred o Advertisement Execute Immediate / Deferred What are the types of Conditions in the Custom Actions and what is the use? o Not Installed - During Installation only o REMOVE - During UnInstallation only o NOT REMOVE - During both Install & UnInstall What are the types of In Script options in the Custom Actions? o Immediate Execution Immediate custom actions, can be sequenced anywhere within any of the sequence tables. It has access to the installation database (read & set installation properties, modify feature & component states, add temporary columns, rows, and tables). o Deferred Execution – User Context Deferred custom actions can only be sequenced between the InstallInitialize and InstallFinalize actions in execute sequence tables. It doesn’t have access to the installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the InstallExecute, InstallExecuteAgain, or InstallFinalize action is run. If the Current User doesn’t have the elevated privileges (Custom actions make changes in the system directly), the custom actions should run in Deferred Execution in User Context only. o Rollback only This Action should be executed during the Installation of the Rollback script or if the Installation is Unsuccessful Commit only This Action should be executed during the Installation of the Commit script. Deferred Execution – System Context Deferred custom actions can only be sequenced between the InstallInitialize and InstallFinalize actions in execute sequence tables. It doesn’t have access to the

o o

10

installation database. Deferred custom actions are not executed immediately. Instead they are scheduled to run later during the execution script. The execution script isn't processed until the InstallExecute, InstallExecuteAgain, or InstallFinalize action is run. If the Current User have the elevated privileges (Custom actions make changes in the system directly), then it should run in Deferred Execution in System Context only.  What is the difference between “Immediate Execute / Deferred Execute” in the Custom Actions? o Immediate custom actions, can be sequenced anywhere within any of the sequence tables Deferred custom actions can only be sequenced between the InstallInitialize and InstallFinalize actions in execute sequence tables o Immediate custom actions have access to the Installation database Deferred custom actions doesn’t have access to the Installation database o Immediate custom actions can only run in the User Context Deferred custom actions can run both in the context of the user and elevated using the system context. What is the difference between “Deferred in System Context / Deferred in User Context” in the Custom Actions? If the Custom action which installs or modify a file under the INSTALLDIR or Installation should be run in “Deferred in User Context” If the Custom action which installs or modify the system file directly should be run in “Deferred Execution in System Context” What are the types of Processing Options in the Custom Actions and what is the use? o Synchronous Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete successfully before continuing the main installation. o Synchronous, ignore exit code Windows Installer runs the custom action synchronously to the main installation. It waits for the custom action to complete before continuing the main installation; the action can be either success or fail. Asynch, wait at end of sequence Windows Installer runs the custom action simultaneously with the main installation. At the end it waits for the exit code from the custom action before continuing. Asynch, no wait Windows Installer runs the custom action simultaneously with the main installation. It doesn’t wait for completion of the custom action and doesn’t check the exit code also.

o

o

What are the types of Scheduling Options in the Custom Actions and what is the use? o Always Execute This action execute in all sequences o o Run first time This action execute only the first time Windows Installer encounters it. Run once per process This action execute only one time either Execute sequence that should not run if the installation is running in silent mode. Run only if UI sequence was run This action execute only if either Execute sequence is run following User Interface sequence.

o

What is Launch Condition?

11

Launch Condition is used to check system requirements on the destination computer  What is App Search? App Search action is used to search for existing versions of products (Files, Registry, INI, Directory & Component) What is Isolated Component, why we are using and its types? It means that to prevent overwriting of previous versions of shared components, and ensures that other applications do not overwrite your version of shared components. o Manifest file concept o Local file concept What is the MSI Assembly tables & its use? MSI Assembly tables specify Windows Installer settings for Microsoft ®.NET Framework assemblies and Win32 assemblies. It is used for the registration of .Net Assembly files. When installing assemblies to the global assembly cache, the installer cannot use the same directory structure. Assemblies can exist only once in the assembly cache. Assemblies are added and removed from the assembly cache atomically  What is the latest version of Windows Installer? The latest version of Windows Installer is 3.1 What is the latest version of Wise Package studio & Install Shield Admin Studio? Wise Package Studio - 6.0 Install Shield - 10.5 Install Shield Admin Studio - 6.0 What is Conflict Management? When two or more applications install the same system files (DLLs, .VBXs, and .OCXs), Windows registry, and other items. To detect, Conflict Management should be use and for resolve the software conflicts, Application Isolation concept should be use What are the types of Deployment (Software Distribution)? o Group policy (Active Directory) o Software Update Services (SUS) o Windows Update Web site o Systems Management service (SMS) What is Software Distribution? One of the more critical aspects to managing a Windows environment is the ability to deploy new applications, updates, upgrades & patches. Distributing new or updated software is called as Software Distribution. What is Group Policy (GPO) & how to set it? Administrators use Group Policy to define options for managing, configuration of servers, desktops, and groups of users. It is used to set policies across a given site, domain, or range of organizational units. Use “gpedit.msc” in the run command to set the policy. What is Elevated User & how to create it? If the user having the privileges of MSI features (Windows Installer) is called as Elevated User You can create through “gpedit.msc” in the run Command or registry keys HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer Type : DWORD Key: AlwaysInstallElevated Value : 1  What is Wrapper MSI? It means that the Application (MSI) is packaged by calling the Exe (Executable file) inside the MSI (Internally calling the source or exe).

12

What is Lock down environment? Software restriction policies provide administrators with a Policy-driven mechanism to identify software running on computers in a domain, and control its ability to execute. This policy can be used to block malicious scripts, help lockdown a computer, or prevent unwanted applications from running. How do deploy the Package? o Group policy (Active Directory) o Software Update Services (SUS) o Windows Update Web site o Systems Management service (SMS) What is IntelliMirror? IntelliMirror management technologies is a set of powerful features for change and configuration management. It ensures that users’ data, software, and personal settings are available when they move from one computer to another, and persist when their computers are connected to the network. Microsoft divides IntelliMirror's features into the following four categories:

o o o o

User Data Management :. IntelliMirror supports the mirroring of user data to the network and local copies of selected network data. Software Installation and Maintenance : IntelliMirror allows you to centrally manage software installation, repairs, updates, and removal. User Settings Management : IntelliMirror allows you to centrally define computing environment settings for both users and workstations. Remote Installation Services : IntelliMirror allows you to image workstations with the Windows 2000 Professional operating system

What is Active Directory? Deploying applications through the Active Directory is done through the use of group policies, and therefore applications are deployed either on a per user basis or on a per computer basis. What are the other tools which are used during the testing & solving the Issues in the Application? o Picture Taker o Windows Install Master o Install rite o RegMon o FileMon o CsDiff o Icon Extractor & Icon Builder o RegExtractor o WiLogUtl o WiseComReg o ResourceW2K What is Orca tool & what is the purpose and Advantages? This tool is a Microsoft product. It is used for edit the MSI Databases (tables). o No limitation for the table entries o Easy to edit the Databases o If you edit any tables and give save, only those tables will be modified, but in Wise or Install Shield all the tables will change

13

Why multiple MSIExec is running during the Installation? Windows Installer uses a client-server model for performing installations. Additionally for security reasons, Windows Installer hosts DLL and script custom actions in a "sandbox" process. Depending on how the install was initiated, one of the MSIExec processes can be the client process (Current User). Another MSIExec process is Windows Installer service (System). Which drive your Application will Install, C drive has less space and D drive has more space? Why & how to solve? It will install “D” drive only due to Windows Installer features. We can solve by adding “WindowsVolume” entry in the directory table as parent of “TARGETDIR” What is a Patch? Patching is a streamlined process for updating earlier versions of a Windows Installer setup package i.e. when you update only files that already exist in your installation package. Only the package code is changed. What is Upgrade? Upgrade is a process of updating the earlier versions of a Windows Installer setup package i.e. Adding, changing & deleting new Files & Registries. But here product code, product version & package code should be changed. What are the types of Upgrades and what is the difference? o Small Update A small update is a product update that changes a few files or possibly adds some new content. But there is a limitation for the changes that can be made to the featurecomponent structure for the package. Only the package code is changed. It is also called as a "Hotfix" or “Quick Fix Engineering (QFE)”. o Minor Upgrade A minor update is a product update that makes enough changes. But there is a limitation for the changes that can be made to the feature-component structure for the package. The package code & product version is changed for the product. It is also called as a “Service Pack”. Major Upgrade A major update is a product update with a large number of changes. There is no limitation for the changes that can be made to the feature-component structure for the package. The package code, product code & product version is changed for the product. It is also called as a "Product Upgrade”.

o

How you validate the MSI? In Wise Package Studio, by using “Package Validation” option by selecting the MSI with the default Cub file or Browse your own Cub file. In Install Shield, by Build - Validate- Default Cub file or Browse your own Cub file. What is ICE? It means “Internal Consistency Evaluation”. ICEs are used to validate installation packages.

Give some ICE Error number and tell how to solve the ICE Errors? There are totally 96 ICE Errors and 14 ICEM Errors in the Windows Installer. Some examples are as follows

o o o

ICE03 - Basic data and foreign key validation ICE18 - Validates the KeyPath column of the Component table when it is NULL. ICE21 - Validates that all components in the Component table map to a feature in the FeatureComponents table.

14

o o o o o

ICE33 - Checks for entries in the registry table that belong in other tables. ICE38 - Validates that components installed under the user's profile use a registry key under HKCU as their key path. ICE64 - Checks that new directories in the user profile are removed in roaming scenarios. ICE57 - Validates that individual components do not mix per-machine and per-user data. ICE59 - Checks that advertised shortcuts belong to components that are installed by the target feature of the shortcut.

What are the File types of Application Packaging? o WSI - Microsoft Windows Installer Project file

o o o o o o o o

ISM MSI MST PCP MSP WSM MSM EXE

- Install Shield Project file - Microsoft Windows Installer - Microsoft Transform - Windows Installer Patch Project file - Microsoft Windows Installer Patch - Microsoft Windows Installer Merge Module Project file - Microsoft Windows Installer Merge Module - Executable file

How to install the .Exe file through silent mode? Normally all the .Exe file can be Installed silently by “/ s”. But it depends up on the .EXE file behavior. How to register the DLL manually? By using the command line option “regsvr32”. For example a. regsvr32 Dll name For Register the Dll b. regsvr32 /u For Unregistered the Dll c. regsvr32 /s For Silent register What is COM Component? The Component which is having the COM information entries is called as COM Component. If the component is COM Component, it should have entries in the Class, ProgID, Registry & Typelib tables in the MSI. For example most of the merge module components are called as COM Component (MSCOMCTL.ocx, COMCTL.ocx …) What are the default Windows Installer properties? o [AdminToolsFolder] C:\Document and Settings\Current User\Start Menu\Programs\Administrative Tools\ [AppDataFolder] C:\Document and Settings\Current User\Application Data\ [CommonAppDataFolder] C:\Document and Settings\All Users\Application Data\ [CommonFilesFolder] C:\Program Files\Common Files\ [DesktopFolder] C:\Documents and Settings\Current User\Desktop\ [FavoritesFolder] C:\Documents and Settings\Current User\Favorites\\

o
o o o

o

15

o o

o
o

o
o o o o o o o o o o o

o o
o

[FontsFolder] C:\Windows\Fonts\ [LocalAppDataFolder] C:\Documents and Settings\Current User\Local Settings\Application Data\ [MyPicturesFolder] C:\Documents and Settings\Current User\My Documents\My Pictures\ [NetHoodFolder] C:\Documents and Settings\Current User\NetHood\ [PersonalFolder] C:\Documents and Settings\Current User\My Documents\ [PrintHoodFolder] C:\Documents and Settings\Current User\PrintHood\ [ProfilesFolder] C:\Documents and Settings\Current User\ [ProgramFilesFolder] C:\Program Files\ [ProgramMenuFolder] C:\Documents and Settings\Current User\Start Menu\Programs\ [RecentFolder] C:\Documents and Settings\Current User\Recent\ [SendToFolder] C:\Documents and Settings\Current User\SendTo\ [StartMenuFolder] C:\Documents and Settings\Current User\Start Menu\ [StartupFolder] C:\Documents and Settings\Current User\Start Menu\Programs\Startup\ [System16Folder] C:\Windows\System\ [SystemFolder] C:\Windows\System32\ [TempFolder] C:\Documents and Settings\Current User\Local Settings\Temp\ [TemplateFolder] C:\Documents and Settings\Current User\Templates\ [WindowsFolder] C:\Windows\ [WindowsVolume] C:\

What are the default Environment settings in XP? o ALLUSERSPROFILE C:\Documents and Settings\All Users o APPDATA C:\Documents and Settings\current User\Application Data o CommonProgramFiles C:\Program Files\Common Files o COMPUTERNAME System Name o ComSpec C:\Windows\system32\cmd.exe o HOMEDRIVE C: o HOMEPATH C:\Documents and Settings\Current User o ProgramFiles C:\Program Files o SystemDrive C: o SystemRoot

16

o o o o o

C:\Windows TEMP C:\Documents and Settings\Local Settings\Temp TMP C:\Documents and Settings\Local Settings\Temp USERNAME Current User USERPROFILE C:\Documents and Settings\Current User Windir C:\Windows

What is Package Code? The Package Code is a GUID identifying a particular Microsoft Windows Installer package. It associates an .MSI file. What is Product Code? The Product Code is a GUID identifying a particular Application or product. What is the Event Viewer, how to open & what is it use? It is a Windows utility tool in the OS. You can open by giving “eventvwr” in the run command also. It is used to view all exceptional events occur in the OS and also for the System administrator to track the performance of the OS.

About Manifests FLEXnet AdminStudio 7.5 » Repackager Manifests, which are used during isolation, are XML files that describe an application. Repackager can create two types of manifests: application manifests and assembly manifest. Application Manifests Describe an Isolated Application Application manifests are XML files that describe an isolated application. This descriptive information includes the relationship between the application and its dependent files. Typically, the naming convention for a manifest is: ApplicationName.Extension.manifest For example, if the application was HelloWorld.exe, the manifest file is called: HelloWorld.exe.manifest Assembly Manifests Describe an Application's Assemblies Assembly manifests are XML files that describe an application's assemblies. This includes components such as DLLs. Information stored in the assembly manifest, such as COM registration information, ProgIDs, etc., is usually stored in the Registry. However, by making it independent from the Registry, only that application can use the dependent files described in the manifest. This enables you to have multiple versions of the same DLL or other portable executable file on a system without generating compatibility conflicts. Typically, the naming convention for a manifest is: AssemblyName.Extension.manifest For example, if the component was Goodbye.dll, the manifest file is called: Goodbye.dll.manifest

17

Manifests as New Components When you create manifests, Repackager supports putting them into new components. If you do not select the Create new component for each assembly option on the Manifest Options tab of the Isolation Options dialog box, the manifest will be added to the same component as the assembly.

Registry-Free COM Registration InstallShield 11.5 With Reg-Free COM, COM data is written to an application manifest file that is stored in the application folder. The manifest file is an XML file that contains information about an application and the libraries that are associated with it. Note that the Reg-Free COM manifest file, the executable file, and the COM libraries should all be installed to the same folder on the target machine. Benefits of Reg-Free COM Reg-Free COM has several advanages over traditional COM. For example, with Reg-Free COM, the component is defined within the scope of the application itself. Even if other applications that use the same COM component or a different version of it require that it be registered, it will not interfere with this application. Problems may occur with traditional COM registration if multiple versions of shared libraries exist on a target system. For example, an installation may overwrite a new version of a shared library with an older version, or a new version might not be backwardly compatible with older versions. This may cause applications that require features of a specific version to crash. These types of situations are commonly known as DLL Hell. With Reg-Free COM, you can avoid these problems because other applications cannot access your application's COM component. In addition, Reg-Free COM streamlines the upgrade and uninstallation processes. For an upgrade, simply replace the application folder. For an uninstallation, simply remove that folder. Limitations of Reg-Free COM Reg-Free COM is not appropriate for some solutions. Several limitations exist:

• •

Reg-Free COM works on only Windows XP or later. A component is not suitable for Reg-Free COM if it is a system component or part of the operating system. In addition, it is not suitable if it is a data access component such as Microsoft Data Access Components (MDAC). These types of components should not be isolated. Some of these components, such as MDAC, can be included in an installation as a redistributable. A COM component can be isolated only once per application. Consider grouping COM components in a single class library as a workaround to this limitation.

Concept: Conflict Solving is a process (one of the best practices) which finds out conflict between more than two applications for various resource such as Files, Registries, Services, INI Files, Environment Path Variable, ODBC, Extensions, COM information (internal information of DLL, OCX or EXE file) etc. These resources are critical for any application to run successfully.

18

Conflict Solving ensures the shared common resources do not get uninstalled from the machine when it is being used by more than one applications. For example, if we install package A on machine and then package B on the same machine. If a file called common.dll is being using by both the application, un-installation of any of these applications will remove the file from the machine hence breaking all other applications. Conflict solving synchronises commonly used resource across the package and ensures uninstallation of any application does not break any other application. It also ensures version conflict of same file to run more than one applications on the same machine at the same time. Conflict Solving Method: Following are the activities required for conflict solving. 1. Setup and Configure a database (SQL Server). This database has various folders which stores package in progress, in peer test, exception and certified. 2. Import MSI (Package) into database. Database has same table structure as any MSI to store information of a package. This database keeps increasing with packages which are certified and delivered. 3. Conflict Solving Software (part of Admin Studio) given by Install Shield (Microvision) is used to conflict solve a application against whole database. 4. Generate a conflict report for packager. 5. Packager needs to analyse and fix conflict. Once conflict solving is done it goes in same iteration until all conflict solved. This conflict solving is done on package project (InstallShield Project). Advantages of Conflict Solving 1. Synchronization of commonly used resources of MSI across the application/package ensures no application breaks if any other application is uninstalled. 2. Application does not self heal unnecessarily for common resources as these resources are not delete/uninstalled during uninstallation of application. 3. Increases quality of packages 4. Protect re-installation of application due to un-installation of any other application. 5. Enable us to install different versions of same file to run different applications at the same time.

19

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.