Pages

Friday, 3 August 2012

MSI Custom Action Types


This table also shows how you should interpret the Source and Target columns for each type of custom action


Type
Description
Source
Target
1
.dll stored in a binary
Stream
Key to a row in the
Binary table
Name of the .dll
entry point.
2
.exe stored in a binary
Stream
Key to a row in the
Binary table
Command-line string
used to launch the
.exe.
5
JScript in a binary
Stream
Key to a row in the
Binary table
Name of the JScript
function to call.
6
VBScript in a binary
Stream
Key to a row in the
Binary table
Name of the VBScript
function to call
7
Installation of a
package nested inside
of the first package
Name of the substorage
containing
database of nested
application.
Properties settings
string.
17
.dll installed as part
of a product
Key to a row in the File
Table
Name of the .dll
entry point.
18
.exe installed as part
of a product
Key to a row in the File
Table
Command-line string
used to launch the
.exe.
19
Displays a specified
error message and
returns failure,
terminating the
installation
Blank
Formatted text string.
The literal message or
an index into the Error
table.
21
JScript file installed as
part of a product
Key to a row in the File
Table
Name of the JScript
function to call.
22
VBScript file installed
as part of a product
Key to a row in the File
Table
Name of the VBScript
function to call.
23
Installation of a
package that resides in
the first application’s
source tree
Path of nested
package specified
relative to the root of
the source location
Properties settings
String
34
EXE in a known
Directory
Key to a row in the
Directory table
Name of the
executable file and any
options. Use quotes to
surround long file
names.
35
Directory set via
formatted text
Key to the Directory
Table
Formatted text string
that will be set as the
directory path when
this action is executed.
37
JScript text         
Null
A string of JScript code
to execute.
38
VBScript text
Null
A string of VBScript
code to execute.
39
Installation of an
application that is
advertised or already
installed
Product Code for the
application to install
Properties settings
String
50
.exe named by a
Property
Property name or key
to a row in the Property
table
Command-line string
used to launch the
.exe.
51
Property set via
formatted text
Property name or key
to the Property table
Formatted text string
that will be stored in
the property when this
action is executed.
53
JScript text stored in a
Property
Property name or key
to a row in the Property
table
Name of the JScript
function to call.
54
VBScript text stored in
a property
Property name or key
to a row in the Property
table
Name of the VBScript
function to call.


MSI Private Properties

Following are the list of Private Properties


Property
Description
AdminProperties
A semicolon-delimited list of properties that should be “filled in” when an administrative install is performed. When the user later installs from the
Share point, this list is used instead of the values originally in the Installer database.
AdminToolsFolder
Full path to the directory that stores a user’s administrative tools (for example, Microsoft Management Console files).
AdminUser
Set to True if the user has administrative privileges. Always set to True if running on Windows 95 or Windows 98.
Alpha
Set to the processor level if the Installer is running on an Alpha computer.
AppDataFolder
Full path to the directory that stores the user’s application data.
BorderSide
Width of a Windowsdialog box borders in pixels.
BorderTop
Height of a Windows dialog box borders in pixels.
CaptionHeight
Height of a Windows caption in pixels
ColorBits
Color depth for the current video settings
CommonFilesFolder
Full path to the directory that stores the user’s common files.
CommonAppDataFolder
Full path to the directory that stores the user’s application data.
ComputerName
Name of the computer where the installation is running. Set by the Installer by calling the GetComputerName API.
CostingComplete
This property is set to zero by the CostFinalize action. The Installer sets it to 1 when costing is completed.
Date
Current date as a text string.
DefaultUIFont
The name of the TextStyle to use by default on controls. You should set this in the Property table.
DesktopFolder
Full path to the current user’s desktop.
DiskPrompt
String that the Installer uses to prompt for a new source disk.
EnableUserControl
Setting this to 1 has the effect of making all public properties unrestricted.
FavoritesFolder
Full path to the Favorites folder of the current user.
FontsFolder
Full path to the system font’s folder.
Installed
Set to 1 if the product has already been installed for the current user, or on a per-machine basis. Useful to detect when you’re in maintenance mode instead of installing for the first time.
Intel
Set to the processor level (4 for 486, 5 for Pentium, etc.) if the installation is running on an
Intel-based computer.
IsAdminPackage
Set to 1 if the current installation is being run from a package created by an administrative installation.
LeftUnit
Set to 1 to display units to the left of numbers in such things as free space displays.
LocalAppDataFolder
Full path to the application data folder for nonroaming applications.
LogonUser
Name of the current user, set by a call to the
GetUserName API.
NetHoodFolder
Full path to the Network Neighborhood folder. Although this property has been dropped from the most recent SDK documentation, it still works.
Manufacturer
Manufacturer of the product. You must set this property’s value in the Property table.
MyPicturesFolder
Full path to the user’s My Pictures folder.
OLEAdvtSupport
Set to True if the current system supports installon- demand and advertisement.
OutOfDiskSpace
Set to True if any disk in the system doesn’t have enough free disk space for the installation to complete.
OutOfNoRbDiskSpace
Set to true if any disk in the system doesn’t have enough free disk space for the installation to complete even if rollback is disabled.
PersonalFolder
Full path to the current user’s Personal folder.
PhysicalMemory
Megabytes of actual RAM installed in the current computer.
PIDTemplate
String used as a template for the PIDKEY property.
Preselected
Set to 1 when the selection dialog has already been processed.
PrintHoodFolder
Full path to the user’s Printer Neighborhood folder. Although this property has been dropped from the most recent SDK documentation, it still works.
PrimaryVolumePath
Path portion of the PRIMARYFOLDER property
PrimaryVolumeSpaceAvailable
Number of bytes available on the primary volume, in units of 512 bytes.
PrimaryVolumeSpaceRequired
Number of bytes required by all selected features on the primary volume, in units of 512 bytes.
PrimaryVolumeSpaceRemaining
Number of bytes remaining after installation on the primary volume, in units of 512 bytes.
Privileged
Set to 1 when the installation is running with administrative privileges.
ProductCode
GUID that identifies this product. You must set a value for this property in the Property table.
ProductID
Set to the product ID by the ValidateProductID action.
ProductLanguage
Language ID to use for internal Installer strings displayed to the user.
ProductName
Name of the product being installed. You must set a value for this property in the Property table.
ProductState
Will return –1 if the product is neither advertised nor installed, 1 if the product is advertised but not installed, 2 if the product is installed but for a different user, or 5 if the product is already installed for the current user.
ProductVersion
Product version represented as a string in the format 00.00.0000. You must set a value for this property in the Property table.
ProgramFilesFolder
Full path to the user’s Program Files folder.
ProgramMenuFolder
Full path to the user’s Program folder in the Start menu.
RecentFolder
Full path to the current user’s Recent folder. Although this property has been dropped from the most recent SDK documentation, it still works.
RemoteAdminTS
Set to 1 when the system is configured for remote administration via Windows Terminal Services.
ReplacedInUseFiles
Set to 1 if the Installer replaces a file that’s in use (thus requiring a reboot to finish the installation).
RestrictedUserControl
Set to 1 if the user can’t change the value of restricted public properties.
RollbackDisabled
Set to 1 whenever rollback has been disabled by any means.
ScreenX
Width of the screen (in pixels).
ScreenY
Height of the screen (in pixels).
SecureCustomProperties
Semicolon-delimited list of public properties that should be treated as restricted public properties.
SendToFolder
Full path of the Send To folder for the current user.
ServicePackLevel
Major revision number of the most recent service
pack applied to the operating system
ServicePackLevelMinor
Minor revision number of the most recent service pack applied to the operating system.
SharedWindows
Set to 1 when the system is operating in shared
Windows mode.
ShellAdvtSupport
Set to 1 if the operating system supports advertising.
SourceDir
The root directory of the current installation package.
StartMenuFolder
Full path to the current user’s Start Menu folder
StartupFolder
Full path to the current user’s Startup folder.
System16Folder
Full path to the Windows System folder.
SystemFolder
Full path to the Windows System32 folder.
SystemLanguageID
Default language for the system. The Installer sets this by calling the GetSystemDefaultLangID API.
TempFolder
Full path to the user’s Temp folder
TemplateFolder
Full path to the user’s Templates folder
TerminalServer
Set to 1 when the Installer is running on Windows
Terminal Server.
Time
Current time in the format HH:MM:SS. 
TTCSupport
Set to 1 if the system supports .ttc (TrueType
Font Collection) files.
UILevel
2 for none, 3 for basic, 4 for reduced, or 5 for the full user interface.
UpdateStarted
Set to 1 when changes have been made to the user’s system.
UpgradeCode
A GUID representing allowable upgrades.
UserLanguageID
The default language ID for the current user. The
Installer sets this by calling the GetUserDefaultLangID API.
Version9X
If running on Windows 95 or 98, this is set to 100 times the major version of Windows plus the minor version of Windows.
VersionDatabase
Numeric version of the Installer database for the package being installed.
VersionNT
If running on Windows NT or Windows 2000, this is set to 100 times the major version of Windows plus the minor version of Windows.
VirtualMemory
Size of the current page file in megabytes.
WindowsBuild
Build number of the operating system. 
WindowsFolder
Full path to the Windows folder.
WindowsVolume
Root of the drive containing the Windows folder.