Passing Parameters to Deferred Custom Actions

Download Report

Transcript Passing Parameters to Deferred Custom Actions


Windows Installer
engine for installation, maintenance and removal of Windows software

MSI File
a package containing installation information in OLE structured storage format

Orca
a tool to view and edit MSI installers

Wix
a toolset to author MSI installers

Standard Actions
typical functions performed during an installation or maintenance

Custom Actions
everything else





Launch an installed executable
Call a function in a DLL
Call a VB/Java script
Defer execution of actions
Progress information








50+ Types
Type 1: DLL file stored in a Binary stream
Type 2: EXE file stored in a Binary stream
Type 6: VBScript stored in a Binary stream
Type 18: EXE file installed with the product
Type 19: displays a message and aborts
Type 51: property set with formatted text
Type 39: concurrent installation support

VBScript File

Binary Stream

Custom Action Declaration

Custom Action Sequence

C++ DLL with function EXPORT

Binary Stream, Declaration and Sequence

General Database
MsiSetProperty, MsiGetProperty

Views
MsiViewFetch, MsiViewModify

Records
MsiCreateRecord, MsiFormatRecord

Summary
MsiGetSummaryInformation

State
MsiGetMode

Actions
MsiGetAction

Location
MsiGetSourcePath

UI
MsiEnableUIPreview

Selection
MsiGetFeatureCost


Immediate vs. Deferred Execution
Install/Uninstall
Immediate
Prepare Execution Script
Script
Execute
Commit
Deferred
Rollback




Both UI and Execution sequences
Runs in service or client process
Always: 0
FirstSequence: 256
once on first sequence

OncePerProcess: 512
once on client, once on server

ClientRepeat: 768
only on client after UI




No Properties
CustomActionData
Structured Data
Custom Tables


Compiler Extensions
Libraries

http://msiext.codeplex.com

Extensions:
◦ System Tools
copying, moving, template files
◦ User Privileges
managing local groups and users
◦ Java Tools
managing java archives
◦ Database and Data
MSSQL, Access and generic ODBC

Custom Actions:
◦ Strings, Security & Authentication, Cryptography, Xml, Tcp/IP

Tools:
◦ DSN
◦ ODBQ

Custom Actions
http://msdn.microsoft.com/en-us/library/aa368066(VS.85).aspx