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