MSI: Adds the missing ExtendedType column in the CustomAction table

ICE06 WARNING Column: ExtendedType of Table: CustomAction is not defined in database.

https: //learn.microsoft.com/en-us/windows/win32/msi/ice06
https: //learn.microsoft.com/en-us/windows/win32/msi/customaction-table

Change-Id: I5f9368fedf421b23a397f5dcd77f383cb9f42ac5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166951
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
This commit is contained in:
kubak 2024-05-01 09:59:14 +02:00 committed by Mike Kaganski
parent 51436ecfd3
commit bf067777fe
7 changed files with 35 additions and 32 deletions

View file

@ -1,10 +1,10 @@
Action Type Source Target
s72 i2 S64 S255
Action Type Source Target ExtendedType
s72 i2 S72 S255 I4
CustomAction Action
setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users
setUserProfileNT 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
SetARPNoRemove 51 ARPNOREMOVE 1
NewProductFound 19 OOO_CUSTOMACTION_1
SameProductFound 19 OOO_CUSTOMACTION_2
setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users
setUserProfileNT 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
SetARPNoRemove 51 ARPNOREMOVE 1
NewProductFound 19 OOO_CUSTOMACTION_1
SameProductFound 19 OOO_CUSTOMACTION_2

View file

@ -111,6 +111,7 @@ ControlEvent Ordering Y 0 2147483647 An integer used to order several events
CreateFolder Component_ N Component 1 Identifier Foreign key into the Component table.
CreateFolder Directory_ N Directory 1 Identifier Primary key, could be foreign key into the Directory table.
CustomAction Action N Identifier Primary key, name of action, normally appears in sequence table unless private use.
CustomAction ExtendedType Y 0 2147483647 A numeric custom action type that extends code type or option flags of the Type column.
CustomAction Source Y CustomSource The table reference of the source of the code.
CustomAction Target Y Formatted Execution parameter, depends on the type of custom action
CustomAction Type N 1 32767 The numeric custom action type, consisting of source location, code type, entry, option flags.

View file

@ -1,14 +1,14 @@
Action Type Source Target
s72 i2 S64 S255
Action Type Source Target ExtendedType
s72 i2 S72 S255 I4
CustomAction Action
ISInitAllUsers 307 ALLUSERS 1
setAllUsersProfile 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
setUserProfile 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
NewProductFound 19 OOO_CUSTOMACTION_1
SameProductFound 19 OOO_CUSTOMACTION_2
SetLanguageSelected 51 LANG_SELECTED 1
ResetLanguageSelected 51 LANG_SELECTED 0
SetApplicationSelected 51 APP_SELECTED 1
ResetApplicationSelected 51 APP_SELECTED 0
SetAdminInstallProperty 51 ADMININSTALL 1
ISInitAllUsers 307 ALLUSERS 1
setAllUsersProfile 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
setUserProfile 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
NewProductFound 19 OOO_CUSTOMACTION_1
SameProductFound 19 OOO_CUSTOMACTION_2
SetLanguageSelected 51 LANG_SELECTED 1
ResetLanguageSelected 51 LANG_SELECTED 0
SetApplicationSelected 51 APP_SELECTED 1
ResetApplicationSelected 51 APP_SELECTED 0
SetAdminInstallProperty 51 ADMININSTALL 1

View file

@ -110,6 +110,7 @@ ControlEvent Ordering Y 0 2147483647 An integer used to order several events
CreateFolder Component_ N Component 1 Identifier Foreign key into the Component table.
CreateFolder Directory_ N Directory 1 Identifier Primary key, could be foreign key into the Directory table.
CustomAction Action N Identifier Primary key, name of action, normally appears in sequence table unless private use.
CustomAction ExtendedType Y 0 2147483647 A numeric custom action type that extends code type or option flags of the Type column.
CustomAction Source Y CustomSource The table reference of the source of the code.
# DON'T YOU EVEN ATTEMPT to fix the "Excecution" typo below - the MSI tools depend on that, and will fail if you change it.
CustomAction Target Y Formatted Excecution parameter, depends on the type of custom action

View file

@ -1,9 +1,9 @@
Action Type Source Target
s72 i2 S64 S255
Action Type Source Target ExtendedType
s72 i2 S72 S255 I4
CustomAction Action
ISInitAllUsers 307 ALLUSERS 1
setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users
setUserProfileNT 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
SetARPNoRemove 51 ARPNOREMOVE 1
ISInitAllUsers 307 ALLUSERS 1
setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE]
SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users
setUserProfileNT 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
SetARPNoRemove 51 ARPNOREMOVE 1

View file

@ -111,6 +111,7 @@ ControlEvent Ordering Y 0 2147483647 An integer used to order several events
CreateFolder Component_ N Component 1 Identifier Foreign key into the Component table.
CreateFolder Directory_ N Directory 1 Identifier Primary key, could be foreign key into the Directory table.
CustomAction Action N Identifier Primary key, name of action, normally appears in sequence table unless private use.
CustomAction ExtendedType Y 0 2147483647 A numeric custom action type that extends code type or option flags of the Type column.
CustomAction Source Y CustomSource The table reference of the source of the code.
CustomAction Target Y Formatted Execution parameter, depends on the type of custom action
CustomAction Type N 1 32767 The numeric custom action type, consisting of source location, code type, entry, option flags.

View file

@ -1005,7 +1005,7 @@ sub set_custom_action
# when the style NO_FILE is set, no searching for the file is needed, no filtering is done, we can add that custom action
if ( $styles =~ /\bNO_FILE\b/ )
{
my $line = $actionname . "\t" . $actionflags . "\t" . $customaction_exefilename . "\t" . $actionparameter . "\n";
my $line = $actionname . "\t" . $actionflags . "\t" . $customaction_exefilename . "\t" . $actionparameter . "\t\n";
push(@{$customactionidttable}, $line);
$infoline = "Added $actionname CustomAction into table $customactionidttablename (NO_FILE has been set)\n";
@ -1054,7 +1054,7 @@ sub set_custom_action
if ( ! $inbinarytable ) { $customaction_exefilename = $uniquename; } # the unique file name has to be added to the custom action table
my $line = $actionname . "\t" . $actionflags . "\t" . $customaction_exefilename . "\t" . $actionparameter . "\n";
my $line = $actionname . "\t" . $actionflags . "\t" . $customaction_exefilename . "\t" . $actionparameter . "\t\n";
push(@{$customactionidttable}, $line);
$included_customaction = 1;