Friday, 29 June 2012

Application Packaging Interview Questions - Scripting

Following are questions related to Scripting in Application Packaging

VBScripting



  • What is On Error Resume Next
  • What is Option Explicit
  • What are different objects available in VBScripting?
  • What object is used to perform operations on Files/Folders?

WiseScripting


  • How to get environment variable value into a variable?
  • How to add/edit/remove registries?
  • function to delete Files?
  • How to check if OS is 32bit or 64bit ?
  • can we execute VBscript inside Wisescript?
  • how to pass values from VBScript to WiseScript?
  • How to execute MSI using WiseScript?
  • How to check if MSI installation using Wisescript is successful or failure?
  • How to display a message while MSI installation is happening using WiseScript?
  • How to check if a process is running using WiseScript?
  • How to check if file/directory exists using WiseScript?
  • How to check if a file is in use?
  • How to pause wisescript execution for sometime?
  • How to set the name of output file generated using WiseScript?
  • How to copy files from one location to another location using WiseScript?
  • What is the different between INST and '.'(DOT)
  • How to stop execution of WiseScript?
  • How to read Registry values using WiseScript?
  • How to get current Date and Time using WiseScript?
  • Can a wisescript runs another wisescript?
  • How to install files on the system using WiseScript?
  • How to install files if doesn't exist using WiseScript?



Search this blog for Answers on various queries




Application Packaging Interview Questions - Miscellaneous

Following are miscellaneous queries


Miscellaneous:


  • What is component Isolation?
  • What is Conflict Management?
  • How to delete/create registry from each user profile?
  • How to delete/copy files to each user profile?
  • When do you use ActiveSetup?
  • When does Run key gets executed?
  • When does ActiveSetup actually run?
  • What change has to be done to run ActiveSetup again after few days?
  • How to Set a file as hidden during MSI installation?
  • Name few silent switches possible for setup.exe's?
  • How to create response files?
  • What is NestedMSI installation?
  • How to package an application which contains multiple MSIs, lets say 5 MSIs?
  • Disadvantage of NestMSI Installation?
  • Lets say a package(MSI+MST) is installed, then MST is modified and now I want to update the existing installation with changes in modified MST? ( How to do it without uninstalling the package)
  • What is meant by A in 'famus' switch in Repair command? When to use it?
  • How to access MSI properties in Deferred Execution custom action?
  • When to choose between Execute Immediate and Deferred sequences?
  • What are all the sequences available in MSI?
  • What is the significance of SelfReg Table?
  • What is the disadvantage of SelfReg Entries?
  • What to do when a MSI contains SelfReg Entries?
  • How to disable advertizement of shortcuts ?
  • What is destination directory for shortcut?
  • What is working directory for shortcut?
  • Is it possible to create a shortcut for a file that is present in pre-requisite package?
  • How to uninstall a MSI using shortcut? Please provide all the shorcut entries?
  • How to install only one feature of MSI through command line ?
  • Name ARP related MSI Properties?
  • What is LockDown Environment ?
  • Why multiple msiexec.exe processes run during MSI installation?
  • What is Source Resiliency?
  • Command to register a DLL file manually?
  • How to disable the setup.exe requirement for installing the msi?
  • What is INSTALLLEVEL property? and its significance?
  • How do you install 2 MSI’s.  After installation of 1st MSI the machine has to reboot and upon start of the machine 2nd MSI installation has to be trigerred. Once installation of 2nd MSI is completed the User has to notified with a Message that 2 MSIs Installation has been completed. How do you perform the Task? 
  • How do you create a Response File?  Where the response file will be created ?
  • What steps to be kept in mind while packaging Addin Applications?
  • How to update Hosts file?
  • How to package driver applications?
  • How to install fonts using MSI? through Registries Or MSI Tables?
  • Condition to check if feature is installed?
  • What is Rollback?
  • Syntax of ProductVersion Property? 


Search this blog for Answers on various queries




Thursday, 28 June 2012

Application Packaging Interview Questions - Advanced Part II


Following are questions at Advanced Level


Troubleshooting:

  • What is the use of FileMon, RegMon, ProcMon?
  • What is Orca Tool? and its Advantage?
  • What tables entries are changed when a file is added to MSI?
  • How to add file to MSI using Orca?
  • How to capture a setting of an application?
  • What if application goes for self healing everytime user launches the shortcut? What is the reason? How to overcome it?
  • What are the possible ways to check whats wrong with application if application is not launching?
  • How to identify if app requires permissions ?
  • How do you set permissions?
  • What are the tools available to set permissions?
  • Tell me the Command to set modify permissions to Users group using CACLS
  • What is the use of LockPermissions Table?
  • What is the disadvantage of LockPermissions Table?
  • What is MsiLockPermissionsEx Table?
  • Name few snapshotting tools?

Properties:

  • What is a Property and PROPERTY?
  • Difference between Property and PROPERTY?
  • Name few Private Properties
  • Name few Public Proerties
  • What are mandatory properties inside MSI?
  • What is SecureCustomProperties ?
  • What are Restricted Publick Properties?
  • How to suppress system reboot using property?

ICE Errors:

  • What are ICE Errors?
  • Why is it required to resolve ICE Errors?
  • What is ICE03 Error? How to resolve it?
  • What is ICE57 Error? How to resolve it?
  • What is ICE43 Error? How to resolve it?
  • What is ICE64 Error? How to resolve it?
  • What is ICE99 Error? How to resolve it?
  • What is ICE09 Error? How to resolve it?
  • What is ICE18 Error? How to resolve it?
  • Where are the rules defined for package validation stored?
  • Can we create cub files?



Search this blog for Answers on various questions




Application Packaging Interview Questions - Advanced

Following are few questions at Advanced Level


MSI Standard and Custom Actions

  • Explain MSI Execution in relation to StandardActions?
  • What is the standard action responsible to check disk space ?
  • What is the standard action marking the beginning of Installation/Uninstallation?
  • What is Execute Immediate?
  • What is Execute Deferred?
  • Different between Execute Immediate and Execute Deferred?
  • Options available to add VBScript Custiom Actions?
  • Where is VBScript stored in MSI, if "Call VBSCript From EmbeddedCode" option is used?
  • Where is VBScript stored in MSI, if "Call VBSCript From installation" option is used?
  • Where is VBScript stored in MSI, if "Call VBSCript From InstalledFiles" option is used?
  • Where is VBScript stored in MSI, if "Call VBSCript From Property" option is used?
  • What are the Conditions available to run custom actions during Installation, Repair, Uninstallation?
  • Condition to a customaction during Upgrade?
  • What are Processing Options for Custom Actions?
  • What is Synchronous?
  • What is Synchronous Ignore Exit Code?
  • What is Asynchronous?
  • What is Asynchronous no Wait?
  • What are the options available to run a EXE in Custom Action?
  • Where is EXE stored, if "Execute Program from Destination" Option is used?
  • Where is EXE stored, if "Execute Program from installation" Option is used?
  • Where is EXE stored, if "Execute Program from Installed Files" Option is used?
  • Where is EXE stored, if "Execute Program from Path" Option is used?
  • What are different Inscript Options available?
  • How to extract binary information from MSI?

MSI Command Line Options:

  • MSI installation command in Full UI mode?
  • MSI installation command in semisilent mode?
  • MSI installation command in semisilent mode without cancel button?
  • MSI installation command in totally silent mode?
  • Command to install MSI and MST?
  • Can we install multiple MSTs together?
  • How to pass property values in commandline?
  • How to install specific features using commandline?
  • What is MSI Repair?
  • What is the Command to perform Repair?
  • What is the Command to perform Repair using ProductCode?
  • What are F, M, O, U, S, P, A, V, switches in MSI Repair?
  • What is the Command to Uninstall MSI?
  • What is the Command to Uninstall MSI using ProductCode?
  • Can we install MSI using ProductCode?
  • If MSI and MST are installed, What happens if Transform path is not provided during uninstallation?
  • If MSI and MST are installed, Is it Mandatory to provide transform path in uninstallation command? 

Self healing and MSI Repair

  • What is Self healing?
  • How to prevent MSI from self healing?
  • What are the advantages of self healing?
  • How to make an MSI support self healing?
  • What are the Entry points to trigger selfhealing?
  • What are the MSI Tables which support Advertizing?
  • Difference between Selfhealing and Repair?
  • If the MSI is installed and then deleted from its location, Is it possible to Repair using ProductCode and SelfHeal successfully?

MSI Log file generation

  • What is a log File?
  • What is the use of Logfile?
  • Command to generate log file for an MSI during Installation, Repair, Uninstallation?
  • What are the most common Retun codes in Log file?
  • What are the return codes for successful installation?
  • What is meant by Return code '0' in log file?
  • What is meant by Return Code '3010' in log file?
  • How to check which features are installed using logfile?
  • How to check if there is an error during installation using log file?
  • How to check which features are not installed using logfile?
  • How to check which components are not installed using logfile?
  • What is Administrative Installation? (AIP)
  • Command for Administrative Installation?

Search the blog for Answers on various queries





Application Packaging Interview Questions - Basic Level Part II

Following are few questions at Basic Level Part II


Transforms

  • What is a Transform?
  • Why is it required to create MST?
  • How to merge the content of MST into MSI?
  • Can you install transform alone?
  • Command to install MSI and MST?
  • Types of Transforms?
  • What is embedded transform?
  • What is secured transform?
  • What is unsecured transform?

Upgrades

  • What is upgrade?
  • Different Types of Upgrades?
  • Minimum requirements for Major Upgrade?
  • Importance of UpgradeCode in MajorUpgrades?
  • Standard actions associated with Major Upgrade?
  • What is Action Property?
  • How to set Upgrade entry such that any older verison application has to be removed if it shares same UpgradeCode?
  • Where are Upgrade entries stored in MSI Tables?
  • What is the significance of RemoveExistingProducts?
  • What is the Ideal location of RemoveExistingProducts?
  • What is a Minor Upgrade?
  • What is a Patch?
  • For what purpose patches are created?
  • FileExtension of Patch?
  • Minimum requirements for Patch?
  • How to create Patches using WisePackageStudio or Installshield?
  • Can we delete files of app using Patches natively?
  • Can we see entry in ARP for Patches? How?
  • Can we Remove/Uninstall Patches alone?
  • Is there a option to remove pathces?
  • If MSI repair is trigerred after installing Patches, then will repair restore Original MSI files OR new Patch files?
  • Can you create Patches for VendorMSIs? What are the effects if you crate MSPs for VendorMSIs?


SystemSearch and LaunchConditions

  • What is SystemSearch?
  • Process of creating entry in SystemSearch to search for a file, registry?
  • What the MSI tables associated with SystemSearch?
  • What is a LaunchCondition and what is its usage?
  • What is the MSI Table associated with LaunchConditions?
  • What is the standard action associated with SystemSearch?
  • What is the standard action associated with Launch Conditions?
  • What is AppSearch?
  • What is the difference between SystemSearch and AppSearch?
  • What is the order of AppSearch and LaunchCondition standard actions?

Search this blog for Answers on various queries 






Application Packaging Interview Questions - Basic MSI Packaging



Following are queries related to Basic MSI Packaging


Components

  • What are Critical resources inside MSI?
  • What is a component?
  • What are Component Rules?
  • What is a KeyPath?
  • What are Component Attributes? 8, 16, 24 etc
  • What is a SharedDLL Component?
  • What is a Permanent Component?
  • What are sharedDLLs ?
  • What is the location of SharedDLLs in registry?
  • Can we set conditions to components?
  • Can a component have sub component
  • What are RED Components?
  • Why RED Components appear in MSIs?
  • How to resolve RED Components?
  • What is Component Assignment?
  • Is it possible to have a component assigned to multiple features?
  • How to associate a component to multiple features?
  • How to set a component not to install?
  • How to set a component install only on WindowsXP?

  • How to suppress reboot of an MSI
  • How to suppress reboot prompt in MSI?
  • How to suppress reboot of WiseScript?
  • What is sourcelist property?
  • What are different language codes?
  • What is the language code for English?
  • What is Per-User Installation?
  • What is Per-Machine Installation?
  • What is Determined by user access installation?
  • What is the property associated with PerUser,Permachine, Determined by user access installation? and its values?
  • What is preferred ALLUSERS=0 or 1 or 2?


MergeModules

  • What are MergeModules
  • Can you install a MergeModule alone?
  • Extension of MergeModule?
  • Can you create MergeModule?
  • Where are MergeModules stored on computer with WisePackageStudio and Installshield?
  • What does MergeModules Contain?
  • Does MergeModules contain Features?
  • Does MergeModules contain Components?
  • Does MergeModules contain files/registries?
  • What are mergemodules related MSI Tables?
  • Difference between MSI and MSM ?
  • Name mergemodule template file in WisePackageStudio
  • Can we open mergemodules using WisePackageStudio or Installshield?

  • Where are file entries stored inside MSI?
  • Where are file contents stored in MSI?
  • What is the option to create MSI and external Cab files in WisePackageStudio and Installshield?
  • What is the option to create MSI and external uncompressed files in WisePackageStudio and Installshield?
  • Maximum number of files MSI can hold?
  • What are Files related MSI Tables?

  • What is the Advantage of INI files being present in INI Table?
  • What is the Disadvantage of INI Files present in File Table?
  • Why does it take longer time to install if more INI files are present in MSI?
  • What is the syntax of INI file?

  • Where are Environment Variables stored in MSI Tables?
  • What is the good practice of Environment Variables? Registry or Tables?
  • What are the attributes to be set for Environment Variables?
  • Different Types of Environment Variables?
  • Where can we find Environment variables on the system?

  • What are ODBC Related tables in MSI?
  • What is the good practice for OCBC etnries in MSI? Registry or Tables?
  • When does application contain ODBC entries?

  • What is the good practice for Services? Registry or Tables?
  • What are the tables related to Services?
  • How to stop a service?
  • How to start a service?
  • How to install Drivers?
  • What are signed drivers?
  • What are unsigned drivers?
  • When does application contain drivers?

Search this blog for Answers on various queries.





Application Packaging Interview Questions - Basic Level




Following are few queries at Basic Level


  • Name available Packaging/Repackging Tools?
  • How to convert EXE to MSI? using WisePackageStudio and AdminStudio?
  • What are snapshot methods available in WisePackageStudio SetupCapture?
  • What are snapshot methods available in AdminstudioStudio Repackager?
  • What are exclusion lists ?
  • How to capture changes during installation in drives other than system drive?
  • What is relative path?
  • What is absolute path?
  • What is the use of having relative paths over absolute paths?
  • What is SmartMonitor?
  • What is VirtualCapture?
  • What is InstallationMonitoring in AdminStudio Repackager?
  • What does WSI file contain?
  • What does .IRP file contain?

Search this blog for answers on various queries.

Application Packaging Interview Questions - Windows Installer




Following are few questions on Windows Installer
  • What is Windows Installer
  • Benefits of Windows Installer
  • What is the latest version of Windows Installer?
  • What is Application Packaging
  • What is Application Repackaging?
  • Differences between Windows Installer and Legacy Applications?
  • Why Application Packaging is required?
  • What are the effects if Application Packaging is not implemented in Organizations?
  • What is the significance of Windows Installer Service?

Note: Search this blog for answers for different queries.

Tuesday, 26 June 2012

Application Packaging Interview Questions - Windows Basics



Application Packaging Interview Questions related to Windows Basics


Windows Basics

  • Explain Windows Installer(MSI) architecture
  • Can we make Operating system not to install MSIs?
  • How to set Windows to create log files automatically when MSIs are installed?
  • What is the use of MSIs present in C:\Windows\Installer folder?
  • How to identify if a setup is installing drivers?
  • What is a host file? Can we include host file inside MSI?
  • What are Environment Variables, and what is their usage?
  • Name the locations where Environment Variables can be found on Windows OS?
  • How to find whether a Setup is a Legacy or MSI?
  • Disadvantages of Legacy apps?
  • Advantages of MSI apps?
  • Disadvantages of MSI apps?
  • What is the use of Windows Installer Service?
  • What is ActiveSetup?
  • Is ActiveSetup part of MSI or Windows OS?
  • What is Run Key?
  • What is the difference Run, RunOnce and ActiveSetup?
  • What is a File Association or File Extension?
  • What is a ProgID?
  • What is Windows Registry or simply Registry?
  • How are HKCR and HKLM related?
  • How are HKCU and HKU related?
  • What is SID? and what is present inside SID?
  • What is the location of ARP entries in Registy?
  • Where are services located in registry?
  • What is ODBC? 
  • What ODBC entries are required by an application to successfully connect to Database?
  • Versions of WindowsXP, Vista, 7, 2003 Server, 2008 Server Operating Systems?
  • Difference between WindowsXP and Windows7?
  • Is it possible to install MSI file on  clean Windows98 system? and why?
  • When was MSI technology came into existence?
  • What is Event Viewer?
  • command to identify SID of currently logged in user?
  • Can we install two MSIs at a time? and why?
  • Registry Path for ProductCodes of MSIs installed on Windows?
  • What is System Account on Windows?
  • Which is master account on Windows?
  • What is the extension of shortcut file ?
  • How to remove small "arrow" mark for shortcuts on desktop?
  • How to make an application not to create an entry in Add/Remove Programs?
  • How to hide Remove Button for application entry in ARP using Registry?
  • How to hide Change/Modify Button for application entry in ARP using Registry?
  • How to hide Repair Button for application entry in ARP using Registry?
  • Location of AllUsers desktop shortcuts on WindowsXP and Windows7?
  • Location of AllUsers StartMenu shortcuts on WindowsXP and Windows7?
  • What are Local, LocalLow, Roaming folders on Windows 7? and how they are related to WindowsXP folders?
  • What is UAC in Windows7?
  • What is session zero isolation in Windows7?
  • How to set UAC not be displayed for installing MSIs?
  • Differences between 32it and 64bit Operating Systems?
  • How to identify if a application is 32bit or 64bit ?
  • Where are 32bit files stored in 64bit OS?
  • Where are 32bit application related registries stored on 64bit OS HKLM registry?
  • How to detect if OS is 32bit or 64bit?
  • Command to Shutdown computer on WinXP and Win7?
  • Command to Restart computer on WinXP and Win7 ?
  • What is DLL hell?
  • What is Windows File Protection? What is the location where Windows protected files are stored?
  • What is File Versioning?
  • If a machine has DLL of version 2.0 and your application has same DLL with version 3.0, what happens to the file during installation ? 


Search this blog for Answers












Monday, 25 June 2012

Setup is unable to connect to SQL server error while installing SCCM 2012


 Setup is unable to connect to SQL Server with the connection information provided. Verify the following:

- The SQL Server and instance names are entered correctly
- The specified SQL Server instance is not configured to use dynamic ports
- If a firewall is enabled on the SQL Server, inbound rules exist to allow connections to the correct ports if not manually create them 
- The account used to run Setup has permissions to connect to the specified SQL server instance
- the account should administrative privileges on the machine





Resolution: 

Open the “SQL Server Configuration manager” and Naviagte to The Protocols of your SQL Instance in the “SQL Server Network Configuration”
Enable “Named Pipes” and “TCP/IP”
Restart the SQL Service Instance within the SQL Server Services:


This seems to be a common issue during the SCCM 2012 setup:  
Verify also that you are running the one of the supported  SQL versions:
- SQL Server 2008 SP2 with Cumulative Update 9
- SQL Server 2008 SP3 with Cumulative Update 4
- SQL Server 2008 R2 with SP1 and Cumulative Update 6
- SQL Express no longer valid for SCCM 2012

Friday, 22 June 2012

What is Deferred Custom Action





The purpose of a deferred execution custom action is to delay the execution of a system change to the time when the installation script is executed.



This differs from a regular custom action, or a standard action, in which the installer executes the action immediately upon encountering it in a sequence table or in a call to MsiDoAction.


A deferred execution custom action enables a package author to specify system operations at a particular point within the execution of the installation script.


The installer does not execute a deferred execution custom action at the time the installation sequence is processed. Instead the installer writes the custom action into the installation script.


1. Should be placed between install initialize and install finalize.
2. Does not have access to MSIDATABASE in deferred execution.




MSI Upgrade Table



The Upgrade table contains information that’s used when an Installer database is used to make a major upgrade to an existing product. This table contains following columns:



UpgradeCode:
The UpgradeCode property in this column specifies the upgrade code of all products that are to be detected by the FindRelatedProducts action. Unlike the ProductCode, different products may share the same UpgradeCode.

VersionMin:
This column specifies the minimum version to be upgraded. Lower boundary of the range of product versions detected by FindRelatedProducts. A null value means there is no lower bound on the version to be upgraded.

VersionMax:
This column specifies the maximum version to be upgraded. Upper boundary of the range of product versions detected by the FindRelatedProducts action. A null value means there is no upper bound on the version to be upgraded.

Language:
This column contains the set of languages detected by FindRelatedProducts that are to be upgraded and are separated by semicolons. A null value means that any language can be upgraded.

Attributes:
This column can contain any combination of the bit flags as shown in below tables:
Bit flag ( decimal) 
Attribute
1
To enable the MigrateFeatureStates action
2
To detect but not change previous versions
4
To install the new version even if the old version can’t be removed
256
To include VersionMin in the versions upgraded
512
To include VersionMax in the version to be upgraded
1024
To upgrade all languages except those listed in the Language column

Remove:
This column contains a comma-delimited set of names of existing features to be removed.

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. After FindRelatedProducts, the value of this property is a list product codes, separated by semicolons (;), detected on the system. 


MSI Registry Table



This table holds all the miscellaneous (that is, not directly related to COM or COM+) information that the Installer needs to write to the Registry to install the application. The Registry table is used by the WriteRegistryValues action. This table contains the following columns:



Registry:
This column is an arbitrary key for the table which is used to identify a registry record.

Root:
This column indicates the Registry hive to be written to. It must have one of the values shown in below table.

Constant

Value

Explanation

None (Empty)

-1
i) For a per-user installation, writes to HKEY_CURRENT_USER.
ii) For a per-machine installation, Writes to HKEY_LOCAL_MACHINE.

msidbRegistryRootClassesRoot

0

HKEY_CLASSES_ROOT

msidbRegistryRootCurrentUser

1
HKEY_CURRENT_USER

msidbRegistryRootLocalMachine

2
HKEY_LOCAL_MACHINE

msidbRegistryRootUsers

3
HKEY_USERS


Key:
The Registry key to be written.

Name:
This column contains the name of the Registry value being written. If the column is null, then the value is written to the default for the Registry key. If the Value column is null, then this column should contain one of the special characters
Special Character
Corresponding Action
+
To create the key when the component is
Installed.

-
To delete the key when the component is uninstalled

*
To create the key on installation and delete it on uninstallation


Value:
This is the actual data to write to the Registry value.
Special Character.
Meaning
If the value starts with #x

Stored as a hexadecimal value.

If the value starts with #%

Stored as an expandable string.

If the value starts with #

Stored as an integer.

The special string [~] is stored as a null.

If this string occurs, the value is stored as a list of strings.

If the string starts with [~]
The value is appended to any existing value.

If the string ends with [~]
The value is prepended to any existing value.

If the value starts with ##
Stored as a string starting with a single # sign.


Component:
This is a foreign key to the Component table that identifies the component controlling this Registry operation.