On Fri, Feb 20, 2009 at 9:56 AM, Aric Stewart aric@codeweavers.com wrote:
Ok i am following you but.
James Hawkins wrote:
On Fri, Feb 20, 2009 at 4:45 AM, Aric Stewart aric@codeweavers.com wrote:
Hello,
. . .
No, I think the patch is wrong in that if you remove the original media and the stored cabs, the install will fail.
By that thinking then the whole function find_published_source is a horrible hack and should be removed as being wrong. It is not the case that these published sources should be accessible?
Na it's not a hack. Some patches require the old source to be available (older versions of Office patches for example.) But those all work fine, so I can't say whether the patch is correct or not without tests. My main concern is that we're now *hiding* other bugs because of the changed behavior.
Maybe this is not the correct fix for SP1. But is this patch incorrect for msi also?
I am looking at the REINSTALL logic and it looks like it may be tricky.
I think you're best bet is to append tests to tests/package.c:test_states() that set REINSTALL and REINSTALLMODE to various values and see what the states are. From there the necessary implementation should be apparent. The most important part of REINSTALL(MODE) is that it allows an already installed non-versioned file to not be reinstalled (in certain cases.) If I remember correctly, we needed this one for SP1. Also, REINSTALL is set to the features that are requested to be reinstalled, and we shouldn't try to reinstall anything else in that situation.