Can you please point me to some good documentation for creating a MSI custom action?
Custom actions provide a generalized way of extending the Windows Installer engine. Due to the fact it's a generalized extension mechanism, it's difficult to provide a universal cookbook for custom actions. I suggest starting with the Windows Installer portion of the Platform SDK which contains details on the base constructs as well as a few custom action recipes. MSDN also has a few examples of how other Microsoft technologies have used custom actions to configure their underlying technologies.
Changing the Target Location for a Directory
Hiding the Cancel Button During an InstallationCustom Action Sources
Synchronous and Asynchronous Custom Actions
Rollback Custom Actions
Commit Custom Actions
Deferred Execution Custom Actions
Executable Files
Dynamic-Link Libraries
Scripts
Formatted Text Custom Actions
Error Message Custom Actions
Nested Installation Actions
Custom Action SecurityInvoking Custom Actions
Sequencing Custom Actions
Obtaining Context Information for Deferred Execution Custom Actions
Adding Custom Actions to the ProgressBar
Debugging Custom Actions
Determining UI Level from a Custom Action
Uninstalling Custom Actions
Returning Error Messages from Custom Actions
Setting a Restore Point from a Custom Action
Functions Not for Use in Custom Actions
Changing the System State Using a Custom Action
Accessing the Current Installer Session from Inside a Custom Action
Accessing a Database or Session from Inside a Custom Action
Using a Custom Action to Launch an Installed File at the End of the InstallationAuthoring the Launch Custom Action
Adding Launch to the CustomAction and Binary Tables
Adding a Control Event at the End of the Installation to Run LaunchUsing a Custom Action to Create User Accounts on a Local Computer
Authoring the Custom Actions
Adding a Custom CustomUserAccounts Table
Authoring the CustomAction Table
Authoring the ActionText and Error Tables
Authoring the InstallExecuteSequence Table
Authoring the User Interface for Password Input
Securing the installationSummary List of All Custom Action Types
Custom Action Type 1
Custom Action Type 2
Custom Action Type 5
Custom Action Type 6
Custom Action Type 7
Custom Action Type 17
Custom Action Type 18
Custom Action Type 19
Custom Action Type 21
Custom Action Type 22
Custom Action Type 23
Custom Action Type 34
Custom Action Type 35
Custom Action Type 37
Custom Action Type 38
Custom Action Type 39
Custom Action Type 50
Custom Action Type 51
Custom Action Type 53
Custom Action Type 54
Custom Action Execution Scheduling Options
Custom Action Hidden Target Option
Custom Action In-Script Execution Options
Custom Action Return Processing Options
Custom Action Return Values
Return Values of JScript and VBScript Custom ActionsPreventing an Old Package from Installing Over a Newer Version
Uninstallable Patches
Uninstalling Patches
Patch Uninstall Custom ActionsInternal Consistency Evaluators - ICEs
Windows Installer on 64-bit Operating Systems
Using 64-Bit Windows Installer Packages
CustomAction Table
MsiPatchMetadata Table
LockPermissions Table
here’s some other write-ups others have done around using custom actions to address their aspect of technology
Media Center Add-In:
Windows XP Media Center Edition SDK Creating a Windows Installer File for an Add-in
Smart Tags and VSI:
Deploying Smart Tag DLLs by Using the Visual Studio Installer (Smart Tags Technical Articles)
SQL and Script Custom Actions:
Scripting a Custom Database Installation (SQL Server Magazine 2001)
SharePoint WebParts:
Using Wppackager to Package and Deploy Web Parts for Microsoft SharePoint Products and Technologies
Business Portal:
Adding custom actions to the installer
MSDE 2000:
DIFx:
PocketPC:
Developing and Deploying Pocket PC Setup Applications (Pocket PC (General) Technical Articles)
[Author: Robert Flaming]
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at https://www.microsoft.com/info/cpyright.htm.
Comments
Anonymous
May 31, 2009
PingBack from http://indoorgrillsrecipes.info/story.php?id=2212Anonymous
June 16, 2009
PingBack from http://fixmycrediteasily.info/story.php?id=6518Anonymous
June 19, 2009
PingBack from http://mydebtconsolidator.info/story.php?id=7489