Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch...

4
Patch Uninstall Custom Actions

Transcript of Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch...

Page 1: Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch uninstall custom actions Patch Uninstalls and Custom.

Patch Uninstall Custom Actions

Page 2: Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch uninstall custom actions Patch Uninstalls and Custom.

04/20/23 Microsoft Confidential 2

Requirement: Support for patch uninstall custom actions

Patch Uninstalls and Custom Actions

SQLSQL

Patch SQL

Install SQL Apply a SQL Patch

In addition to patching the database engine, the patch runs custom actions that create new tables that are valid only for this version of the engine.

Uninstall the SQL Patch

SQL

There is no way for the patch being uninstalled to run a custom action. This means state of the system not truly back to pre-patched state.

Design Change: Provide a new custom action type that can be run during a patch uninstall

Page 3: Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch uninstall custom actions Patch Uninstalls and Custom.

Anatomy of a Windows Installer Patch

Target MSITarget Files

Upgrade MSI

Upgrade Files

MSPTransform Target to

Upgrade

Payload

Target MSI + Transform = Upgrade MSI

Payload = Σ(Upgrade File - Target File)

Page 4: Patch Uninstall Custom Actions. 11/22/2015Microsoft Confidential2 Requirement: Support for patch uninstall custom actions Patch Uninstalls and Custom.

Patch Uninstall Custom Actions: Under the hoods

MSI Datastore

SQL

Cached SQL MSI

Install SQL Apply a SQL Patch

Cached SQL MSP

Uninstall the SQL Patch

SQL 6.0

SQL PatchCustom actions to patch and

un-patch the database

SQL 6.1

Cached SQL MSI SQL MSP

In-memory SQL MSI with the patch CA

New Table

In-memory SQL MSI with the un-patch CA

Cached SQL MSP