On a machine where DS4Windows was installed from DS4Windows_VIIPERRC4.3_Setup_x64.exe and the installer was later deleted, uninstall aborts before removing anything:
w120: Detected partially cached package: CloseRunningApplicationsForUninstall,
missing payload: CloseRunningApplicationsForUninstall
e054: Failed to resolve source for payload ... container: WixAttachedContainer,
error: 0x80070002
e000: Failed while caching, aborting execution.
On disk, the package's cache directory exists but is empty:
DS4WindowsSetupActionsPreflight-… 1 file
DS4WindowsSetupActionsInfrastructure-… 1 file
DS4WindowsSetupActionsUninstallPreflight-… 0 files
Burn only caches a package's payload when the package is planned. The BA plans PostUninstallCleanup, CloseRunningApplicationsForUninstall and ViiperUsbipUninstall as RequestState.None during install, so their payloads are never cached. At uninstall they are finally planned, must be acquired, and fall back to the attached container — which resolves against the original setup executable.
Net effect: any install becomes unremovable once the user deletes the installer, which is the normal state of a machine after a while.
Planning them as RequestState.Cache on install and repair puts the payload on disk while the source is still available. Verified as a fix in a derivative; not yet exercised end to end.
On a machine where DS4Windows was installed from DS4Windows_VIIPERRC4.3_Setup_x64.exe and the installer was later deleted, uninstall aborts before removing anything:
w120: Detected partially cached package: CloseRunningApplicationsForUninstall,
missing payload: CloseRunningApplicationsForUninstall
e054: Failed to resolve source for payload ... container: WixAttachedContainer,
error: 0x80070002
e000: Failed while caching, aborting execution.
On disk, the package's cache directory exists but is empty:
DS4WindowsSetupActionsPreflight-… 1 file
DS4WindowsSetupActionsInfrastructure-… 1 file
DS4WindowsSetupActionsUninstallPreflight-… 0 files
Burn only caches a package's payload when the package is planned. The BA plans PostUninstallCleanup, CloseRunningApplicationsForUninstall and ViiperUsbipUninstall as RequestState.None during install, so their payloads are never cached. At uninstall they are finally planned, must be acquired, and fall back to the attached container — which resolves against the original setup executable.
Net effect: any install becomes unremovable once the user deletes the installer, which is the normal state of a machine after a while.
Planning them as RequestState.Cache on install and repair puts the payload on disk while the source is still available. Verified as a fix in a derivative; not yet exercised end to end.