[PATCH 3/3] msi: Defer the appropriate standard actions to the install script.

Zebediah Figura z.figura12 at gmail.com
Thu Sep 21 09:05:48 CDT 2017


On 09/21/2017 02:31 AM, Hans Leidekker wrote:
> On Wed, 2017-09-20 at 23:53 -0500, Zebediah Figura wrote:
>> diff --git a/dlls/msi/action.c b/dlls/msi/action.c
>> index 915ff173e9..b5ed7c75a8 100644
>> --- a/dlls/msi/action.c
>> +++ b/dlls/msi/action.c
>> @@ -7764,6 +7764,7 @@ static UINT ACTION_InstallSFPCatalogFile( MSIPACKAGE *package )
>>   
>>   static const struct
>>   {
>> +    BOOL deferred;
>>       const WCHAR *action;
>>       const UINT description;
>>       const UINT template;
>> @@ -7772,83 +7773,83 @@ static const struct
>>   }
>>   StandardActions[] =
>>   {
> [...]
>> +    { 0, szAllocateRegistrySpace, IDS_DESC_ALLOCATEREGISTRYSPACE, IDS_TEMP_ALLOCATEREGISTRYSPACE, ACTION_AllocateRegistrySpace, NULL },
>> +    { 0, szAppSearch, IDS_DESC_APPSEARCH, IDS_TEMP_APPSEARCH, ACTION_AppSearch, NULL },
>> +    { 0, szBindImage, IDS_DESC_BINDIMAGE, IDS_TEMP_BINDIMAGE, ACTION_BindImage, NULL },
>> +    { 0, szCCPSearch, IDS_DESC_CCPSEARCH, 0, ACTION_CCPSearch, NULL },
>> +    { 0, szCostFinalize, IDS_DESC_COSTFINALIZE, 0, ACTION_CostFinalize, NULL },
>> +    { 0, szCostInitialize, IDS_DESC_COSTINITIALIZE, 0, ACTION_CostInitialize, NULL },
>> +    { 1, szCreateFolders, IDS_DESC_CREATEFOLDERS, IDS_TEMP_CREATEFOLDERS, ACTION_CreateFolders, szRemoveFolders },
>> +    { 1, szCreateShortcuts, IDS_DESC_CREATESHORTCUTS, IDS_TEMP_CREATESHORTCUTS, ACTION_CreateShortcuts, szRemoveShortcuts },
>> +    { 1, szDeleteServices, IDS_DESC_DELETESERVICES, IDS_TEMP_DELETESERVICES, ACTION_DeleteServices, szInstallServices },
>> +    { 0, szDisableRollback, 0, 0, ACTION_DisableRollback, NULL },
>> +    { 1, szDuplicateFiles, IDS_DESC_DUPLICATEFILES, IDS_TEMP_DUPLICATEFILES, ACTION_DuplicateFiles, szRemoveDuplicateFiles },
>> +    { 0, szExecuteAction, 0, 0, ACTION_ExecuteAction, NULL },
>> +    { 0, szFileCost, IDS_DESC_FILECOST, 0, ACTION_FileCost, NULL },
>> +    { 0, szFindRelatedProducts, IDS_DESC_FINDRELATEDPRODUCTS, IDS_TEMP_FINDRELATEDPRODUCTS, ACTION_FindRelatedProducts, NULL },
>> +    { 0, szForceReboot, 0, 0, ACTION_ForceReboot, NULL },
>> +    { 0, szInstallAdminPackage, IDS_DESC_INSTALLADMINPACKAGE, IDS_TEMP_INSTALLADMINPACKAGE, ACTION_InstallAdminPackage, NULL },
>> +    { 0, szInstallExecute, 0, 0, ACTION_InstallExecute, NULL },
>> +    { 0, szInstallExecuteAgain, 0, 0, ACTION_InstallExecute, NULL },
>> +    { 1, szInstallFiles, IDS_DESC_INSTALLFILES, IDS_TEMP_INSTALLFILES, ACTION_InstallFiles, szRemoveFiles },
>> +    { 0, szInstallFinalize, 0, 0, ACTION_InstallFinalize, NULL },
>> +    { 0, szInstallInitialize, 0, 0, ACTION_InstallInitialize, NULL },
>> +    { 1, szInstallODBC, IDS_DESC_INSTALLODBC, 0, ACTION_InstallODBC, szRemoveODBC },
>> +    { 1, szInstallServices, IDS_DESC_INSTALLSERVICES, IDS_TEMP_INSTALLSERVICES, ACTION_InstallServices, szDeleteServices },
>> +    { 0, szInstallSFPCatalogFile, IDS_DESC_INSTALLSFPCATALOGFILE, IDS_TEMP_INSTALLSFPCATALOGFILE, ACTION_InstallSFPCatalogFile, NULL },
>> +    { 0, szInstallValidate, IDS_DESC_INSTALLVALIDATE, 0, ACTION_InstallValidate, NULL },
>> +    { 0, szIsolateComponents, 0, 0, ACTION_IsolateComponents, NULL },
>> +    { 0, szLaunchConditions, IDS_DESC_LAUNCHCONDITIONS, 0, ACTION_LaunchConditions, NULL },
>> +    { 0, szMigrateFeatureStates, IDS_DESC_MIGRATEFEATURESTATES, IDS_TEMP_MIGRATEFEATURESTATES, ACTION_MigrateFeatureStates, NULL },
>> +    { 0, szMoveFiles, IDS_DESC_MOVEFILES, IDS_TEMP_MOVEFILES, ACTION_MoveFiles, NULL },
>> +    { 1, szMsiPublishAssemblies, IDS_DESC_MSIPUBLISHASSEMBLIES, IDS_TEMP_MSIPUBLISHASSEMBLIES, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies },
>> +    { 1, szMsiUnpublishAssemblies, IDS_DESC_MSIUNPUBLISHASSEMBLIES, IDS_TEMP_MSIUNPUBLISHASSEMBLIES, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies },
>> +    { 0, szPatchFiles, IDS_DESC_PATCHFILES, IDS_TEMP_PATCHFILES, ACTION_PatchFiles, NULL },
> 
> If the criterion is making modifications to the system, why are MoveFiles and PatchFiles
> not deferred?
> 
> 

I took them from Sebastian's patch; I'll recheck them.



More information about the wine-devel mailing list