0% found this document useful (0 votes)
241 views187 pages

Application Packaging Material

Uploaded by

purush0611
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
241 views187 pages

Application Packaging Material

Uploaded by

purush0611
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 187

Application packaging

Application:

An application is nothing but the combination of both files and registries


are known as application.

Application is a software program. It provides setup functions or operations to


end user.

Application contains the below data.

 Multiple files in different locations.

 Shortcuts.

 Registries.

 Runtime engines.

 .Net registration.

 Shell integration

 ActiveX Controls.

Application packaging:

Creating and developing an application by using program languages like


python, java, net, vb script, install script is called as application packaging.

Developing an application is called application packaging.

The process of creating an application is called application packaging.


Process of creating an installer for an application is called application
packaging. We use binary files as input while implementing and developing
app by the help of above listed programming languages.

Example; input binary files are we give here are:

. Exe - Executable or legacy application or setup.exe

Dll – dynamic link library

OCX – ActiveX Control

INI – Initialization file

Log – log file

Xml - config file

MSI – Microsoft Windows Installer

MST – Microsoft Transform

MSM – Microsoft Merge Module

MSP – Microsoft Patch

Sys – system file

Cat – security catalog file

Inf – Driver initialization file

DB – Data base file

Txt – text file

Jpg, png –image files

Reg – registry

2 T.UMAMAHESWAR 8686393028
Icon – image file or icon files

Lnk – Shortcut file

Input Output
Binaries EXE, MSI or Loose files.

Why we need to use application packaging:

It involves bundling all the necessary files, configurations and


dependencies into a standardized package that can be easily installed and
managed. Application packaging streamlines software deployment,
reduces compatibility issues and ensures consistent installation
procedures.

Minimizing security risks – Cybersecurity is a major threat today, and


application packaging helps reduce the threat for organizations. This is because
the streamlined process means that less users need to have “admin” status- an
inherent security issue.
A software package is a collection of system resources that are packed
together. These packages enable the end-user to perform some types of tasks
when the software package gets installed on their device.
Application packaging advantages:
Administration and management of the applications, along with application
issues will always be an ongoing and expensive headache for every
organization.It does not matter which packaging format you are using (MSI,
AppV or MSIX) - package installation, uninstallation and upgrading can all be
done silently in the background, without interrupting or prompting an action
from the end-user.
1.packaging once done we can distribute every where
2.Reducing support cost
3.Ensuring a stable, standard environment for your organization.
4.Effectively running application inventory and reporting.
5.Reducing security risk.
6.Easier application management
7.Customizing the packages to suit business requirements.

3 T.UMAMAHESWAR 8686393028
Application Repackaging:

Implementing changes in an existing application to meet customer


requirements and customer standards is known as application repackaging

Doing changes and modifications to upgrade an existing application is said to


be application repackaging.

Note: as we already know that app is a combo of files and registries how and
where files and registries stored.

Repackaging (Customized Installation) is the process of capturing the changes


made by an Installation Program (Package) and it is customized to support
company standards and distribution methods.

It is not necessary to do setup capture to call it repackaging, even


creating .MST files or .ISS files can be called application repackaging

The major difference between packaging and re-packaging is that in packaging


the source files does not come in the form of package whereas in re-packaging
they come in a form of a package, which might be MSI or legacy package (such
as executable, batch files, etc.)

By using Application repackaging we can Develop, upgrade, configure and


update

Input Output
EXE, MSI or Loose Files ISS, MSI, MST, EXE

4 T.UMAMAHESWAR 8686393028
How and where files & registries stored let’s check:

Files Windows + R C:\ We will get all files here.

Registries Windows + R regedit We will get


all registries here.

5 T.UMAMAHESWAR 8686393028
Application packaging Life cycle or End to End process or phases:
Now a days for every work we use application for entertainment social media watts up
and for travelling for booking tickets and movies for money transactions and extra.

Let’s take bank as an example:

Previously Bank employees used to maintain log registries to check total revenue account
lists transactions and all etc. due to this updating world banks are also updated and
implemented apps to store records and also started online services to help customer
safely, securely, speedy.

Any application which are going to build should satisfy the customer hence need to take a
survey over customer requirements regarding their needs an app need to be implemented.

Hence life cycle of app packaging need customer review for that few steps need to be
followed.

Phases of life cycle:

1. Review the requirements.


2. Source validation / analyse the application / technical review
3. Repackage the application.
4. Customise the package.
5. Test the package (QA and UAT).
6. Release the package to end user (deployment)

1. Review the requirements:


Interact with customer or Requestor get all the details which we required like below
1. Application name
2. Application Vendor/manufacturer/publisher
3. Application Version
4. Application Owner
5. Application owner delegate (Who supports for the technical errors)
6. Configuration
7. OS: Windows, mac, android, IPod, Linux (Which os application needed)

6 T.UMAMAHESWAR 8686393028
8. License information
9. Dependencies
10. Any other requirements or testing scenarios
Generally, requestor provide ICT/PRF document and Install instructions there we will get
above details
ICT=Install & configuration test
PRF=Packaging request Form

2. Source validation / analyse the vendor application / technical


review:

Identify whether the application is .exe or .msi?

How to identify
This can be identified by following listed methods

A. Windows installer service:


Start menu

Service.msc (Display all services)

Windows installer service

Right click and select properties

Manual
Auto
Disable

Disable the service

Note:After disabling try to install application when it installed it is an .exe application.


If not installed in disabled mode through an error, then it is an .msi application.

B. Event viewer:

Event viewer also helps to identify .exe or .msi


Start menu

7 T.UMAMAHESWAR 8686393028
Event viewer

Windows logs applications

If you get entries there it is an .msi application


If no entries there then it is .exe application

C. Task manager:
It is also one of the methods to find .exe or .msi

Right click on task bar

Task manager more details details


Show all the process which is running in system at that time

if .msi application we will get msiexec.exe 4 times

Client process
Server process
Security process
Sand box (scripting)

If .exe application simply we will get .exe 1 time

D. Temp folder:

Note: before installing application, we should clean

Windows+R

%temp% Enter

If any data available, it is an .msi application.


If no data found, then it is .exe application

E. Based on file execution (optional method):

Windows+R

8 T.UMAMAHESWAR 8686393028
CMD

Right click on application

Copy as path

Paste link to cmd prompt


There it will show extensions directly

F. C:\Windows\installer (optional method):


Here we get .msi application in number format
If .exe application, no output will come
Note: Any one method is fine to check .exe or .msi
There are 6 methods to find the application belongs to .exe or .msi
Among these 6 first 3 are recommended last 3 are optional.

G. Check the application functionality as user and admin:


Second method to analyse the vendor application is to check the functionality of an
application is in used level or an admin level

Example: a system having many accounts like user Kalyan,Mahesh,pavan,chiru etc.. number
of account can be created in a windows OS system and login to that account to operate in
that particular account.

Here user can access everything in that system but if you logged in via Kalyan there may
require soma permissions which are given by user to access it. So by checking whether the
functionality of an application is in user or admin can analyse the app.

H. Verify where the app installing files and registries ;


To analyse the vendor application, need to check the location where that app files and
registries are installed.
1.C:\programme files
2. C:\Programme files X86
3. C:\ user data

I. Installation, uninstallation , short cut launch and app entreis:

Also to analyse the installation, uninstallation and short cut launch which helps to know
status / functionality is good or not.

9 T.UMAMAHESWAR 8686393028
J. Drivers, ODBC, environment variables, services and user data or
machine related data (multiple user):
Helps to check what and all are installing with the app and performance too…
Drivers:
1. Under C:\Windows\INF (in this folder we have to check oem
count 1. If 1 oem count is increased then one driver installed 2.
If 2 oem count is increased then two drivers installed 3. If 3 oem
count is increased then three drivers installed)
2. Under C:\Windows\System32\DriverStore\FileRepository (in
this we have to verify driver files)
3. Printer driver location C:\Windows\System32\spool
4. To find system drivers CMD is --- msinfo32 /path is C:\
Windows\System32\drivers

 ODBC : open data base connectivity


 To open it cmd is =OBBC ad 32 or = open ODBC entry
 ODBC 32.exe
 It acts as interface between user& application also fetch data from data
base
 Purpose of ODBC:
 Provide access to user on application as well as database
 Types of ODBC:
 1.user DSN: [data source name] it specifies to user & stored in HKCU \
software \ODBC
 2. system DSN: it is available to multiple users stored in HKLM\
software \ODBC
 Here ODBC are connected to some table
 ODBC INI
 ODBC data source
 ODBC drivers
 ODBC translates

SERVICES

10 T.UMAMAHESWAR 8686393028
services are nothing background process which is running in backend,
background process which is controlled by services control manager which
is in operating system
To open services command line is =(services .msc} /for app related services
open )
TYPES OF SERVICES
1.Win 32 services:
Installed by application normally pointing to executable file part of services
manage by application
2.KERNAL SERVICES:
Used to communication with hardware on computer
To see Kernal services using command line” msinfo32”
Service information stored in registries
Cmd line for registries is” regedit “
HKLM/SYSTEM/CURRENT CONTROL SET /SERVICES/SERVICES NAME
In MSI services information will be stored in 2 tables
SERVICES INSTALL: will install /uninstall the services
SERVICES CONTROL: to control services during install/repair/uninstall
COMMAND LINES TO RUN SERVICES:
To start sc.exe start “services name”
To stop sc.exe stop “services name”
To delete sc.exe delete “services name”
To know about what/which services sc.exe/?
Will get clear details of services

Environment variables
 Environment variables are strings that contain information about the
environment for the system and the currently logged on user.
 Command line to open environment variable is “SET.”

11 T.UMAMAHESWAR 8686393028
 Environment variables can be used to avoid hardcoded paths and
replace longer data references.
We can use environment variables and to store some
repeating usage data as a simple way to access.
 There are two types of variables.
1. System Variables
2. User Variables
System Variables:
You must be an administrator to modify a system environment variable. These
variables will be available to all users.
Registry path: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\
Environment
User Variables:
Any user can add, modify, or remove a user environment variable.
Registry path: HKCU\Environment

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Environment
To reduce or avoid “hard code paths “ C:\....\....\.....\.....
To avoid their length of hard code we can store all this paths in
An environment variables & set a value to it so can access easily using value
Any software should work globally Eg : C:\users \kalyan\app data \roaming
C:\user \kumar \app data \roaming
If the user captures these app move to above systems it will fail, why Because
the use not specified
Command line to check environment variables in system= “set “
Environment variables in registry an” regedit “is
HKLM \ system\current control set \control\session manager \environment
variables
In msi environment variables stored in” environment table “

3. Repackage the application:


12 T.UMAMAHESWAR 8686393028
Priority 1. If the file is in .exe it should be converted to .msi
.exe .exe (Silent parameters for given source)
.exe .ISS (silent installation named as response file)
Priority 2. If the file is in.msi should convert in to .mst
.msi .mst
Priority 3. If any loose files occurs should also convert in to .msi
(.ini, .exe, .dll, .txt, .ios) .msi

Case 1: to convert .exe to .msi we have tools as follows


Conversion process is called as “ Setup capture” will be done as follows
.exe .irp .ism .msi
.EXE( Legacy application, Setup.exe, Executable file)
.IRP (Install shield repackaging file)
.ISM (Install shield Project file)
.MSI (Microsoft Installer, Microsoft Windows Installer)
Tools used to convert .exe to .msi (admin studio install shield, Wise package studio)
Tools used to convert .exe to .ism (Repackager)
Tools used to convert .ism to .msi (Install shield)
In some cases we need to follow silent installation
.exe .exe Silent legacy parameters
.exe .iss(install shield silent) the conversion is named as “Response file”
Note: No tool is required to convert above listed silent installation.
Case 2:
If we receive .msi from the customer it should be convert in to .mst. This process is called
“TRANSFORMS”. Tools to be used to convert (Install shield, ORCA, Tuner)
.msi .mst
Case 3:
In very rare cases we may receive Loose files(i.e 10 to 1000)
These loose files are bulk in manner are to be installed in one place and convert in to .msi
(.ini, .exe, .dll, .txt, .ios) .msi
Tools to be used here is ( Repackager of admin studio)

4. Customise the package (Scripting):

With the help of msi we cannot perform some functions so we need to


use script which are
1. Java script - used by developer
2. Install script – used by developer.
3. Vb script - by us
4. Batch script - by us
5. Power shell – by us
Minor changes will be done by us in scripting, whereas developers prepare
whole code scripting.
5. Test the package:

13 T.UMAMAHESWAR 8686393028
Testing will be done before app deployment and is done in 2 ways

1. QA-(Quality Assurance) testing done by QA team which is called as


internal testing.
2. UAT – (User Acceptance Test)
Testing done by our end users who are at client and onsite.
If any 1 test fails will again send back to development team to input
changes.
6: deployment:
Release the package to the end user
Example: IBM requested application and contains 500 employees;
application will be deployed to all employees at time.

Response file
.EXE to. ISS
Only for .exe applications we can create response file. It won’t work for
.msi. The input is .exe output may be .iss or .ini or .rsp
.EXE=legacy setup/Executable file/Setup
.ISS=Install shield silent/.INI= Initialization file/.RSP=Response file
On legacy applications When we need to configure or customize like
installation and uninstallation, we need response file concept.
To configure require settings while installation of any legacy
application(.exe) we can create response file.
To customize silent install and Uninstallation we can create response
file.
Syntax: “setup.exe” -r -f1 “C:\temp\Install.iss”
“setup.exe” -r -f1 “C:\temp\Uninstall.iss”

Here r= record or it capture the process


F1= Response file path (to store output of response file)
To Install: “setup.exe” -s -f1 “path of the response file” -f2 “path of the
log”
Here s= salient
F1= Response file path
F2= Log file path
14 T.UMAMAHESWAR 8686393028
Case: When we install application if we need to select a specific feature,or need to enter
host name or license details or any specific inputs

Tools for application packaging ;

Application packaging is from developer phase.

1. Admin studio install shield

2. Wise for installer

3. Marimba

4. Sharp develop installer

5. Wise package studio

APPLICATION PACKAGING PROCESS

 Getting request from service now with all the details like PRF,
Customization, application details.
 Source validation if any issues with source provided then will raise a
clarification to the requestor through mail and service now.
 If no issues found with source, then we will start validate the source and
share the ETA to the respective team.
 Packaging {MSI /EXE/MSI/MST} with all customer Specific standards and
customizations as per PRF.
 Once packaging has done, will move to Quality chick (QA).
 If any issues found in QA and those issues should fix in package and
move to UAT (user accept test).
 If any issues found in UAT, will take the remote control of the effected
machines and trouble shoot.
 There after SCCM team can tack care of test deplanement and
production.
 All the activities should record in service now until the package is moved
to SCCM team

Application Operations:
1. Install

15 T.UMAMAHESWAR 8686393028
2. Repair
3. Uninstall or Remove

Application Architecture:

Application architecture classified in to two types.

A. 32-bit application

B. 64-bit application

Note: 64-bit applications are faster than to 32-bit applications.

64-bit application has flexible graphics and security compare to 32-bit


applications.

Files:
C:\Programme file—64-bit application
C:\Programme file X86—32-bit application
Registries:
64 bit---HKEY_LOCAL_MACHINE\SoftWARE\Microsoft\Windows\
CurrentVersion\Uninstall
32 bit---
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\
CurrentVersion\Uninstall

Tools for application re-packaging:

We are basically work on repackaging hence we need to aware of this tools


with version numbers also

1. Wise package studio -- Version –7.0

16 T.UMAMAHESWAR 8686393028
2. Admin studio / install shield—Version--2020
3. Application virtualization (APP-V) -- Version—5.1—older 4.6
4. Citrix app DNA—Version--7.6
5. ORCA—7.8
6. Application Microsoft app compatibility tool kit –version—6.1
7. SCCM-- system centre configuration manager --2017
8. Thin app

Tools for msi packaging are;

1. Wise package studio

2. Admin studio install shield

3. ORCA

4. Tuner

Output will be .MSI or .MST

Tools for virtualization;

Which helps to automate work in 1 hr. to 5 hr. instead of 7 days to 10


days?

1. Application virtualization.
2. Thin Application.

Tools for Application Compatibility Test:

1. Microsoft app compatibility tool kit


2. Citrix app DNA—Version--7.6

Tools for deployment:

1. SCCM (System centre configuration manager)


2. Intune (Microsoft endpoint manager)

Why we need to use application re-packaging, why not application


packaging:

17 T.UMAMAHESWAR 8686393028
Application Packaging: Need to get inputs as binary files which made to
convert it little time taking process and consumption of efforts and manpower
is high
Application re-packaging: here we get source input as package which makes
simplify and easier to work

Advantages of app repackaging:

1. Customised installation
2. Project cost is less.
3. Perform configuration information.
4. Silent installation and uninstallation
Drawbacks of app packaging

1.Cost of project is high.


2.Difficult for silent installation uninstallation
3.Requires more man power.

Set up capture [repackage] (.EXE--> .IRP-à.IRSà.MSI)

Some apps can’t be repackaged that is which are operating system related of
windows related and Microsoft related. Why because those apps are
interacted with system operating system if capture these the app will not work
properly.
Those apps are
1. msi app
In this if we tried to capture as output, we again get an .msi file
2. Microsoft internet explorer
3. Operating system
4. Windows media player

Windows installer
Windows installer is a service which is a part of operating system. which
interacts between applications and operating system. Built in operating
system.
Application programming interface (API) of Microsoft windows. It is only for
windows.
It manages applications operations like install uninstall other operations etc….
Develop an application.

18 T.UMAMAHESWAR 8686393028
Upgrade an application.
Can customise application.
Manage app installation /uninstallation and stores other operations.
Note: How to know the version of windows installer

Open cmd prompt—type msiexec.exe /? —enter – we will get version of


windows installer.
Or
C:\--> Windows -àSystem32-àmsi.dll-àRight click-àpropertiesà Details --- here
we het version

Windows installer features:


1. Self-healing
2. Repair
3. Roll back
4. Install on demand
5. Advertisement
6. Source resiliency
7. Lockdown environment

1. Self-healing: When we launch msi based application then windows


installer service checks the key path of each and every component of msi
it validates msi data as well as system.

a. If something missed on the system which is present in msi then it will


re install the missed data
b. Self-healing work only advertised feature.
c. Allow advertised features.

2. Repair: When we lost some files in .msi when the repair will work .msi file
3. Rollback: When the user cancelled an installation of msi when the windows
installer restores the original system status. In the back-end Rollback script
generate and execute.
4.install on demand: when the user launches an application upon the demand
the windows installer components and it will provide required data.
5.Advertisement: The application data will be available to user partially then
the user requests or launches application then we can get complete data will
be available.

19 T.UMAMAHESWAR 8686393028
6. Source resilience: Installation file location changes or corrupted or missed
files or source files are deleted we store original on source resilience.
Error--- 1311—Source file not found on folders.
Store the msi file in install directory they do self-healing.
7.lockdown environment: Only admin can have full access rights. Standard
user has limited access.
MSI(Microsoft Installer or Microsoft Windows Installer)

MSI is a data base which consist of information about instruction this database
contains over 80 +tables.
Table is nothing but information about rules to accept while operating
following listed tables contains that files/information.
Summary search table Application search table Binary table Custom action
table Directory table
Component table Create folder table Condition table Feature table Component
table File table.
File hash table Launch condition table Lock permission table Media table
Remove file table.
ODBC Environment table Service install table Service control table Property
table Shortcut table.
Registry table INI file table Upgrade table Validation table and few are present.
Note: Each table contains that information of instruction which stores here…
Architecture of msi
It is based on 3 factors.
1.produt

2.feature

3.component

1. Product:

Any app here is a product. Group of features are called as product.


each and every product should have unique GUID.
it is a product code which contains 128 character like {48A2-4956-7464-6284-
6890}
2.Feature: collection of components is called as feature
all configuration commands will work on msi features.
if any changes modification is to be done should be done in feature level only.
able to create a sub feature also.
all the features will be stored in feature table.
20 T.UMAMAHESWAR 8686393028
3.component: collection of files, registries, ODBC shortcuts and some other
resources like environment variables are called as components.
All the components will be stored in component table.
Components also contain Unique GUID
For every component there should be a keypath
Main use of this keypath is to identify the file without keypath we cannot
repair/ resolve an issue if occur.
Both the components and features will be stored in “setup design”

Mechanism of MSI

MSI mechanism contain 3 factors.


1 Installation
2 Roll back.
3 Uninstallation.
1.Installation:

Phase 1—acquisition –Information which is collected from user & Application,


data base will start the to install script in backend.
Phase 2—Execution—after collection of information triggers installation and
complete process.
2 Roll back:

During installation both install script and roll back script will start running at
back end
if you cancel installation process at middle of progress 50% files will already
copied to system here roll back script removes the copied 50%files back and
bring system to previous normal state.
No spam or junk files will store if cancels installation by the help of rollback
script.
3 Uninstallation:

by clicking uninstallation in backend, it will trigger uninstall script which


makes to remove the files which are installed.

EVENT VIEWER

Name itself indicates that an event viewer stores each & every event
(operations like install, repair, restart, uninstall) in event log manner it will give
data 2 tabs.

21 T.UMAMAHESWAR 8686393028
While event running at bottom panel it will give data about that what is done
in general tab & details tab
A. Event viewer is an app which is built in windows app.
B. Tool & windows built in application.
C. It records events & tasks performed in system.
D. We can manage app install, app operations & security operations,
give permissions and
Some other setup programmes.

Hardware /software can be setup here.


Event viewer is categorised into 5 types:
1.Application = here we can review app related events monitor here &
stored
2.Security = regularly permission, event
3. System= domain related events stored here
4. Setup = setup .exe related events stored here
5. Forward event =can monitor other activities the occurring another
system from this system remote accessing.
For every category will get 3 sections which in forms information or
success partially success or error
A. Information =if we get information, it is success.
B. Warnings = to be performed some action but not to be stopped.
(An event that is not necessarily significant but may indicate a
possible a future problem)
C. Error = failure need to trouble shoot.(An event that
indicates a significant problem such as loss of data or loss of
functionality ex: if a service failed to load running startup an error
event is logged)
Note: if error raised can get partial data about error at bottom i.e. event logs
general /details tabs

Command line parameters for .EXE and MSI

Command line parameters are used to manage application operations like


àInstallation
àUninstallation

22 T.UMAMAHESWAR 8686393028
àRepair
àReboot
àSome other configurations
How to find Command line parameters for .EXE
In command prompt
We use various command line parameters based on application.
To know which parameters, we should use for application if you use below will
give a popup which contains app details
Setup.exe /? Or setup.exe /help
Installation:

1. setup.exe /silent or setup.exe /s


2. setup.exe /verysilent
3. setup.exe /install
4. setup.exe /s /v /qn

For repair:
1. setup.exe /repair

For Update:
1. setup.exe /update

For Uninstallation:

1. setup.exe /uninstall
2. setup.exe /X

For reboot or restart (install without restart or reboot):

1. setup.exe /norestart
2. setup.exe /noreboot

For Require reboot or Restart:


1. setup.exe /prompt reboot
2. setup.exe /force reboot

if the application is supported to different languages we need to specify


language “ LID”
example : English—1033, French—1433 etc….

23 T.UMAMAHESWAR 8686393028
To set language ID setup.exe /LID
Why do we use silent installation for exe?
Normal installation it will take 2 to 3 days.
For silent installation 4 to 5 hours
For this we need to check parameters to .EXE for time saving process

Command line parameters for .MSI

Installation: (i-- Installation)


msiexec /i “path of the msi”
or
msiexec.exe /i “path of the msi”
Repair: (f—repair)
msiexec /f “path of the msi”
Uninstallation:
msiexec /x “path of the msi” or “product code”
msiexec /uninstall” path of the msi”

For administration installation:


msiexec /a “path of the msi”
1.In admin level we can’t directly open data, instead of that we need to copy
the data /extract data to our system by giving “TARGETDIR” path where we
need to extract.
2.msiexec /a “path of the msi” TARGETDIR---preferred path.
For advertisement:

1. msiexec /j “msi path”


2. msiexec /ju “msi path”
3. Msiexec /jm “msi path”

Ju—for single user

Jm—for multiple user

j—advertisement

u—user specific

24 T.UMAMAHESWAR 8686393028
m—machine level advertisement occur by all.

For updates:

1. Msiexec /update “msi path”


2. Msiexec /p “msi path”

P=patch
Note: need to give msp at path end instead of msi
For Reboot:

1. Msiexec /I “msi path” /restart or reboot


2. Msiexec /I “msi path” /norestart or noreboot

For force reboot:


It will be done forcefully during installation

1. Msiexec /I “msi path” /forcereboot

For prompt reboot: It will specify to restart now or restart later.

1. Msiexec /I “msi path” /promptreboot

MSI Display Options

1. Msiexec /i “msi path” /qn silent mode or no user interaction or


unattended mode
2. Msiexec /i “msi path” /quiet install in silent mode without user interface
3. Msiexec /x “msi path” /quiet uninstall in silent mode without user
interface
4. Msiexec /qb specific basic user interface
5. Msiexec /qb! To suppress cancel button. While install and uninstall a
popup appears with process
6. Msiexec /qb+! will get a dialog box at end. To inform the process is
successfully completed.
7. Msiexec /qb-! No dialog box at end
8. Msiexec /qr to reduce user interface i.e user interface 4 slides reduced
to 1 or 2 slides

Note: Best practice to use qb-! ---- in real time every one use it
DLL OCX Registration

25 T.UMAMAHESWAR 8686393028
DLL & OCX registration: Both DLL &OCX are files which will get entries / stores
in registries.
Can find there by using regedit [Windows+R]
DLL [dynamic link library]: DLL is a major supporting file in an application
which acts as a major interface between system & software.
Command lines for DLL:
To register DLL file in silent [Regsvr32.exe /s ‘’path of DLL ‘’]
To unregister DLL [ Regsvr32.exe / u ‘’path of DLL ‘’]
For manual registration [regsvr32 ‘’path of DLL ‘’]
Note: if you install a dll , we get five information
Example: HKCR software CLSID
PROGRAM ID
INTERFACE
COM DATA
APPLICATION ID
We will get there 5 details of which class in it is having and under which
program file it is storing and about interface and also system data and
application ID.
OCX [active X control]:
For Registering exe files
To register [setup.exe / register]
To unregister [setup .exe / unregister]
Note: every DLL & OCX or exe can’t be register, it that DLL or OCX will be
valid then only we ca register.
DLL, OCX and EXE files registrations
 Registering Dll files:
 regsvr32 <Path to Dll File> : For Register the Dll
 regsvr32 /u <Path of DLL> : For Unregistered the Dll
 regsvr32 /s <Path of DLL> :For Silent register
 Registering EXE files:
 <Path to exe file> /regserver : For registering a exe file
 <Path to exe file> /unregserver : For unregistering a exe file.
 Registering OCX files:
 regsvr32 <Path to OCX File> : For Register the Dll
 regsvr32 /u <Path of OCX file> : For Unregistered the Dll
 regsvr32 /s <Path of OCX file> :For Silent register

REGISTRIES

26 T.UMAMAHESWAR 8686393028
Registries are nothing but database. Which contains some information and
options related to system and operating system.
Database
Contains setup Program & options.
Contains information about kernal services, OS information and
application data & device drivers
Command line to open registries is “regedit.exe”
Structure of registries:

1. Root Keys
2. Sub keys
3. Hives [ path are known as hives] in Pannel left is hive.
4. Entries [in panel right sight is entry]

Types of registries:

1. HKEY-CURRENT-USER [HKCU]
2. HKEY- USERS[HKU]
3. HKEY-LOCAL-MACHINE[HKLM]
4. HKEY-CLASS-ROOT[HKCR]
5. HKEY-CURRENT-CONFIG[HKCC]

Registries are classified in to two types:


1.Machine specific registries [HKLM, HKCC, HKCR] These registries all users
accessible.
2 User specific registries [ HKCU, HKU]

1. HKEY-CURRENT-USER [HKCU]: information about the user who


logged into system currently. The user’s information stored in HKCU.
All users can be accessible by user can be managed.

Control panel entry


Desktop screen settings
User specific data
Keyboard layout
Printer Configure
Software

Note: HKCU is a subkey to HKU

27 T.UMAMAHESWAR 8686393028
2.HKEY- USERS[HKU]: All users information is stored here. It stores a
configuration setting for actively logged in users.
Desktop Settings
Control panel entry
Application related.

3.HKEY-LOCAL-MACHINE[HKLM]: information related to multiple users. It


contains configurations related information to machine level. So everyone can
access the data.

Control Pannel settings

Application related settings

OS related settings

4.HKEY-CLASS-ROOT[HKCR]: It contain information related to

Com data

Program ID

Class ID

Interfaces and type libraries

Actively running applications

Note: it is a sub root of HKLM

5.HKEY-CURRENT-CONFIG[HKCC]: Hardware information are stored here.

Hardware profile

Kernal services

Software fonts

System related and some other services.

Files and folders

28 T.UMAMAHESWAR 8686393028
To do any operation we need files and folders. We need to aware of
storage of files and folders. Normally any application will be stored in C:\ drive
in some folders which can be machine level or only user level.

C:\Programmedata

C:\Programme files

C:\Programme filesX86

C:\Windows

C:\Windows \System32

C:\Windows\Syswow64

C:\Temp

machine level data can be accessible to all users.

C:\Users---- Specified users.

USER DATA MACHINE LEVEL DATA C:\


Users C:\Programmedata
HKCU C:\Programme files
HKU C:\Programme filesX86
C:\Windows Files
C:\Windows \System32
C:\Windows\Syswow64
C:\Temp

HKLM
HKCC Registries
HKCR

29 T.UMAMAHESWAR 8686393028
Operating system(OS):

An operating system (OS) is system software that manages computer


hardware, software resources and provides common services for computer
programs

Common Services of OS.

A. Security

B. Memory Management

C. GUI-User interface

D. Applications

Types of OS:

1. Windows

2. MAC

3. Linux

4. Android

5. Ubuntu

30 T.UMAMAHESWAR 8686393028
6. DOS

7. Elementary OS

Types of Windows OS:

(I). Server OS

(II). Client OS

(I)Server OS:

Types of Servers OS
There are a couple of varieties of server OS available, each with its private
abilities, strengths, and best-use instances. Here are a number of the most
not unusual kinds:
 Windows Server: Developed by Microsoft, Windows Server is
extensively utilized in business enterprise environments. It offers a
person-first-class interface, robust protection features, and seamless
integration with different Microsoft merchandise which includes
Active Directory.
 Linux Server: Linux is an open-supply running system widely used
for servers because of its stability, protection, and flexibility. Popular
distributions for servers encompass Ubuntu Server, CentOS, Red Hat
Enterprise Linux (RHEL), and Debian.
 Unix: Unix walking systems, which include FreeBSD, OpenBSD, and
Solaris, are recounted for their stability and scalability. They are
normally applied in high-overall performance computing and
corporation environments.
 MacOS Server: The MacOS Server is a server working gadget
advanced with the aid of Apple. It affords features that incorporate
document sharing, far-off admission to, and centralized
management for Mac and iOS devices .

(II)Client OS:

Client Based: Associated Devices. A client operating system runs on a


client device such as desktops, mobile phones and tablets.

31 T.UMAMAHESWAR 8686393028
Characteristics of Client OS:
Graphical User Interface (GUI): Client OS generally consists of a graphical user
interface that lets in customers to have interaction with the operating gadget
and programs using visible factors consisting of home windows, icons, menus,
and buttons.
 Application Support: Client OS affords assist for a various variety of
packages and software program equipment utilized by give up-users
for productivity, conversation, amusement, and personal duties. This
consists of web browsers, email clients, office suites, multimedia
players, and gaming packages.
 Device Compatibility: Client OS is designed to paintings with quite a
few hardware devices and peripherals normally utilized by cease-
customers, along with printers, scanners, cameras, and enter
gadgets along with keyboards, mice, and touchscreens.
 Ease of Use: Client OS emphasizes ease of use and ease, with
intuitive interfaces and person-pleasant functions geared toward
permitting non-technical customers to carry out duties inclusive of
surfing the internet, sending emails, growing documents, and coping
with documents.
 Graphical User Interface (GUI): Client OS typically consists of a
graphical consumer interface that lets in users to have interaction
with the running system and packages using visible elements
including home windows, icons, menus, and buttons .

A. Windows XP

B. Windows Vista

C. Windows 7

D. Windows 8.1

E. Windows 10

F. Windows 11

32 T.UMAMAHESWAR 8686393028
Difference between Server OS and Client OS
Server Operating System Client Operating System

It can be used to provide services to


It can obtain services from a server.
multiple clients.

It can serve multiple clients at a time. It serves a single user at a time.

It is complex operating system. It is simple operating system.

It runs on the client devices like


It runs on the server.
laptop, computer etc.

It is an operating system that is designed It is an operating system that operates


to be used on server. within desktop.

OPERATING SYSTEM ARCHITECTURE

OS architecture has been classified in to two types.

A. 32-bit OS

B. 64-bit OS

33 T.UMAMAHESWAR 8686393028
34 T.UMAMAHESWAR 8686393028
35 T.UMAMAHESWAR 8686393028
32BIT OS 64BIT OS
Files: C:\Programmefiles C:\Programmedata
C:\Programmedata C:\Programme files
C:\Users C:\Programme filesX86
C:\Windows C:\Windows
C:\Windows\System32 C:\Windows \System32

C:\Windows\Syswow64

C:\Users
Registries: 32bit OS

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

64-bit OS
HKLM\Software\Wow6432node\Microsoft\Windows\CurrentVersion\Uninstall
(Wow6432node is extra hive)

32 bit OS:

1. If application is 32 bits, we can install and work.


2. If application is 64 bits cannot install in 32bit OS.

64-bit OS:

36 T.UMAMAHESWAR 8686393028
1. If application is 32 bit we can install and work on it (but files will be
stored in system 32) (registries are stored under HKCU, HKLM).
2. If application is 64 bits can also install and work here (files stored in X86
folder) (registries stored in wow6432node in HKLM, HKCU).

Environment variables
 Environment variables are strings that contain information about the
environment for the system and the currently logged on user.
 Command line to open environment variable is “SET.”
 Environment variables can be used to avoid hardcoded paths and
replace longer data references.
We can use environment variables and to store some
repeating usage data as a simple way to access.
 There are two types of variables.
1. System Variables
2. User Variables
System Variables:
You must be an administrator to modify a system environment variable. These
variables will be available to all users.
Registry path: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\
Environment
User Variables:
Any user can add, modify, or remove a user environment variable.
Registry path: HKCU\Environment

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Environment
To reduce or avoid “hard code paths “ C:\....\....\.....\.....
To avoid their length of hard code we can store all this paths in
An environment variables & set a value to it so can access easily using value
Any software should work globally Eg : C:\users \kalyan\app data \roaming
C:\user \kumar \app data \roaming
If the user captures these app move to above systems it will fail, why Because
the use not specified
37 T.UMAMAHESWAR 8686393028
Command line to check environment variables in system= “set “
Environment variables in registry an” regedit “is
HKLM \ system\current control set \control\session manager \environment
variables
In msi environment variables stored in” environment table “
System root = c:\windows \environment variables
System drive = c:\environment variables
Windir = c:\windows
User profile = c:\user \username
Public = c:\users\ public
User name = the user who logged in
Program file = c:\programme files
Program files x86 = c:\programme files x86
Commonappdata = c:\programme files \common files
Alluserprofile = c:\programme data
Appdata =c:\users \user name \app data\roaming
Local app data = c:\users\user name\app data\local
Home drive = c:\ [software drive]
Temp = c:\users\user name\app data\local\temp
Common file = c:\programme file\common file
System folder = c:\users
All user profile = c:\programme data

Create environment variables


in system level
My PC
38 T.UMAMAHESWAR 8686393028
Right click

Properties

Advanced Settings

Environment variables 1. Top user specific


2.bottom system variables
In MSI level
Go to direct editor -environment table
How we can find user/system variables?
If you have * as prefix it is system variable
If you have = as prefix it is user variables

Launch Condition
 Launch Condition is used to check system requirements on
the destination computer.
 It contains a list of conditions that all must be satisfied for the
installation to begin.

 PredefinedLaunch Conditions
For e.g. Minimum OS Version, Minimum IE version, Minimum IIS version,
Minimum .NET Framework version, Minimum Screen Resolution, Minimum
Color Quality, Minimum Physical Memory, Run only if user has administrator
privileges.

VersionNT >= “501” [ProductName] requires Windows XP, Windows Vista,


Windows 7, or a later version of Windows. Setup will
now exit.

39 T.UMAMAHESWAR 8686393028
(VersionNT = “501” And [ProductName] requires Windows XP Service Pack 3
ServicePackLevel >= or later. Setup will now exit.
“3”) Or VersionNT <>
“501”
(VersionNT = “600” And [ProductName] requires Windows Vista Service Pack 2
ServicePackLevel >= or later. Setup will now exit.
“2”) Or VersionNT <>
“600”
(VersionNT = “601” And [ProductName] requires Windows 7 Service Pack 1 or
ServicePackLevel >= later. Setup will now exit.
“1”) Or VersionNT <>
“601”

Not Version NT64 [ProductName]will only work on 32-bit versions of


windows. Please run the setup on 32-bit windows.
Setup will now exit.
Version NT 64 [ProductName]will only work on 64-bit versions of
windows. Please run the setup on 64-bit windows.
Setup will now exit.
Privileged [ProductName] Requires administrative privileges or
elevated privileges. Setup will now exit.

PROPRTIES
Properties: it is a variable which can be used globally so properties are called
as global variables windows installer can configure an app while
install/uninstall /repair

Can do some configuration settings using properties.

TYPES OF PROPRTIES: 1 Private properties


2 Public properties
3 Restrict public properties or secure costume
properties.
1 PRIVATE PROPERTIES: Will work internally with in the MSI. Should have at
least 1 lower case letter.

40 T.UMAMAHESWAR 8686393028
Private Properties: product code, Product id, Manufacture, Product version,
Product language, Package code, agree to licence, Product name, Upgrade
code.

MANDATORY PRIVATE PROPERTIES IN MSI:


With out any one of these MSI won’t work
1.Product code
2.Manufacturers
3.Product version
4.Product language
5.Product name

PUBLIC PROPERTIES: can be used internally as well as externally. Only upper


can letter should we here.

ALLUSERS, TARGETOTR, INSTALLDIR, REBOOT, INSTALL LEVEL, USERNAME,


ADDLOCAL, ADD SOURCE, REINSTALL, REINSTALLMODE, ROOT DRIVE,
LIMITUI, ARPCOMMENT, ARPNOREPAIR, ARPNOMODIFY, ARPNOREMOVE,
ARPSYSTEMCOMPONENT, ARPPRODUCT ICON, IS CHECK FOR PRODUCT
UPDATES

Restricted public properties:


It is type of public but all users can’t access only admin an access it.
Set of permissions not able to access by everyone.
Can use in both internally & externally.

Question: How to make public property to restricted public property?


By using /add value in secure custom property =REBOOT; ALLUSER
If add many - use ‘;’ so that operation & that user can access.

INSTALLDIR:
DIR is nothing but a directory folder
Where the major files are stored by an application is called INSTALLDIR
Eg : for example CISCO ANY CONNECT
C:\programfiles \cisco \any connect ----- INSTALLDIR.

TARGETDIR:
Files which are stored in INSTALLDIR (c:\programfiles \cisco) are redirected to
some other DIR is called TARGETDIR
To do this we use admin installation so can extract MSI & files except registries.

41 T.UMAMAHESWAR 8686393028
Eg: msiexe /a “msi path” TARGETDIR

ROOT DRIVE:
it will specify the files were the application installed.
We can determine which five in application installing files.
Eg: Root drive – c:\
Eg: Files we give c:\
If any App installed which is over size will check first in c:\ is space available it
will install , if no space it will redirect to the next drive ie, d:\ , e:\ , etc this
redirection will be done by windows installer at backend .

How to create ROOTDRIVE:


Using InstallShield

Direct editor

Property

Create new

Property name =ROOTDIR

Value = c:\ drive we need can give here

ARPSYSTEMCOMPONENT:
To hide the entry in ARP (Add or remove program) then we need to use
ARP SYSTEM COMPONENT

 We can prevent an app entry from ADD OR REMOVE PROGRAM wizard.

To prevent it value should be:


ARP SYSTEM COMPONENT=1 = we can hide it from MSI
According to Registry:
HKLM\software\micro soft\windows\current version\uninstall\APP name or
product code of App
This registry path is also called as “uninstall string path “
Here we need to pass the value SYSTEM COMPONENT= ’1’ to hide or ‘0’
to get entry.

42 T.UMAMAHESWAR 8686393028
ARPNOREPAIR:
To prevent repair option from add or remove program we need to use this.
In general:
ARP

We get app entry Remove /uninstall.


Repair
Modify/change.
To hide ARPNOREPAIR=YES (Repair does not done in MSI)
ARPNOREPAIR=NO (Repair will done)
ARPNOMODIFY:

To prevent modify button then we use it.

ARPNOMODIFY=YES (Modify not done)


ARPNOMODIFY=NO (Modify need to be done)

ARPNOREMOVE:
To prevent Remove button from Add or remove program then we need to
use this.
ARPNOREMOVE=YES (Remove not done)
ARPNOREMOVE=NO (Remove to be done)
Above all these are from app levels.

In real time:

We need to supress uninstall/Repair/Modify in Add or remove program


(ARP)because if accidently user/employee click on that option total App may
corrupt it will affect business so, we need to supress those option.
If they require option is not available can create by using “Registry”

BY ORCA:
New
*DWORD (bit need to be select 32bit,64bit App)
*No repair value=0 (Modify option available)
*No repair value=1(NO modify) As same to NOREMOVE, NOMODIFY.

From InstallShield:

43 T.UMAMAHESWAR 8686393028
General information

Add or remove properties tab

Can disable entries here. (what all need can disable here)

ARPPRODUCT ICON:
Can set display icon to App in Add or remove program wizard. Extension
of .icon files is. ICO.
By using InstallShield

General information

Add or remove tab

Display Icon - -brows


here &check whether available icon which is supporting and set
it.
Note: We can also change display name &display version etc.

ALLUSERS:
It determines the Application related data per user (or) per machine.
Per user =Specifies to user : per machine =specific at all

ALLUSERS =0=per user installation


ALLUSERS =1=per machine installation (multiple users can access)
ALLUSERS =2=Administrator user if user in 2
3,4,5=Any value specific user installation
ALLUSER=0 ALLUSER=1 ALLUSERS=2

USER Per user Per machine Per user

Administrator Per user Per machine Per machine

REMOVE:
By using this property can remove a feature while install/uninstall.

44 T.UMAMAHESWAR 8686393028
Adobe photo shop

Feature 1 Feature 2 Feature3 Feature 4

To remove only feature 1 then the command is REMOVE=Feature name


msiexec/x “msi path” REMOVE=feature 1
Msi path or product code
REINSTALL:

Installing an existing App with same product code many times then use
this REINSATLL property.
 Msiexec/I “msi path “REINSTALL=feature2

Eg: Adobe illustrator 2017


*feature1, feature2

REINSATALLMODE:
It contains a string (only Alphabets) called “OMUS”.
It helps to repair interface in term of user data, machine data short cuts, etc.
OMUS
O=if files is missing it will repair (files related data)
M=Machine level data
U=user specific registries
S=shortcuts
f=repair
Msiexec/I “msi psth” REINSATALLMODE=OMUS REINSATALL=ALL
REBOOT:
We can manage restart, reboot settings.
 Really suppress This value is prevent to reboot.
 Prompt Reboot Give a dialog box yes or no reboot.
 Force Reboot Nothing available will be force fully reboot.
In Realtime we need to use Really suppress

45 T.UMAMAHESWAR 8686393028
ADDLOCAL:
If the application is available in local environment (system drive) then that
case, we can manage features.
If MSI contains 100 features, I need to add 1 feature any those then we need
this command
msiexec/I “msi path” ADDLOCAL=feature name

ADD SOURCE:
When the Application is not present in local environment i.e, present in
D:\ drive, hard drive.
Msiexec /I “msi path” ADDSOURCE=feature name

INSATALL LEVEL:
Install level value INSTALL LEVEL VALUE
Eg: feature level value Product install level=3

F1=install level value=2


These 3 will install become
F2=install level value=3
≤3
F3=install level value=5
F3=install level value=1

LIMIT UI:
To control user interface If value is 1 LIMITUI=1
ARPNOMODIFY should present in LIMITUI is 1.
SOURCE LIST:
To get back data, which is lost, it will help to provide lost data
When source is corrupted then it will get that source back &will work only in
‘1’ MSI.

COMPANYNAME: Adidas

46 T.UMAMAHESWAR 8686393028
USER NAME: Adidas
MANUFACTURER: Vendor As per the PRF/Project requirements can mention these details.

AGREE TO LICENCE: Yes

TRANSFORM: If need to handle 1 component among 100 then we use it.


COMADDLOCAL. – COMADDSOURCE.
IS CHECK PRODUCT UP GRADE:
If you give value 1 there it will supers App update.

TRANSFORMS

Doing some changes to MSI it is called MST. The replica of MSI is transform.
Transform extension is .MST.
Syntax to install: msiexec/I “msi path” TRANSFORMS= “Path of the
transforms”
1.For single MSI we can pass no of MST’S
2.Can call no of MST by using; after transform path
3..mst won’t run alone without MSI transform will not work

Transforms types:
1.Embedded transforms
2.Secured transforms
3 Unsecured transforms

Embedded Transform:
MST is part of MSI. (within MSI there is MST which is built in, then it is called
Embedded)
Should have ‘ ; ’ as suffix
Eg: msiexec/I “msi path” TRANSFORMS= : “path of the mst”
Secured Transforms:
For security purpose to be available for particular users by using, managing,
permissions.
Msiexec /i “msi path” TRANSFORMS=@ “path of the mst”
We use “ @ “ or “I”(pipe symbol) to use secured transforms

Unsecured transforms:
For many users No permission required
Msiexec /I “ msi path” TRANSFORMS= “path of the mst”

CREATIONOF TRANSFORMS

47 T.UMAMAHESWAR 8686393028
Tools used to create transforms (MSI-MST)
1.Tuner
2. InstallShield
3.ORCA
4.Wise package studio
How to create by using ORCA:
Menu line Transforms New Generate
transforms give location path to store.

How to create by using InstallShield:


Right click on any MSI app

General information

Do some changes.

Simple method:

Go to file

save as

Name it in MSTformat

if not present give all format Once validation done select installation designer
on the top menu

Store app

Save

2. Complex method;

Click new Select transform name it & save it


48 T.UMAMAHESWAR 8686393028
Shortcuts
Short cuts are nothing but an entry point of an application which is
installed in system. Normally shortcut is pointing to file .exe or .VBS etc.
Extinction of short cut is “.lnk”
Types of shortcuts:
1. Advertised shortcut’s (Windows installer shortcuts)
2. Non -Advertised shortcuts (Standard shortcuts)
1.Advertised shortcuts:
* Few Applications are there, although those are fully installed but few
files &reg missed, whenever the shortcut launch then only App installation
done 100%.
* In Advertised shortcuts if any file & registry missed, it will selfheal the
missed files &install it will by repairing it. when you launch short cut’s, it will
install everything or coding with missed files &regs.
How to find Advertised shortcuts:
Right click on particular short cut

check properties

” Target” Will be invisible “Greyed out” (non-


editable)
It will be pointing to feature

2.Non – Advertised short cuts:


Targeting file - Pointing to “executable file”ie,. exe, bat, cmd,.vbs All these
are editable files. Here if any file missed or deleted it will not selfheal while
launch short cut it will through an error.
 All short cuts are stored in “shortcut table”
How to launch shortcut in tool: “Admin studio”

49 T.UMAMAHESWAR 8686393028
Open Admin studio

Shortcut

Start menu

All programs

Program files

Startup

APP short cut


Shortcut’s which need to remove in packaging real time:
 Help shortcut
 Upgrade shortcut or update shortcut
 Read me shortcut
 Uninstall shortcut
All above listed 4 shortcuts should be removed in packaging because if
developer working on it & suddenly by mistake, he clicks on any of above
then application may be disturbed & not work properly.
Shortcut location:
1. Desktop shortcut’s
2. Task bar shortcut
3. System tray
4. Start menu – All programs(standard)
How to find wether the shortcut from tables as advertised or non-
advertised?
From table we get a target file
If the file is pointing to.exe =non advertising shortcut
If fille target is greyed out =Advertised shortcut

50 T.UMAMAHESWAR 8686393028
INI files
These are text files which contains some configuration information
1. Extension of these files are .INI
2. INI stands for initialization files (contains configuration files)
3. It is a plain text file.
STRUCTURE OF INI: default model
[keyword /key name= value]
VALID FILE:
1. Should follow a systematic structure [ ] with keyword &value
2. These valid files are stored in INI file table
INVALID FILE:
1. If not follow particular structure &also adding some special character
like *& etc. will be comes under invalid file
2. All these invalid files are stored in FILE TABLE
HOW TO HANDLED INI FILE IN TOOL:
Panel

Ini file structure

INI files

Admin studio

Can add section

Under see add key word Etc can add it


Note: INI file is an editable file. ini {file hash table}

51 T.UMAMAHESWAR 8686393028
It has entry in file hath table
Icons are stored in icon table

SERVICES
services are nothing background process which is running in backend,
background process which is controlled by services control manager which
is in operating system
To open services command line is =(services .msc} /for app related services
open )
TYPES OF SERVICES
1.Win 32 services:
Installed by application normally pointing to executable file part of services
manage by application
2.KERNAL SERVICES:
Used to communication with hardware on computer
To see Kernal services using command line” msinfo32”
Service information stored in registries
Cmd line for registries is” regedit “
HKLM/SYSTEM/CURRENT CONTROL SET /SERVICES/SERVICES NAME
In MSI services information will be stored in 2 tables
SERVICES INSTALL: will install /uninstall the services
SERVICES CONTROL: to control services during install/repair/uninstall
COMMAND LINES TO RUN SERVICES:
To start sc.exe start “services name”
To stop sc.exe stop “services name”
To delete sc.exe delete “services name”
To know about what/which services sc.exe/?

52 T.UMAMAHESWAR 8686393028
Will get clear details of services

APPLICATION PACKAGING DIFFERENT PATHS

UNINSTALL STRING:
32bit : HKLM/Software/Wow6432node/Microsoft/Windows/Current
version/Uninstall
64 : HKLM/Software/Microsoft/windows/current version /uninstall

ENVIRONMENT VARIABLE:
User variable: HKCU /Environment
System variable: HKLM\System\Current control set\Control\Session manager\
Environment

ACTIVE SETUP:
HKLM\Software\Microsoft\Active setup\Installed component

For checking drivers:


To check the OEM count in cmd = pnputil -e
C:\Windows\INF\Here we need to check OEM count
C:\windows\System32\Driverstore\File repository \Drivers
C:\windows\System32\Spool- Printer driver location
In control panel we can check in drivers and printers

53 T.UMAMAHESWAR 8686393028
To know the version of Windows Installer:
C:\Windows\System32\msi.dll-right click -properties – Details we get version
Msiexec /? In cmd

Voice warm up log file:


HKLM\Software\polices\Microsoft\window\Installer

Registry path for Shared DLL:


HKLM\Software\Microsoft\Windows\Current version\Shared DLLs

Registry path for FONTS:


HKLM\Sofware\Microsoft\WindowsNT\Currentversion\FONTS

Services:
HKLM\System\Current control set \Services

ODBC:
SYSTEM DSN: HKLM\Software\ODBC
USER DSN: HKCU\Software\ODBC

USER DATA FOLDERS:


c:\users\&lt;username&gt;\my documents
c:\users\&lt;username&gt;\Desktop -desktop
c:\users\&lt;username&gt;\appdata
c:\users\&lt;username&gt;\appdata\roaming -- appdata
c:\users\&lt;username&gt;\appdata\local -- Localappdata

54 T.UMAMAHESWAR 8686393028
c:\users\&lt;username&gt;\appdata\local\temp --temp
c:\users\&lt;username&gt;\appdata\roaming\microsoft\windows\sart menu --
Start Menu
c:\users\&lt;username&gt;\appdata\roaming\microsoft\windows\sart menu\
programs -- Program Menu
c:\users\&lt;username&gt;\appdata\roaming\microsoft\windows\sart menu\
programs\Startup -- startup

Machine data folders:


C:\program fIles
C:\program fIles(x86)
C:\program fIles\Commonn Files
C:\program fIles (x86)\Commonn Files
c:\windows
c:\windows\system32

c:\windows\syswow64
c:\windows\system32\Drivers
c:\windows\system32\Drivers\etc
c:\windows\syswow64\Drivers
c:\windows\system32\DriverStore\File Repositry
C:\Users\publc\Desktop
c:\users\public\my documents --my documents(public)
c:\progradata
c:\progradata\microsoft\windows\start menu\Programs -- Program menu
c:\progradata\microsoft\windows\start menu\Programs\Startup -- Public
statup

55 T.UMAMAHESWAR 8686393028
REGISTRIES: (regedit)command
Hklm\Software
HKLM\Software\wow6432Node
HKLM\SW\MS\Windows\CurrentVersion\uninstall
HKLM\SW\MS\Windows\CurrentVersion\Run
HKLM\SW\MS\Windows\CurrentVersion\RunOnce
HKLM\SW\Wow6432Node\MS\Windows\CurrentVersion\uninstall
HKLM\SW\Wow6432Node\MS\Windows\CurrentVersion\Run
HKLM\SW\Wow6432Node\MS\Windows\CurrentVersion\RunOnce
HKLM\SW\MS\ActiveSetup
HKLM\SW\wow6432Node\MS\ActiveSetup
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
hklm\Software\ODBC
hklm\Software\Wow6432Node\ODBC
HKCU:
hkcu\Software
HKcu\SW\MS\ActiveSetup
HKcu\SW\Wow6432Node\MS\ActiveSetup
hkcu\Software\ODBC

UPGRADE
Upgrade is nothing but removing old versions & installing new version in that
place known as upgrading.

56 T.UMAMAHESWAR 8686393028
Upgrade is of 3 types:
1.Small update: very minute changes will be done here, as adding few files &
registries in a very less amount is known as small update.
Only package code will change
2.Minor update: certain files & registries for changes in a minor way with the
change of small version changes.
Package code & version code changes
3.major upgrade: totally removing existing app & install new one (major
changes)
Package code, product version & product code will also be changes.
How to implement on upgrade: update will be done using certain steps
Step 1: Collect upgrade code from lower version
Step2: Edit higher version application with install shield or some other tool&
then
Go to upgrade table & implement the upgrade table
Upgrade code Paste old version Upgrade code
Version minimum 0 (or) empty (or) old version
Version maximum Higher version
Language 1033 – English language
Attribute Value 1 – can run from source
Remove All – It will remove all old version
Action Property UPGRADE (Public Property)

Step 3: go to property table, in it find secure custom property which value is


“action property “
Eg : secure custom property = action property ( major upgrade)
Note: if already changes done there will be already a secure custom property,
action property value, simply add your value by “;” using scenarios
Step 4: installing if will run 3 tasks

57 T.UMAMAHESWAR 8686393028
1.Find related product
2.Removing existing product
3.Migrate, feature state
Note: once upgrade value is success, major upgrade value, should be the action
property value, should be a product code in log file.

UPGRADE – PROCEDURE

First, we have to take two version application one is lower version & another one is higher
version

From lower version edit with install shield

Copy the Upgrade code

Install the lower version application

Open higher version application in edit with install shield

Direct editor

Upgrade table

In right side table – Delete minimum version row

58 T.UMAMAHESWAR 8686393028
Take a new

Upgrade code Paste old version Upgrade code


Version minimum 0 (or) empty (or) old version
Version maximum Higher version
Language 1033 – English language
Attribute Value 1 – can run from source
Remove All – It will remove all old version
Action Property UPGRADE (Public Property)


Next go to Property table

Right side we can see secure custom property

At the end of the secure custom property
We have to paste what we have given in Action property

Component Rules
Component is nothing but files and registries & shortcuts and some other files.
Rules to follow:
 Each component should have unique GUID
 Generally, some files are editable and some files are non-editable.
 Editable files: word, .txt, .xml, .excel,.ps1,.INI
 Non-editable files:.exe,.dll,.msi,.ocx,.jpg
 We can set keypath internally to file, Registry, Shortcut, ODBC.
 Here we can not sett keypath to editable files
 Why because if you set keypath to editable files it may cause trouble.
Example: .INI is an editable file in which licence agreement were stored in real
time systems.
In case it is setup with keypath then when we for reinstall it will through error
because of missing the licence.

59 T.UMAMAHESWAR 8686393028
 Should not move any file, registry, shortcut, from one component to
another component. That particular data should be member of that
particular component.
 Never create 2 components which is with the same resources to some
target location.
 Every component should have “COMSERVER”
 To access COMSERVER need to set keypath, COMSERVER is needed to
component which acts interface at backend.
 Should not create versioning component which are not compatible with
previous versions.
Example: A.dll-2.0
B.dll-3.0 -if any error raised with this at least it will run A.dll-2.0

Component Attribute Values


Component Description
attribute
value
0 Can not run from source or component (when we have MSI
in local machine it can install) it runs locally on machine
1 It runs source (pendrive,harddisk,CD)
2 It run from source as well as locally on computer
4 Set registry as key path
8 Shared component
16 Permanent component
24(8+16) Shared and permanent
32 Key path is set to ODBC entries
64 When we have condition (When we have multiple regions)-
Transitive component
128 Never over write
256 Make component as 64 bits then the value is 256
512 To disable registry reflection
768(256+512) Upgrade
769 Upgrade
1024 Uninstall on superdense

Red Componant
60 T.UMAMAHESWAR 8686393028
When the component is not allocated to feature that is called red component.
How to resolve
Go to feature component table – select feature--- map a feature
Note: Don’t create a component in a component wizard. If you create it there
then it should not be mapped to some feature.
So, always create a component in a “feature component table”. There
immediately first create new component and the new feature also it will be
mapped there.

Device Drivers
Device drivers are required to provide connectivity between hardware and
software.

Types of Drivers:
1.Signed Drivers: It is trusted and we have signature for this signed driver
and will get .CAT file as well.

2.Unsigned drivers: Will not get.CAT file for this.


Driver Supporting files:
.sys---- System file
.pnf----pre-compiled file
.inf----Setup information file and it is an important file and main file
.dll---- Dynamic link library
.cat----Security cat log file

How to find device drivers:


1. Pnputil~ ------ CMD line for checking
2. Under C:\Windows\INF (in this folder we have to check oem
count 1. If 1 oem count is increased then one driver installed 2.
If 2 oem count is increased then two drivers installed 3. If 3 oem
count is increased then three drivers installed)

61 T.UMAMAHESWAR 8686393028
3. Under C:\Windows\System32\DriverStore\FileRepository (in
this we have to verify driver files)
4. Printer driver location C:\Windows\System32\spool
5. To find system drivers CMD is --- msinfo32 /path is C:\
Windows\System32\drivers

Some times we have to check drivers in control panel:


Control panel-----devices and printers or we can find separately by its driver
name itself.
For each inf file one driver will be called.

To install driver saliently:


“Path of the dpinst” /lm/sw/sa “Path of the .inf”
lm – Legacy mode – silent
sw—Suppress wizard – with out popups
sa—suppress add-or—remove program entry

To Uninstall or remove driver :


“Path of the dpinst” /u “Path of the .inf”
“Path of the dpinst” /u “Path of the .inf” /q (silent uninstall)

CUSTOMISED LOGFILES
Gives you a clear information where error occur & what action to be
require to clear issue. A log file will record events performing in system to
check whether success or failure.
TYPES OF CUSTAMISED LOG FILES
1. Verbose log files
2. Voice warmup log files
1.VERBOSE LOG FILE
SYNTAX: installation of msi

62 T.UMAMAHESWAR 8686393028
Msiexec /I “mai path “/L+V” path of the log file “ [ path of log file = need to
specify space to store]
Eg – create folder c:\temp \app_install .log]
/i= install
/L= logging
*= interact with database
V=verbose
Logging extension should “log”.to be gain
For uninstallation= msiexec/X “msipath /L*V”path of log file
For repair: msiexec /f ”msipath” /L+V “path of log file
NOTE: log files will work only in msi but not in exe.
By using that command line, we will be taken to a page log page which is
having some info about the log file.
At the end least but one line finds machine engine value

MACHINE ENGINE VALUE DESCRIPTION


N E value “0” success
N E value “3010” success but reboot /restart required
A part from there 2 values if any value occurs it is an error

2. VOICE WARMP LOG FILES:


To check voice warm log files, need to follow some instruction
a. “Create a logging string “in registry
Specifying logging value as “voice warmup “in below path
b. HKLM/ software /policies /Microsoft /windows/installer
After creating logging string simply open temp folder
%temp%& clear it, it helps to find our app details easily
c. Run msi
Then we get logs in temp folder
NOTE: can create logs to bath msi & exe files as well

63 T.UMAMAHESWAR 8686393028
Eg can create “exe internally it calls” msi files “also will be done
To review logs, we need to have return value
LOG FILE RETURN VALUE:
By identification their value we can assume whether success /fail
By executing number of lines will open as logs around 10000+lines
 Simply type ctrl+f = search for return value
It will show every return value which is in log page
 For every action at the end, we get return value
Return Description
Value
0 Function could not execute properly
1 Success
2 User cancelled operation
3 Fatal error (Script Incorrect)
4 Suspended [more than 2 MSI run it will suspend because only 1
MSI at 1 time]
5 Successfully executed
6 Handled invalid state
7 Data is Invalid

Active setup

To repair a user data to multiple users, we need to use active setup it is a


windows concept not to application level.
Here the user & application installing data under
C:\ users \ roaming

64 T.UMAMAHESWAR 8686393028
C: \users \ local
C:\ users \ local low files stored under here
C: \users \ desk top
C: \users \ downloads

Registries are stored in = HKU, HKCU


When we have to implement an active setup:
Active setup will be implemented when the user data is available but no need of short
cuts whether advertised short cuts or non-advertised.

Scenario 1: having user data, but windows no entry points then we implement active
setup for multiple user
User data implement active setup for single user to multiple user

Scenario 2: when application is having user data


Short cuts implemented active setup
Try to make advertised but due to the functionality by default keep it as non-
advertised

Scenario 3: user data


Short cut advertised or non-advertised
Not to implement active setup because no user data

Scenario 4:user data


Short cut
Not to implement active setup.

How to implement an active setup:


Need to create entries under registries
Hklm software

Active setup

65 T.UMAMAHESWAR 8686393028
Install components
Product code
Under product code
We need to create 2 strings

1. Stub path = msiexec /fpu “product code of application “qb-1

f = repair

p = file details which is missing

u = user data specific registry

note: instead of “fpu “we can use “OMUS “also

2. version = 1

Note: to do multiple log off & login need to change version every time you logged in
“incremental way “

How to know whether implantation is successful:


1. When it is successful, it will store registries under “HKCU “
HKCU\software\Microsoft\active setup\installed component\product code\version

Here it will generate only “version “

2. Also, we get entries from event viewer

Windows logs

Application

Log entries

ACTIVE SETUP
Go to → Regedit
HKLM

Software

Microsoft

66 T.UMAMAHESWAR 8686393028
Active setup

Installed components

Folder Creation
(Eg-Notepad)

Right side

Create → New → String Value → Stub Path → Double click → Value data
(Notepad application path location)
Copy & Paste

Then Restart the system

How active setup will work:

Working procedure:

After application installed

Need to” logged off & log in “then it will start active setup

After setup will work only 1 time when the user logged off & logged in

Note: if you want to run multiple times need to pass version value in incremental way

First log in version 1 or version 1,0,2

Second log in version 2 or version 2,0,2

Scenario: we can pass executable files also but, exact path should give then stab path = “path of
executable “

Eg ; stub path = c:\ programme files \ google \ google chrome

Run, run once, active setup:

Run: it will work multiple time to user when logged off & log in
Eg : Microsoft skype for business Microsoft Lyne

These programmes are stored in start up

Start all programmes startup it will run based on run key

67 T.UMAMAHESWAR 8686393028
In real time, few applications should run automatically when log in, skype for interact with
colleagues at that time run should be used.

IMPLEMENT RUN KEY:


Go to regedit

HKLM

Software

Microsoft

Windows

Current version

RUN

Then at right side bottom block need to pass value

Create new string

Name

Value= path

Eg: c:\progfile \google\ googlecmome.exe

RUN OFFICE: It will work once the user logged in, work only first time & after second logged in
the key will delete hence it is named as run once.

Implement run:
HKLM

Software

Microsoft

Windows

Current version

Run once

Under it path by using create string

Eg: facebook =” path of th “

C:\progfiles \facebook\.exe

68 T.UMAMAHESWAR 8686393028
Note: after run once the run key will be deleted

How it works:

According to machines

Open regedit

HKLM

Software

Microsoft

Windows

Current version

Run

Right side bottom box

Create string new

Name - app name

Value -location path

ACCORDING TO APPLICATION:

Install shield

Windows installer

New transform

Location [c: --\--\--\--]

Browse the base msi file were changed & stored

Next

Finish

Get you in to installer design

Here we need to check whether the application is having uses data or not by checking common file
data under files & folders can check.

69 T.UMAMAHESWAR 8686393028
APP SEARCH: Used to check system requirement & app requirement as well. It
is same as launch condition. Eg: SAP hena (main app)
It requires Microsoft. netb4.6 as dependency
File under – c:\windows \.net \assemblies .net 4.6
Registries under _HKLM \software\microsoft \.net\.net version =4.6
If the file is existed in any of the hive, then the application should install either
dependency app in existed in any hive or file, folder, registry then only it will
install.
Whenever we implement entry of app search it will get entries under or we
need to work on
App search table
Launch condition table
Reg locater table
Signature table
Property table

FILE ASSOCIATION: it will classify files as per extension & create a group.
the files are stored in same extension it will gather extension & stores group of
extension (some) under one group
Eg: .exe, .msi , .mst , .ini, .dll , .log etc
All exe files are stored in .exe group
All msi files are stored in .msi group

ODBC : open data base connectivity


To open it cmd is =OBBC ad 32 or = open ODBC entry
ODBC 32.exe
It acts as interface between user& application also fetch data from data base
Purpose of ODBC:
Provide access to user on application as well as database

70 T.UMAMAHESWAR 8686393028
Types of ODBC:
1.user DSN: [data source name] it specifies to user & stored in HKCU \
software \ODBC
2. system DSN: it is available to multiple users stored in HKLM\software \ODBC
Here ODBC are connected to some table
ODBC INI
ODBC data source
ODBC drivers
ODBC translates

MERGE MODULE: There are pre compiled libraries we can share files,
registries & other resources to multiple application.
This concept will work on shared .dll concept
App1
A.dll App2
App3
Note: if apps connected increase, shared count will increase.
If apps connected decrease .shared count also decrease.
Merge module will basically on 3 factors
Version
Size
Data
If the file belongs to editable file, it doesn’t have version
Only size & date will be available
Eg : .word

.xml Don’t have version unversioned files

.ini

.log

71 T.UMAMAHESWAR 8686393028
If the file to non-editable file it has version, date & size also

Eg: .dll

.ocx

.exe Having size, version,data

.msi

Merge module is stored in below tables

Module signature
Module Execute sequence
Module UI sequence
Module component
How to operate in system:
File parts:
To open type at start can be ODBC 32or ODBC 32.exe
Can add user & system as well
Name - google
Description anything about app info
Service on which service to add & XQL
Next or finish
It will create on ODBC

REGSTRY PART

HKCU

Software

For User level

ODBC

72 T.UMAMAHESWAR 8686393028
ODBC INI and some other data will present

HKLM

FOR SYSTEM LEVEL

Software

ODBC

How to look on launch on condition


Launch condition if any operating system related then we need to remove
from here

ICE Errors (Internal consistency evaluators)

MSI- Edit with install shield – Goto build menu-Validate-Full msi validation suite
There we can find information,warnings,Errors
CUB File: When you validate msi cub file will generate, it is used to validate
msi.
Difference between CAB &CUB
CAB: When you add files in compressed mode CAB file will generate, it will
refer in media table.
CUB: When you validate msi CUB file will generate.
ICE21: When the component does not belong to any feature then we will get
ICE21

73 T.UMAMAHESWAR 8686393028
Solution: Go to feature table select that component and allocate the feature.
ICE80: it is related architecture we have to set as per the application
architecture.
Solution: We have to map correct architecture.
ICE03: Its s validates data types foreign key & primary key from the msi table.
Solution: Go to Directory table you have to sort that name.
ICE43: Component has non-advertised shortcut and it use registry HKCU as key
path
When you create MST if you validate ICE errors compare with MSI ICE errors
MSI- ICE21, ICE43
MST- ICE57, ICE03, ICE21, ICE43 (We have to resolve ICE57, ICE03 only)
ICE57: (IMP)
Components(files,registries,shortcuts)
When the component having per user data and per machine data but keypath
is set to machine data.
Solution: please set keypath to registry HKCU
ICE64: When we directory under user profile we will get ICE64
Solution: Add directory to the remove file table then we will resolve.
ICE99: When directory and property are same
Solution: we have to change directory name or property name
ICE40: When we add “REINSTALL MODE” property we will get ICE40 but we can
ignore it.
ICE18: It checks empty directory as key path of component that is not listed in
the create folder table
Solution: Empty directory used as a key path for a component in the
installation package must be specified in the CreateFolder table.
ICE27: It validates the sequence table

74 T.UMAMAHESWAR 8686393028
PATCH
Before knowing about patch need to be aware of GUID
GUID IN MSI: Global unique identification having 128 characters that to in a
form of hexadecimal from combo of alphabets & numbers
{2C11R – 5767P – DC653- 421CB}

GUID’s are in MSI 4 types


Package code:
Identified by package code
It identifies msi file
Files & registries are present here & will be identified if address some files &
changes code for even small modification.
Product code:
It is an application identified by unique product code
Upgrade code:
Specifies an application family, same application but versions are different
MS OFFICE 2007
MS OFFICE 2010
MS OFFICE 2013
Component ID: GUID
To identify a component should have a unique GUID
NOTE: Any 2 components should not have a some GUID each GUID specifies a
separate task & Package ID
Q: I don’t have the component GUID to my component what will happen?
A: without GUID the component may install but repair not be done because we
cannot identify particular component without GUID.

75 T.UMAMAHESWAR 8686393028
PATCH FILES:
A patch is a small update (with<50 files) here we can add some changes by
adding files & registries
Patch extension is .MSP
Whenever we do change the package code will be changed if it’s a major
change
For minor change package code will not change
PATCH FILES WILL BE USED IN 2 WAYS:
Scanario1: system which is having already .MSI can only need to update .MSP
System+msi just requied .msp
Already installed (msi)=just update (.msp)
Scanario2: system which is not having both MSI &MSP; need to install update
System =. MSI+.MSP
No installation get, need to install (MSI) & update (MSP)
SYNTAX TO INSTALL PATCH:
Msiexec /p “path of the msp”(after installing msi only we can run like this)
Sysntax to install to update patch:
Msiexec /I “msipath “ Patch =”msp path”
Remove command line
Msiexec /x “msipath “ Remove =”product code”

Permissions
To manage access and control we can use permissions. We can set permissions for file,
folders and registries

1.Full Control
2. Modify (Can change something but cannot delete the file)
3.Read

76 T.UMAMAHESWAR 8686393028
4.Write
Types of users:
Administrators
System
Remote users
Authenticated users
Domain users

Types of permissions:
1. Lock permission table
2. IS lock permission table (IS- install shield) it will work on 2011and later
versions
3. CACLS (Change access control list)
4. X CACLS
5. Subnacle.exe

Add-in and plug-in


Add a new function to the programme
Types:
1.System level Add-in
2.User level Add-in
System level add-in: HKLM\SOFTWARE\MICROSOFT\OFFICE\SOME NUMBER
LIKE\EXCEL
Add in name: Description: Local behaviour=3 open key =1+1
Plug-in:
We already created package and adding some files to add another function.

77 T.UMAMAHESWAR 8686393028
For this request owner will provide some files and we need to ask where we
have to copy in package

Standard Actions
In the context of Windows Installer (MSI), Standard actions are predefined
actions provided by the Windows Installer service that perform common
installation tasks. These actions are built into the installer and handle a wide
range of tasks from copying files to the target system to modifying the system
registry.

Custom Actions
Custom actions are actions defined by the package author to perform
specific tasks that are not covered by the standard actions. They provide
flexibility to handle unique installation requirements, such as configuring third-
party software, running scripts, or making specific system changes.
Custom actions Standard actions
Remove folder Already present in msi and which are
running by msi itself
Copy file App search dependency check
Move file Lauch condition
Create Short cut Find related products
Read and write file Remove existing products
Add-in and Plug -in Migrate feature state
Handling fire walls Create shortcut
To change property value Cost initialize
Delete folder while uninstallation Cost finalizes
Kill process Roll Back
Public features

78 T.UMAMAHESWAR 8686393028
Remove folder

Custom actions types:


1. EXE CUSTOM ACTIONS
2. DLL CUSTOM ACTIONS
3. VB SCRIPT CUSTOM ACTIONS
4. JAVA SCRIPT CUSTOM ACTIONS
5. SCRIPT CUSTOM ACTION
6. PROPERTY CUSTOM ACTION
7. SET DIRECTORY
8. NESTED MSI CUSTOM ACTION

Custom actions sequences: (Installation models and its corresponding


sequenseces)
1.Normal installation:
1. User inter face execute
2. Immediate execute deffard
Msiexec/i ‘’msi path’’
Msiexec/I ‘’msi path’’ /qn (silent)
2.Administrative installation:
1. User inter face execute
2. Immediate execute deffard
Msiexec/a ‘’msi path’’
Msiexec/a ‘’msi path’’/qn
3.Advertisement installation:
1.User interface execute
2.Defferd
79 T.UMAMAHESWAR 8686393028
Msiexec/Jm ‘’msipath’’
Msiexec/Jm’’msipath’’/qn
Custom actions conditions:
1.While installation CA conditions
NOT install
2.While uninstallation custom action condition
REMOVE
3.While install and repair
NOT REMOVE
4.While install and repair
NO CONDITION
5.To disable custom action Condition as ‘’0’’

80 T.UMAMAHESWAR 8686393028
Batch Script

1.Batch Script or CMD file:


Batch Scripts are stored in simple text files containing lines with commands
that get executed in sequence, one after the other.
Batch Scripting consists of a series of commands to be executed by the command-
line interpreter, stored in a plain text file.
Almost every task and every action can be performed and executed by a simple
sequence of commands typed on the Windows Command Prompt.
These files have the special extension BAT or CMD

Creating Batch Files


Steps to create a Batch file are pretty simple: -
1. Create a new text file with a ‘.txt ‘extension.
2. Now rename this file with extension as ‘.bat ‘this creates a Batch file.
3. Now open this .bat file in any text editor and start scripting.

Data Types in Batch:

 Integers – Batch supports the whole set of positive and negative integers
 Strings – Unlike most programming languages we rarely use (“”) double-
quotes here but we use ‘echo‘ command to print strings

Saving Batch Files:


After your batch file is created, the next step is to save your batch file. Batch files have the
extension of either .bat or .cmd. Some general rules to keep in mind when naming batch
files −

81 T.UMAMAHESWAR 8686393028
 Try to avoid spaces when naming batch files, it sometime creates issues when
they are called from other scripts.
 Don’t name them after common batch files which are available in the system
such as ping.cmd.

Modifying Batch Files


Following are the steps for modifying an existing batch file.
 Step 1 − Open windows explorer.
 Step 2 − Go to the location where the .bat or .cmd file is stored.
 Step 3 − Right-click the file and choose the “Edit” option from the context
menu. The file will open in Notepad for further editing.

82 T.UMAMAHESWAR 8686393028
S.No Commands & Description
01 DEL
This batch command deletes files and not directories.

Syntax
del [filename]
Example

@echo off
Rem Deletes the file lists.txt in C:\
del C:\lists.txt

02 COPY
This batch command is used for copying files from one location to the other.

Syntax
Copy [source] [destination]

Example
@echo off
cd
Rem Copies lists.txt to the present working directory.
If there is no destination identified , it defaults to the present working directory.
copy c:\lists.txt
Rem The file lists.txt will be copied from C:\ to C:\tp location
copy C:\lists.txt c:\tp
Rem Quotation marks are required if the file name contains spaces
copy “C:\My File.txt”

83 T.UMAMAHESWAR 8686393028
Rem Copies all the files in F drive which have the txt file extension to the
current working directory copy
F:\*.txt
Rem Copies all files from dirA to dirB. Note that directories nested in dirA will not be
copied
copy C:\dirA dirB

03 RD
This batch command removes directories, but the directories need to be empty
before they can be removed.

Syntax
rd [directoryname]

Example
The following example shows the different variants of the rd command.

@echo off
Rem removes the directory called newdir
rd C:\newdir

Rem removes 2 directories


rd Dir1 Dir2

Rem Removes directory with spaces


rd "Application A"

Rem Removes the directory Dir1 including all the files and subdirectories in it rd /s
Dir1
Rem Removes the directory Dir1 including all the files and subdirectories in it but
asks for a user confirmation first.
rd /q /s Dir1

04 REN
Renames files and directories

Syntax
ren [oldfile/dirname] [newfile/dirname]
Renames the file name from the old file/dir name to the new one.

Example
@echo off

84 T.UMAMAHESWAR 8686393028
ren C:\lists.txt C:\newlists.txt

05 REM
This batch command is used for remarks in batch files, preventing the content of
the remark from being executed.

Syntax
REM remark description

Example
@echo off
REM This is a batch file

06 TASKKILL
This batch command ends one or more tasks.

Syntax
Taskkill /im [taskname]

Example
@echo off
Taskkill /im mspaint.exe

07 XCOPY
This batch command copies files and directories in a more advanced way.

Syntax
Xcopy [source][destination]

Example
Xcopy c:\lists.txt c:\tp\

08 SET
Displays the list of environment variables on the current system.
Set

Example
@echo off
set

MKDIR
Allows you to create a directory.

85 T.UMAMAHESWAR 8686393028
Example:

The following example create a new directory called “MyFolder”:

@echo off
MKDIR C:\Users\StackHowTo\MyFolder

RMDIR
Allows you to delete a directory.

Example:

The following example delete the directory called “MyFolder”:

@echo off
RMDIR C:\Users\StackHowTo\MyFolder

RENAME
This command allows you to rename files.

Example:

The following example rename “example.txt” as “test.txt”:

@echo off
RENAME example.txt test.txt

REPLACE
This command allows you to replace or overwrite files.

Example:

The following example Update the record.mp3 file in all the folders under C:\
records :

@echo off
REPLACE "C:\tmp\record.mp3" C:\records /s
COMP
This command allows you to compare the contents of two or more files.

Example:

The following example compare the contents of file1.txt to file2.txt:

@echo off

86 T.UMAMAHESWAR 8686393028
COMP C:\demo\file1.txt C:\demo\file2.txt

EXIST
This command allows you to check if a file exists.

Example:

The following example check if “filename” exists:

@echo off
IF EXIST "filename" (
echo 'File EXIST!'
) ELSE (
echo 'File missing!'

START
This command allows you to start some programs or some commands.

Example:

The following example will start two programs called Notepad and Calculator.

@Echo Off
START notepad.exe
START calc.exe

DP is nothing but “directory path”


REM Used for syntax declaration it won’t work anything
Generally, in application packaging we will use as below ones

87 T.UMAMAHESWAR 8686393028
1. Install
2. Uninstall
3. Delete Shortcut
4. Copy file or folder
5. Delete file or folder
6. Create folder

To install application:
If the source contain in same folder we can use below command
“~dp0Mangodb compass 1.39.0win32.X64.msi”
If the source is in another folder we have to use below command
“~dp0Mangodb\abc\Mangodb compass 1.39.0win32.X64.msi” l*v “%windir%\
logs\install.log” /qn
To Uninstall Application:
Msiexec /X “product code” /qn
To delete shortcut:
Del path of the shortcut
del “path of the shortcut “
To Copy file application:
Copy “%cd%\Olympus_Screensaver.scr” %windir% /b /v /y
To Delete file:
Del path of the file or folder
To Create directory:
Mkdir path of the file or folder
To Create Registry:
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /f /v DisableTaskMgr /t
REG_DWORD /d 1

To Remove Registry:
reg delete "HKCU\Some\Registry\Path" /f

reg delete "HKLM\Some\Registry\Path" /f

88 T.UMAMAHESWAR 8686393028
Batch Commands
Basic batch commands are all case insensitive and can be used to perform a specific set of
instructions:-
 DIR – The ‘dir’ command is used to get all the directories, sub-directories, and
files present in the current working directory.
 CD – The ‘cd’ command is used to change the current working directory.
 VER – The ‘ver’ command tells the version of the user’s Windows.
 CLS – The ‘cls’ command is used to clear the screen of the command prompt.
 ECHO – The ‘echo’ command is by default ‘on’ but if we turn it off by ‘echo off’
it turns off prompt till the time ‘echo on’ is passed.
 @ – The ‘@’ if used before any command hides which command is running.
 @ECHO OFF – This commands serves as the start point to any basic batch script
as it hides the prompt with ‘echo off’ and hides ‘echo off’ command with ‘@’.
 HELP – This command tells us all about the commands available in the cmd. It
runs only if the cmd is run as an administrator

1. Command line to install .EXE and Uninstall .EXE?

TO install exe:

ECHO OFF

ECHO Installing MySoftware . . .


"%~dp0\MySoftware.exe" /S /v/qn"UPGRADEADD=link goes here"

2. Command line to Install .MSI and Uninstall .MSI?


To install application:
If the source contain in same folder we can use below command
“~dp0Mangodb compass 1.39.0win32.X64.msi”
If the source is in another folder we have to use below command
“~dp0Mangodb\abc\Mangodb compass 1.39.0win32.X64.msi” l*v
“%windir%\logs\install.log” /qn

3. Command line to check Group Policy


gpedit

4. Command line to open Certificates


Certmgr.msc

5. Command line to IP Address


IPconfig

6. Command line to find computer name or host name

89 T.UMAMAHESWAR 8686393028
Hostname

VB Script(Visual Basic Script)


VB Script stands for Visual Basic Script, and it is a light version of Microsoft
Visual Basic. It is a client-side scripting language like JavaScript.

The extension of vb script is .VBS


To declare variables, we use “dimensions” (dim)
To name variable in VBScript there are certain rules, you need to use the
keyword ‘Dim’. For example, Dim salary. Also, you need to remember the
following things

 Variable name must begin with a letter


 Variable name cannot exceed 255 characters
 Variable name should not contain a period (.)

Str Command = String command


To operate variable, we are using “Option explicit”(It
throughs a prompt regarding the error )
The use of Option Explicit statement in VBScript is to initialize all the
variable before using them. It helps to avoid typing error in the code.

If first action is failed automatically second action is also


failed
Note: Ignore the error statement and proceed with the next
statement
“On Error Resume Next”
To manage files and folders we have to use Object FSO
To maintain reg we use obj called Shell
To Manage mathematical functions, we can use math obj
90 T.UMAMAHESWAR 8686393028
To control errors, we use error obj

In VB script we don’t want to run any line/statement then we


use “single quote as prefix”

To Create shell object Syntax is


Set obj shell= Create object(wscript.shell)
To create file system object Syntax is
Set object FSO= Create obj(scripting fso)
To define environment variables in vb script
To define environment variable in vb script
Syntax :Wshshell.ExpandEnvironmentStrings(“%systemdrive
%”),(“%programefileX86%”)
1. create folder
Fso.create folder “Path of the folder”
2. delete folder
Fso.delete folder”path of the folder”
3.delete a file
Fso.delete file”path of the file”
4. copy file
Fso.copy file “source path” “destination path”
5. create file

91 T.UMAMAHESWAR 8686393028
Fso.createfile”path of the file”
6. copy a folder
Fso.copyfloder”sourcepath” “destination path”

7.Create registry
'WshShell.RegWrite StrHKLM &
"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
TeamViewer\" &
"NOREMOVE", "1", "REG_DWORD"

8.Delete Registry
'WshShell.RegDelete StrHKLM &”path of the registry”

09.To Hide ARP Entries


'WshShell.RegDelete StrHKLM &
"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
TeamViewer\HelpLink"
'WshShell.RegDelete StrHKLM &
"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
TeamViewer\URLInfoAbout"
'WshShell.RegDelete StrHKLM &
"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
TeamViewer\URLUpdateInfo"

92 T.UMAMAHESWAR 8686393028
10.To delete shortcut
// JScript.
Shell = new ActiveXObject("WScript.Shell");
FSO = new ActiveXObject("Scripting.FileSystemObject");
DesktopPath = Shell.SpecialFolders("Desktop");
FSO.DeleteFile(DesktopPath + "\\test.lnk")

' VBScript.
Set Shell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
DesktopPath = Shell.SpecialFolders("Desktop")
FSO.DeleteFile DesktopPath & "\test.lnk"

11.Kill process

Dim oShell : Set oShell = CreateObject("WScript.Shell")

' Launch notepad '


oShell.Run "notepad"
WScript.Sleep 3000

' Kill notepad '


oShell.Run "taskkill /im notepad.exe", , True

Powershell App Deployment Toolkit


PowerShell App Deployment Toolkit is an open-source project composed from a set of
functions that allow you to perform common application deployment tasks and interact
with the user during a deployment.

93 T.UMAMAHESWAR 8686393028
PS
App Deploy Toolkit Install Window
It’s meant to simplify complex installation/uninstallation scripts and improve the installation
success rates. With a few simple lines, you can create an installation bundle (suite), or
perform additional changes on the system.

Configure PSAppDeployToolkit
Once PSAppDeployToolkit has been downloaded, extract the zip file, navigate to Toolkit\
AppDeployToolkit and edit the AppDeployToolkitConfig.xml.

The AppDeployToolkitConfig.xml is the main configuration xml for the script. There, you can
choose the default log location, message icon, banner, logging options, installation
parameters, languages, and more.

94 T.UMAMAHESWAR 8686393028
PSADT Configuration XML
It might seem like a tedious task, but once you configure PSAppDeployToolkit as you need,
you can use the AppDeployToolkitConfig.xml for every script created in the future, not
having to worry about settings each time you create a new script.

Autocomplete for PSAppDeployToolkit in PowerShell ISE


The next step is not necessary, but it’s a quality of life trick, meant to have autocomplete on
PowerShell App Deployment Toolkit in PowerShell ISE.

1. First, navigate to “C:\Users\(username)\Documents” and create a new folder called


WindowsPowerShell. Inside that folder, create a new folder called Modules.
2. Next, if you downloaded and extracted PSAppDeployToolkit, navigate to the
extracted location and copy the AppDeployToolkit folder (found in the Toolkit folder)
in the previously created Modules folder.

95 T.UMAMAHESWAR 8686393028
PowerShell Modules
3. Go into the copied AppDeployToolkit folder and modify the
AppDeployToolkitConfig.xml. Inside the AppDeployToolkitConfig.xml, change the
Toolit_RequireAdmin parameter to False.

PSADT Configuration XML


4. The last step is to edit the PSAppDeployToolkitMain.ps1 with PowerShell ISE. Once
opened with PowerShell ISE, save it as PSAppDeployToolkit.psm1 inside the

96 T.UMAMAHESWAR 8686393028
AppDeployToolkit folder.

PSM1 Save Location

And that is it, all the commands should appear in the right pane and should auto-complete
when writing.

PowerShell ISE
Create scripts
Once finished with the above configurations, you are ready to start creating scripts.

In the extracted location, navigate to the Toolkit folder where you will see a folder called
Files.

97 T.UMAMAHESWAR 8686393028
The Files folder is where you will place all of your installation files, either installers like MSI,
MST, MSP, or other configuration files which you can copy later during installation.

PSADT Files Folder for Installation Media


After you copied all the files you need, edit Deploy-Application.ps1 with PowerShell ISE, or
another PowerShell editor of your choice.

The first basic lines that must be edited are your Application Vendor, Application Name,
Application Version and other basic information about the installation. These variables will
appear in the logs, toast notifications or progress box.

Deploy-Application.ps1 script

98 T.UMAMAHESWAR 8686393028
Next, the PSAppDeployToolkit installation logic is composed out of three main actions which
contain three sub-actions for each. The main actions are:

1. Installation
2. Uninstallation
3. Repair

The sub-actions are:

1. Pre-Installation/Pre-Uninstallation/Pre-Repair
2. Installation/Uninstallation/Repair
3. Post-Installation/Post-Uninstallation/Post-Repair

Depending on your requirements, edit the sub-actions you need. In this example, we will
modify only the Installation and Uninstallation main actions.

In the Pre-Installation action, we removed the message that informs us of closing a certain
app or to defer the installation.

In the Installation action, we installed Orca.MSI with the following command:

Execute-MSI -Action Install -Path ‘Orca.Msi’

In the Post-Installation action, we also removed the message that informs us that the
installation is complete. In the end, the script looked like this:

Deploy-Application.ps1 script
With a line, we have a progress box, an installation sequence and toast notifications for the
user. Next, we moved to the Uninstall actions.

99 T.UMAMAHESWAR 8686393028
In the Pre-Installation section we removed the initial message. Then,in the Uninstallation
section, we uninstalled Orca with the following command line:

Execute-MSI -Action Uninstall -Path ‘{85F4CBCB-9BBC-4B50-A7D8-E1106771498D}’

At the end, the Uninstall sequence looks like this:

Deploy-Application.ps1 script
And that is it, the installation script is now done and can be used in the infrastructure.

Execute scripts
You can call the deployapplication.ps1 directly using powershell, and if you prefer, you could
also call deployapplication.exe which sets the executionpolicy correctly.

The preferred method is via the powershell script directly. For this, open an administrator
command prompt and type the following:

powershell.exe -executionpolicy bypass -file deployapplication.ps1

100 T.UMAMAHESWAR 8686393028


Deploy-Application.ps1 script install execution
To uninstall the application, we run almost the same command as before, but this time with
the parameter -DeploymentType Uninstall:

powershell.exe -executionpolicy bypass -file deployapplication.ps1 -DeploymentType


Uninstall

Deploy-Application.ps1 script uninstall execution


Additional Information

101 T.UMAMAHESWAR 8686393028


For more information about all the functions, syntax and parameters, navigate to the
AppDeployToolkit folder, right-click AppDeployToolkitHelp.ps1 and select Run with
PowerShell.

It will bring up the following window:

PSADT Help Menu


There, you can find all the information you need, and multiple examples for each function.

Advanced Installer offers the possibility to create a chained installation of multiple packages,
without needing the support of 3rd party tools.

1) What is the version of PSADT?

- 3.9.3

2) Structure of PSADT?

PSADT consists of below files/folders

AppDeploymentToolkit - contains xml file, banner file, .ps1 files

Files - here we place executables

SupportFiles

Deploy-Application.exe - using this we will call .ps1 file

102 T.UMAMAHESWAR 8686393028


Deploy-Application.ps1 - here we will do customizations like install, uninstall, repair etc

3) Pre-defined functions in PSADT?

Below are the commonly used predefined functions in PSADT.

Show-InstallationWelcome: Displays a welcome message to the user before the installation process
begins.

Show-InstallationProgress: Displays the progress of the installation process.

Show-InstallationPrompt: Displays a prompt to the user during the installation process.

Execute-Process: Executes a process or application.

Execute-MSI: Installs an MSI package.

Execute-MSIEx: Installs an MSI package with additional parameters.

Execute-ProcessAsUser: Executes a process or application as a different user.

Get-LoggedOnUser: Retrieves information about the currently logged on user.

4.cmdlet to install .MSI and MST?

Execute-MSI -Action 'Install' -Path 'GoogleChromeStandaloneEnterprise64.msi' -Transform


'GoogleChromeStandaloneEnterprise64.mst'

5) Log file location for PSADT?

log files are saved by default in below path

C:\windows\logs\software\

6) cmdlet to install .exe ?

Install - Execute-Process -Path '<application>.exe' -Parameters '/quiet'

7) cmd lets to install and uninstall msi in PSADT?

Install - Execute-MSI -Action 'Install' -Path "MSI name" Transforms "MST name"

Uninstall - Execute-MSI -Action 'Uninstall' -Path 'product code'

8) what is Exxecution policy in powershell?

103 T.UMAMAHESWAR 8686393028


Execution Policy in PowerShell is a security feature that determines the conditions under
which PowerShell scripts are allowed to run. It helps prevent unauthorized or malicious
scripts from running on a system.

There are several levels of execution policies in PowerShell:

1. Restricted: This is the default execution policy. It does not allow any scripts to run,
including scripts that you write yourself.
2. AllSigned: Only scripts signed by a trusted publisher are allowed to run. Scripts that
are downloaded from the internet or written on the local machine must be signed by
a trusted publisher.
3. RemoteSigned: Scripts downloaded from the internet must be signed by a trusted
publisher, but locally-created scripts do not need to be signed.
4. Unrestricted: No restrictions; all scripts can run. This setting can be potentially
dangerous if you run scripts from untrusted sources.
5. Bypass: No restrictions; all scripts can run. However, it bypasses the PowerShell
execution policy for individual commands.
6. Undefined: No execution policy is defined. This typically means that no execution
policy is set, and PowerShell operates in a restricted mode.

You can check the current execution policy on your system by opening PowerShell and
running the command:

Get-ExecutionPolicy

And you can set the execution policy using the Set-ExecutionPolicy cmdlet, for example:

Set-ExecutionPolicy RemoteSigned
Set-Executio

It's important to choose an appropriate execution policy based on your security


requirements and the trustworthiness of the scripts that you intend to run.
9) what is Bypass in powershell?

In PowerShell, the Bypass execution policy is one of the options you can set for the script
execution policy. It allows scripts to run without any restrictions, bypassing the PowerShell
execution policy.

When you set the execution policy to Bypass, PowerShell will not enforce any restrictions on
script execution. This means that all scripts, regardless of their origin or whether they are
signed by a trusted publisher, will be allowed to run without prompting or restrictions.

The Bypass execution policy can be useful in certain scenarios where you need to run scripts
that would otherwise be blocked by the execution policy. However, it's important to use this

104 T.UMAMAHESWAR 8686393028


policy judiciously, as it can pose a security risk if you run scripts from untrusted or unknown
sources.

You can set the Bypass execution policy using the Set-ExecutionPolicy cmdlet, for example:

Set-ExecutionPolicy Bypass Set-ExecutionPolicy Bypass

Remember to consider the security implications before using the Bypass execution policy
and to revert to a more restrictive policy when it's no longer needed.

10) what is pipeline in powershell?

In PowerShell, a pipeline is a feature that allows you to pass the output of one command (or
cmdlet) as input to another command. It enables you to chain commands together, allowing
for more efficient and concise scripting.

The pipeline operator in PowerShell is represented by the vertical bar character |. You use it
to connect the output of one command to the input of another command. For example:

Get-Process | Where-Object { $_.Name -eq "chrome" } Get-Process | Where-Object { $_.Name -eq


"chrome" }

In this example, the Get-Process cmdlet retrieves a list of all running processes, and the
output (a collection of process objects) is passed through the pipeline to the Where-Object
cmdlet. The Where-Object cmdlet filters the process objects based on the condition { $_.Name
-eq "chrome" }, which checks if the process name is equal to "chrome".

Pipelines in PowerShell allow you to perform complex operations by combining simple


cmdlets together. They make it easier to write and read scripts, as you can break down tasks
into smaller, reusable components and chain them together.

Pipelines are a fundamental concept in PowerShell scripting and are used extensively to
manipulate and process data. They are one of the key features that make PowerShell a
powerful and flexible scripting language.

11) How to setup Active setup in powershell?

Copy-File -Path "$dirFiles\Example.exe" -Destination "$envProgramData\Example"

Set-ActiveSetup -StubExePath "$envProgramData\Example\Example.exe" `

-Description 'AutoDesk BIM Glue install' `

-Key 'Autodesk_BIM_Glue_Install' `

-ContinueOnError:$true

12) How to manage user files and registries in PSADT?

105 T.UMAMAHESWAR 8686393028


In PowerShell App Deployment Toolkit (PSADT), you can manage user files and registries
using various functions provided by the toolkit. Here's how you can do it:

1. Managing User Files:


PSADT provides several functions to manage files, such as Copy-File, Remove-File, and
Install-SMSApplications . These functions allow you to copy files to user directories,
remove files, and install applications silently.
# Copy files to user directories
Copy-File -Source "Path\to\source\file" -Destination "Path\to\destination\folder"

# Remove files from user directories


Remove-File -Path "Path\to\file\to\remove"

# Install applications silently


Install-SMSApplications -DeploymentType "MSI" -DeployMode "Silent" -DeployAction "Install" -
Path "Path\to\installer.msi" Copy files t # Copy files to user directories
2. Managing User Registries:
PSADT also provides functions to manage registry keys and values, such as New-
RegistryKey , New-RegistryValue , Remove-RegistryKey , and Remove-RegistryValue .
# Create a new registry key
New-RegistryKey -Key "HKCU\Software\MyApp"

# Create a new registry value


New-RegistryValue -Key "HKCU\Software\MyApp" -Name "SettingName" -Value
"SettingValue"

# Remove a registry key


Remove-RegistryKey -Key "HKCU\Software\MyApp"

# Remove a registry value


Remove-RegistryValue -Key "HKCU\Software\MyApp" -Name "SettingName" #
These functions allow you to create, modify, and remove registry keys and values
under the HKEY_CURRENT_USER (HKCU) hive.

By using these functions within your PSADT scripts, you can effectively manage user files
and registries during application deployment or removal processes.

13) Cmd lets to copy files in PSADT?

Copy-File -Path "$dirSupportFiles\mms.cfg" -Destination "C:\Windows\SysWOW64\Macromed\


Flash\"

14) cmdlets to delete files in PSADT?

Remove-File -Path "$envCommonDesktop\GeoGraphix Seismic Modeling.lnk"

15) Cmdlet to delete registry in PSADT?

Remove-RegistryKey -Key 'HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\


SafeVersions' -Recurse

106 T.UMAMAHESWAR 8686393028


16) cmdlet to import registry in PSADT?

Execute-Process -FilePath "reg.exe" -Parameters "IMPORT `"$dirFiles\name-of-reg-export.reg`"" -


PassThru

17) Cmdlet to create file/folder in PSADT?

New-Item -path <path to the destination file> -type file

New-Item -path <path to the destination file> -type folder

18) How to get process name in PSADT?

In PowerShell App Deployment Toolkit (PSADT), you can use PowerShell cmdlets to get
process names. One common cmdlet for this purpose is Get-Process.

Here's how you can get the process names in PSADT:

# Get all running processes


$processes = Get-Process

# Loop through each process to get the process name


foreach ($process in $processes) {
$processName = $process.ProcessName
Write-Host "Process Name: $processName"
} # Get all running processes $processes = Get-Process # Loop through each process to get the process name

This script retrieves all running processes using Get-Process cmdlet and then iterates through
each process object to extract the process name using the ProcessName property. Finally, it
displays the process names using Write-Host.

You can integrate this code into your PSADT script to get process names as needed. For
example, you might want to check if a specific process is running before proceeding with
certain actions during application deployment or removal.

19) How to declare variables in PSADT?

We will declare variables in Deploy-Application.ps1 file under "Variable declaration" section.

we should declare Appname, vendor name, app version, author name, script date and
apparchitecture.

20) what is baloon notification in PSADT?

Balloon tip notifications are displayed in the system tray automatically at the beginning

and end of the installation. These can be turned off in the XML configuration.

21) what is the use of PSADT?

PSADT used to customize the applications like Installation, Uninstallation, repair.

we can provide dialog boxes to users to provide inputs.

107 T.UMAMAHESWAR 8686393028


22) what is -Recurse and - Force?

-Recurse when used in deleting folders command will check all the subfolders and it recursively
deletes all files and subfolders located in the target folder, before deleting the target folder itself.

-Force when used in deleting folder/file command will delete the file/folder forcefully.

23) How to create Registry?

Set-RegistryKey -Key 'HKEY_LOCAL_MACHINE\SOFTWARE\LMKR\Licensing' -Name


'LMKR_LICENSE_FILE' -Value '@license'-Type String -ContinueOnError:$True

SCCM PACKAGE CREATION

Details required to create application and deploy in SCCM

Uninstall string
Display name (Application Name)
Display version
Source Path (Package)
Installation script path
Un installation script path
Requirements
Dependencies
Supercdense

MODELS IN SCCM PACKAGE CREATION

1.Application model
2.Package model

STEPS INVOLVED IN APPLICATION CREATION IN SCCM IN


APPLICATION MODEL
108 T.UMAMAHESWAR 8686393028
1. CREATE APPLICATION
2. DISTIBUTE CONTENT
3. CREATE DEVICE COLLECTION
4. DEPLOY

1.PROCESS OF CREATING APPLICATION IN APPLICATION MODE

Open Console

Go to software library

Applications (Right Click)

Create folder-- Only application name(Without Version)
(If already exists ignore it)

If folder is ready existed go and open that folder create application
If You don’t want folder, just go to applications, and right click Create Application

Here
1.Automatically detection information
2.Manually specify application information

Select second one—Manually specify—Click on next

Enter – Application name and with Version
Publisher
Software Version – Click on next

109 T.UMAMAHESWAR 8686393028



Here we can get application name automatically
We can browse the ICON here – Click on next

Deployment types – Click on next

Here Select type--- Windows installer (.mis file) or Script Installer—Select which is
doing – Click on next

Application Name (With version) --- Click on Next

Content location (Package path where we kept)
Browse—Installation Program—Script.exe--- Path
Browse--- Installation program--- Script.exe--- Path → Click on Next

Detection Method Click on add clause

Setting type--- File system (c/program files or x86)
Registry (Uninstall String path)
Windows Installer (Product Code)

If you select Registry
HIVE--- HKLM
Key--- Remain Path
Value--- Display Version (Type display version only no need to enter numbers here)
Data Type--- String
Operator--- equals

110 T.UMAMAHESWAR 8686393028


Version --- We should give software version → Click on OK→ It will show the details
what we have did → Click on next

Installation behaviour--- Installation for system
Log on requirement--- Whether or not a user is logged on Visibility---hidden
Time--- By default it will show 120m (No need to Decrease) → Click on next

Requirements (If there are any requirements like Win08 or Win10 we can
mention)→Click on next

Dependencies (If there is anything we can add) If No→ Click on next

Will get the details→ Click on next

Program created → Close → Next → Next → Close
APPLICATION CREATED

2.DISTIBUTE CONTENT

Open application and click on that → Right Click → Select distribute content → we
can be able to see app name

Click on next → Next

Click on add →Select Distribute points → Select all →Click on OK

Next → Next →Progress

111 T.UMAMAHESWAR 8686393028


Click on Refresh to seen updating distribution Point

3.CREATE DEVICE COLLECTION

Go to assets and compliance



There is any specific folder related to app We can create device collection under that
“If no”

We should create new folder under that we can create new collection

Create device collection → App name with Version

Browse limiting collection
(Based on project we must select limiting collection) → click on Next

Click on add rule → Click on direct rule → Click on Next

In volume column we must give machine details → Click on Next

Select machine Host name under resources → Click on Next → Next → Click on Next

Close

112 T.UMAMAHESWAR 8686393028


4.DEPLOYMENT

Go to Software centre → Open Application



Right click → Click on Deploy

Select device collection
Browse device collection

Here we need select the application device collection → Click on next → Next

Select “INSTALL” in action column

Select “AVAILABLE MODE” in purpose column

Click on Next → Next →Next

Close

Create Application in SCCM console

1. Open SCCM console and go to Software library tab at the bottom left corner.

113 T.UMAMAHESWAR 8686393028


After you click on software library you can see Application Management Folder Above and under that
you will have a node for Applications

114 T.UMAMAHESWAR 8686393028


Under Applications Select the TESTING folder and right click to create a new application.

115 T.UMAMAHESWAR 8686393028


After you select Create application this wizard will appear which will ask you to select windows
installer file. Browse to application folder in SCCM repository and select MSI file.

After you browse for MSI file it might sometime give publisher verification warning. Select yes to
proceed.

116 T.UMAMAHESWAR 8686393028


When you browse an MSI ideally it take the info from the property table and autofill the Name field.
But you can modify the name as you want it to be. Fill the information as given above and click Next

117 T.UMAMAHESWAR 8686393028


Verify the information and click Next

118 T.UMAMAHESWAR 8686393028


Click on close. This will create the application for you.

119 T.UMAMAHESWAR 8686393028


Right click on the application that you just created and select properties.

In General Tab fill the General information as displayed.

120 T.UMAMAHESWAR 8686393028


On application catalog no modification is required.

121 T.UMAMAHESWAR 8686393028


Keep the distribution settings as per the screen and click ok.

Create Deployment Type

122 T.UMAMAHESWAR 8686393028


Once the application is created the next step is to create the deployment type for that
application.
Select the application that you just created and at the bottom window select
Deployment Types tab.

123 T.UMAMAHESWAR 8686393028


Right click on the Deployment Type and select properties.

124 T.UMAMAHESWAR 8686393028


Modify the Name as required in General Tab

125 T.UMAMAHESWAR 8686393028


Browse for the content of application. The path of the content should be the folder where the
executable is present. if you are executing a script then the path should be the folder where script is
present or for exe it should be the exe location or for MSI it should be MSI location.

If you executing a script that will execute and MSI then path should be of script.

Keep the rest of the settings as per the screen

126 T.UMAMAHESWAR 8686393028


in program tab you need to select the installer that will be executed. In case of Script it should be

Cscript.exe NameofInstallvbsfile.vbs.

In case of MSI it should be MSI command and in case of exe it should be exe along with its parameter
if any.

Similarly for uninstallation

Cscript.exe NameofUnInstallvbsfile.vbs.

For MSi it should be msi uninstall command and for exe uninstallation command of exe

127 T.UMAMAHESWAR 8686393028


Detection method is used by SCCM to identify if the application is already deployed on the systems.
So its important to select the right detection rule.

If you are installing an MSI then using the product code is ideal rule for detection.

If you installing an exe then you can use standard registry that is created by Appdeploy script for
Ashland and Valvoline as shown in below screen.

128 T.UMAMAHESWAR 8686393028


129 T.UMAMAHESWAR 8686393028
In this case application will check for this registry presence in the system to detect the application.

130 T.UMAMAHESWAR 8686393028


Keep the settings as displayed in screen

131 T.UMAMAHESWAR 8686393028


Add requirements by clicking on Add button.

132 T.UMAMAHESWAR 8686393028


Select the Category as Device

Condition Operating system

Rule type – Value

Operator – One of

Select the operating system for which this application is applicable. And click ok

133 T.UMAMAHESWAR 8686393028


Distribution of Content

134 T.UMAMAHESWAR 8686393028


After creating deployment type next step is to distribute the application content to
Distribution Points.

To distribute content right on the Application and select Distribute Content.

135 T.UMAMAHESWAR 8686393028


Click next

136 T.UMAMAHESWAR 8686393028


Click on next

137 T.UMAMAHESWAR 8686393028


Click Add to add the DP’s

138 T.UMAMAHESWAR 8686393028


Select DP group

139 T.UMAMAHESWAR 8686393028


Look for Package Testing and click ok

140 T.UMAMAHESWAR 8686393028


Click Next

141 T.UMAMAHESWAR 8686393028


Verify the information and click next to distribute

142 T.UMAMAHESWAR 8686393028


Click on the summary tab and check the distribution progress. The Grey circle should turn green as
shown below indicating the successful completion.

Deployment of application to Collections

Now you are ready to deploy your application on the devices for testing.
Again right click on the application and select Deploy

143 T.UMAMAHESWAR 8686393028


Browse for the Collection that you want this deployment to go

144 T.UMAMAHESWAR 8686393028


Select Device collection to deploy machine based installation.

145 T.UMAMAHESWAR 8686393028


In device collection select folder Testing where you can find the collection QC application testing. This
collection has two test machines as a member of that collection.

Click ok and then Next

146 T.UMAMAHESWAR 8686393028


Wait for DP to populate then click Next

147 T.UMAMAHESWAR 8686393028


Select as per screen and click next

148 T.UMAMAHESWAR 8686393028


Click next

149 T.UMAMAHESWAR 8686393028


Click Next

150 T.UMAMAHESWAR 8686393028


Click Next

151 T.UMAMAHESWAR 8686393028


In this screen cautiously verify the collection that is targeted and Deployment Action.

Post this step the deployment will be triggered to the devices and hence it is necessary to verify the
settings.

152 T.UMAMAHESWAR 8686393028


SCCM Interview questions

1.Deployment Tools?

2.Versions of deployment tools?

3.What is DP?

4.What is boundary rules?

5.What is MP in SCCM?

6.What are the log files needs verify in SCCM?

7.Difference between Application Model and package model?

8.How to install SCCM Agent and client?

9.Error code in SCCM?

10.What is Collection?

11.What is Dynamic collection and query collection?

12.What is Co-Management?

13.What is Supersedence?

14.Detection Logic?

15.What are the deployments types in SCCM?

16.Pull and Push Mode

17.Available mode and Required mode

18. Application fails in SCCM how to trouble shoot?

Intune Standalone Application Packaging and Publishing

Pre-process Win32 App

1. Download the Microsoft Intune Win32 App Tool

2. Create 3 folders as below


Source  Copy the packaged files to this folder
Tools  Keep the downloaded tool in this folder
Output  This folder is to get the converted. intunewin file

153 T.UMAMAHESWAR 8686393028


Note - Always make sure to keep the ServiceUI.exe file in source folder. To enable user interaction
during application deployment via Intune, this file must be kept in the source folder and the same
must be used in installation/uninstallation command line.

3. Navigate to Tools folder. Run IntuneWinAppUtil.exe file with elevated privileges. Command prompt
will appear and enter the required information as below.
Mention the path of the source folder, name of the main setup/packaged file name and then mention
output folder path. Enter ‘N’ for specify catalog folder option.

4. Now. intunewin file will be successfully generated in the Output folder.

5. Using 7-Zip app the created. intunewin file can be extracted. Besides content, that file contains a
Detection.xml file that shows the detected information of the installation file.

Create Win32 App

154 T.UMAMAHESWAR 8686393028


1. To Create win32 app in Intune, Open the Azure portal and navigate to Intune portal go to Client Apps -
> Apps +Add

2. On the Add app blade, select Windows app (Win32) – preview to show the configuration options and
select App package file to open the App package file blade. Upload the intunewin format file.

155 T.UMAMAHESWAR 8686393028


3. Click Next. On the App information blade, provide at least the following information.
App Name  Name of the App
Description  Provide a description of the app
Publisher  Provide the publisher of the app
App Version  Provide the version for the app
Category Select Category if any
Owner  Provide GPL Information
Notes  Enter information such as your name, SOFTPCK request number, SCCM package ID for
reference
Logo  Upload the logo of the application

4. On the Program blade, mention the install and uninstall cmd. Based on the UI for the package use the
below cmd line.
With UI  ServiceUI.exe -Process:Explorer.exe Install.exe
Without UI  Install.exe

5. Select the install behavior to install the package in System or in user mode.

6. By default, few return codes are configured. In addition to that, please add any customized return
codes in case of requirement.

156 T.UMAMAHESWAR 8686393028


7. On the Requirements blade, enter the below information
Operating System architecture  Select 32-bit or 64-bit or both based on the requirement.
Minimum Operating System  Select Windows 10 1909
Disk Space  Enter disk space required for application installation.

8. Detection Rules – Select the Rules format to configure the detection rules.
Use Manually configure detection rules to set MSI product code or file path or registry key path.
Use the custom detection script to add any scripts for detection purpose.

157 T.UMAMAHESWAR 8686393028


9. On the dependencies blade, select the dependency application from the dropdown available. If it not
available, then create the dependency app separately and then select it from the list.

10. On the supersedence blade, you can configure as per the requirement. When you supersede an
application, you can specify which app will be updated or replaced. To update an app, disable the
uninstall previous version option. To replace an app, enable the uninstall previous version option.
There is a maximum of 10 updated or replaced apps, including references to other apps. For example,
your app references another app. This other app references other apps, and so on. This scenario
creates a graph of apps. All apps in the graph count toward the maximum value of 10. For more
information, see Add Win32 app supersedence

11. On the scope tag blade, select and add the required scope tags only if required. Because, few
tags are enabled by default.

12. Click Next to see Assignment’s blade.


 Select Add Group to open the Add group pane that is related to the app. For the specific app,
select an assignment type.
 Available for enrolled devices: Users install the app from the Company Portal app or Company
Portal website.
 Required: The app is installed on devices in the selected groups.
 Uninstall: The app is uninstalled from devices in the selected groups.
 Select Included Groups and assign the groups that will use this app.
 In the Assign pane, select to assign based on users or devices. When you choose your
assignments, you can also choose the End user experience. The End user experience allows you

158 T.UMAMAHESWAR 8686393028


to set End user notifications, Restart grace period, Availability, and Installation deadline. For
more information, see Set Win32 app availability and notifications
 select OK to complete the included groups selection.
 If you want to exclude any groups of users from being affected by this app assignment, select
Exclude Groups.
 You can configure the start time and deadline time for a Win32 app. At the start time, Intune
management extension will start the app content download and cache it for required intent.
The app will be installed at the deadline time. For available apps, start time will dictate when
the app is visible in the Company Portal and content will be downloaded when the end user
requests the app from the Company Portal. Additionally, you can enable a restart grace period.
 To modify the End user experience options select Edit.
 In the Edit assignment pane, set the Ender user notifications to Show all toast notifications.
Note that you can set End user notifications to Show all toast notifications, show toast
notifications for computer restarts, or Hide all toast notifications.
 set the App availability to A specific date and time and select your date and time. This date
and time specify when the app is downloaded to the end user’s device.
 Set the App installation deadline to A specific date and time and select your date and time.
This date and time specify when the app is installed on the end user’s device. When more than
one assignment is made for the same user or device, the app installation deadline time is
picked based on the earliest time possible.
 Click Enabled next to the Restart grace period. The restart grace period starts as soon as the
app install has been completed on the device. When disabled, the device can restart without
warning.
You can customize the following options:
 Device restart grace period (minutes): The default value is 1440 minutes (24 hours). This value
can be a maximum of 2 weeks.
 Select when to display the restart countdown dialog box before the restart occurs
(minutes): The default value is 15 minutes.
 Allow user to snooze the restart notification: You can choose Yes or No.
 Select the snooze duration (minutes): The default value is 240 minutes (4 hours). The
snooze value cannot be more than reboot grace period.
 Click OK > OK > OK > Save to add the assignment.

At this point, you have completed steps to add a Win32 app to Intune.

159 T.UMAMAHESWAR 8686393028


160 T.UMAMAHESWAR 8686393028
161 T.UMAMAHESWAR 8686393028
162 T.UMAMAHESWAR 8686393028
163 T.UMAMAHESWAR 8686393028
164 T.UMAMAHESWAR 8686393028
165 T.UMAMAHESWAR 8686393028
166 T.UMAMAHESWAR 8686393028
167 T.UMAMAHESWAR 8686393028
168 T.UMAMAHESWAR 8686393028
169 T.UMAMAHESWAR 8686393028
170 T.UMAMAHESWAR 8686393028
171 T.UMAMAHESWAR 8686393028
172 T.UMAMAHESWAR 8686393028
173 T.UMAMAHESWAR 8686393028
174 T.UMAMAHESWAR 8686393028
175 T.UMAMAHESWAR 8686393028
176 T.UMAMAHESWAR 8686393028
177 T.UMAMAHESWAR 8686393028
178 T.UMAMAHESWAR 8686393028
179 T.UMAMAHESWAR 8686393028
180 T.UMAMAHESWAR 8686393028
CAB and CUB Files

In application packaging, "CAB" and "CUB" files serve different purposes:

1. CAB Files:
CAB (Cabinet) files are archive files used to package multiple files into a single
compressed file. They are commonly used in Windows installation packages,
including MSI (Microsoft Installer) packages, to store compressed copies of files that
are to be installed on the target system.
In the context of MSI packages, CAB files contain the actual files to be installed (such
as executables, DLLs, configuration files, etc.) along with any necessary resources like
icons, images, or documentation. These files are typically compressed to reduce their
size and optimize the installation process.
During the installation of an MSI package, the contents of the CAB files are extracted
and copied to the appropriate locations on the target system. This helps streamline
the installation process by reducing the size of the installer package and improving
installation performance.
2. CUB Files:
CUB (Cabinet Update) files, on the other hand, are used in the context of Windows
Installer database validation. A CUB file contains a set of validation rules (in the form
of validation tables) that are used to verify the integrity and correctness of an MSI
package.

181 T.UMAMAHESWAR 8686393028


CUB files are commonly used with tools like Orca (a database table editor for MSI
files) or the Windows SDK's validation tool (like signtool.exe with the /v parameter) to
validate MSI packages against a set of predefined rules. These rules can include
checks for correct database schema, file signatures, digital certificates, and other
requirements specified by Microsoft's Windows Installer best practices.
When validating an MSI package against a CUB file, any errors or warnings
encountered during the validation process are reported, helping package authors
identify and address potential issues before deploying the package to end-users.

In summary, CAB files are used to store compressed files within an MSI package, while CUB
files are used for validating MSI packages against predefined rules to ensure their integrity
and compliance with Windows Installer standards.
Deference between CAB and CUB:
CAB: When you add files in compressed mode cab files will be generate. It will
refer in media table.
CUB: When you validate .msi cub file will be generate.

Per machine data and Per user data

In application packaging, "per-machine data" and "per-user data" refer to the configuration
settings, files, and registry entries that are specific to either the entire machine or individual
user accounts. Understanding the distinction between these two types of data is crucial for
creating MSI packages and ensuring that applications are installed and configured correctly
for all users on a system.

1. Per-Machine Data:
Per-machine data refers to settings, files, and registry entries that are shared among
all users on a computer. These are typically installed in locations accessible to all
users, such as the Program Files folder or the HKLM (HKEY_LOCAL_MACHINE) registry
hive. Per-machine data is installed during the machine-wide installation process and
is available to all users who log in to the system.
Examples of per-machine data include:
 Executable files and shared libraries installed in the Program Files directory.
 Registry settings stored under HKEY_LOCAL_MACHINE .
 Configuration files installed in machine-wide locations, such as %SystemRoot
%\System32.

2. Per-User Data:
Per-user data refers to settings, files, and registry entries that are specific to
individual user accounts. These are installed in user-specific locations and are only
182 T.UMAMAHESWAR 8686393028
accessible to the user who installed or configured the application. Per-user data is
installed during the user-specific installation process, typically triggered when a user
logs in for the first time or launches the application.
Examples of per-user data include:
 User-specific configuration files stored in the user's profile directory
(%APPDATA% or %LOCALAPPDATA% ).
 Registry settings stored under HKEY_CURRENT_USER .
 User-specific application data stored in user-specific directories.

When creating MSI packages or other deployment packages, it's essential to identify which
data should be installed per-machine and which should be installed per-user based on the
application's requirements and user experience considerations. Properly configuring per-
machine and per-user data ensures that applications are installed and configured correctly
for all users on a system and helps avoid conflicts or issues caused by incorrect installation
settings.

USER DATA MACHINE LEVEL DATA C:\


Users C:\Programmedata
HKCU C:\Programme files
HKU C:\Programme filesX86
C:\Windows Files
C:\Windows \System32
C:\Windows\Syswow64
C:\Temp

HKLM
HKCC Registries
HKCR

Testing packages in System Context


If you are repackaging applications, chances are you will use some kind of infrastructure
management tool (IMT) to push them in your infrastructure.

There are a lot of IMTs out there, but the most popular (and widely used) are:

 Microsoft Endpoint Manager Configuration Manager (MEMCM), formerly


known as System Center Configuration Manager (SCCM)
 Microsoft Intune

183 T.UMAMAHESWAR 8686393028


There is one general rule that applies to most IMTs: all software installations are performed
via the system context (as referred to by the IT Pros).

What is the System Context


The system context refers to the LOCAL SYSTEM account, or NT Authority\System.
The LocalSystem account is a built-in Windows Account. It is the most powerful account on
a Windows local instance, more powerful than any admin account on that machine.

Most of the services from a Windows machine run in the system account -- the account with
the highest privileges.

What is PSEXEC
A tool called PSExec must be used to access the LocalSystem account. PsExec is a command-
line utility for Windows which allows administrators to run programs on local and remote
computers. It’s part of Sysinternals pstools suite built by Mark Russinovich.

How to access the System Context with PSEXEC


Once you download and extract the Sysinternals PsTools Suite, you will find the PSEXEC.EXE

To get into the System Context:

1. Open CDM.EXE as an Administrator

184 T.UMAMAHESWAR 8686393028


2. Type the following command: %pathtopsexec%\psexec.exe -s -i cmd

Run CMD with PSExec


3. Click Enter

A new CMD window should appear. If you type whoami in the new CMD, you should appear
as the NT Authority\System.

CMD elevated with NT Authority\System


From this new CMD (which runs in the system context), it is recommended to install your
MSI packages using the msiexec.exe commands. If tests are successful in this context, it means
that the application can be safely deployed within your IMT of choice.

It is important to understand that in infrastructures, software packages are not installed


within the user context. Moreover, in most infrastructures, users don’t have administrator
rights to install or change anything on the system.

For example, if you have a package that places user registry or user files, you always have to
use advertised shortcuts or the Active Setup mechanism. This will ensure that user data will
be applied to all users.

It’s also good to understand that if you want to perform changes in the current user context,
it will be tricky and you will need to use alternative solutions.

Service Now -Ticketing tool

"ServiceNow" is a cloud-based platform that offers a suite of IT service management (ITSM)


products and services. It provides organizations with a centralized system for managing IT
services, automating workflows, and tracking incidents, problems, changes, and assets.

One of the key components of ServiceNow is its ticketing system, which allows users to
create, track, and manage service requests, incidents, and other IT-related issues. Here are
some features commonly found in ServiceNow's ticketing tool:

185 T.UMAMAHESWAR 8686393028


1. Incident Management: ServiceNow's ticketing system enables users to report and
track IT incidents, such as service outages, software errors, or hardware failures. It
provides workflows for managing incident lifecycles, assigning tasks to support
teams, and resolving issues in a timely manner.
2. Service Request Management: Users can submit service requests through the
ticketing system for various IT services, such as software installations, account
provisioning, or equipment requests. ServiceNow automates the approval and
fulfillment processes for service requests, streamlining service delivery.
3. Change Management: ServiceNow facilitates the management of IT changes,
ensuring that changes to IT infrastructure and services are implemented smoothly
and minimize disruptions to business operations. It provides workflows for
submitting, reviewing, approving, and implementing change requests.
4. Problem Management: The ticketing tool helps organizations identify and address
the root causes of recurring IT issues through problem management processes. It
enables users to track and investigate problems, document workarounds and
resolutions, and implement corrective actions.
5. Asset Management: ServiceNow's ticketing system includes features for tracking IT
assets, such as hardware, software, and configuration items. It provides a centralized
repository for storing asset data, tracking asset lifecycles, and managing asset-
related activities, such as procurement, deployment, and retirement.
6. Knowledge Management: ServiceNow incorporates knowledge management
capabilities to capture, organize, and share IT knowledge and best practices. Users
can access a centralized knowledge base to find solutions to common issues,
troubleshoot problems, and learn about IT services and processes.

Overall, ServiceNow's ticketing tool is designed to improve IT service delivery and support
by providing a unified platform for managing IT incidents, requests, changes, and assets. It
helps organizations streamline IT operations, enhance service quality, and improve
customer satisfaction.
Generally, application packaging team will deal with
1. Software application packaging request (RITM)(SC TASK)
2.Incedents

3.Software requests

4.Change request (C TASK)

Response Transform
Certainly! To create a Response Transform using InstallShield, follow these steps:
1. Open the Open Transform Wizard:
o In your InstallShield project, navigate to the menu or option that allows you
to create a transform (usually labeled as “Transforms” or “Response
Transforms”).
o Select the option to open the Transform Wizard.
2. Complete Each Panel of the Wizard:

186 T.UMAMAHESWAR 8686393028


o The wizard will guide you through various panels. Fill in the necessary details
as needed.
3. Create the Response Transform:
o On the Create Response Transform panel, select the option to create a
response transform.
o If you have any specific command-line properties that you want to pass to
the response transform, you can specify them in the Command line
properties (optional) box. These properties should be in the format of
property name/value pairs separated by semicolons.
4. Simulate the Installation:
o Click Finish to proceed.
o The user interface elements of the installation will be executed, but no actual
file transfer or changes to your machine will occur.
o Customize the options available in each panel of the installation wizard
during this simulated installation.
5. Save Changes:
o When you reach the end of the installation sequence, click Install.
o The simulated installation will exit, and InstallShield will save all the changes
you made during the simulation as values in the Property table of your
transform project.
o These values serve as default values in your actual installation.

Remember that response transforms allow you to customize an existing installation package
without altering the original package itself. They are particularly useful for creating silent
installations or modifying specific properties during installation12.

187 T.UMAMAHESWAR 8686393028

You might also like