fdo#43989 let unopkg.exe run with elevated privileges during install
... so it can do the pre-registration of bundled extensions in INSTALLLOCATION/share/prereg/bundle. The meaning of Type of custom action is the following: msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate + msidbCustomActionTypeCommit = 3585 So it is a binary in a dll from the MSI itself, it runs deferred with system privileges and after commit, because msvcrt90.dll is available only after commit. The same type was chosen for the removing part, it works. Change-Id: I14c347b5cbc47789eb0484769a676703361c2193
This commit is contained in:
@@ -178,21 +178,21 @@ End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Register_Extensions
|
||||
Name = "RegisterExtensions";
|
||||
Typ = "1";
|
||||
Typ = "3585";
|
||||
Source = "shlxtmsi.dll";
|
||||
Target = "RegisterExtensions";
|
||||
Inbinarytable = 1;
|
||||
Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "behind_InstallFinalize");
|
||||
Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "behind_InstallFinalize");
|
||||
Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "InstallFinalize");
|
||||
Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "InstallFinalize");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Remove_Extensions
|
||||
Name = "RemoveExtensions";
|
||||
Typ = "65";
|
||||
Typ = "3585";
|
||||
Source = "shlxtmsi.dll";
|
||||
Target = "RemoveExtensions";
|
||||
Inbinarytable = 1;
|
||||
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "FileCost");
|
||||
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "InstallFinalize");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Set_Admininstall
|
||||
|
Reference in New Issue
Block a user