Installing MSI on locked files behind junction across drives
This article is going to save you hours of debugging and confusion with your customers
In a nut shell when installing MSI that have some files that are currently locked and you are using junction on the target directory that is configured on a different drive than you are in trouble because Windows installer (not mater what version):
- doesn't replace locked files on the fly while installing (when installing and junction is on the same drive / no junction the files are replaced on the fly)
- Because of the above windows installer scheduled the file move operation but it doesn't use the force flag and the files are not being replace after restart (because source and target already exist) – you can see in this article description of the PendingFileRenameOperations and in this article how to troubleshoot MoveFileEx operation
The critical issue here is that if by any chance your MSI replaced files that need to be registered (e.g. com) that the file is not replaced and scheduled after restart but the register operation is done at the time of installation using old file
The good thing is that this is approved as a bug by Microsoft , the bad news is that because it is a approved as a bug it will take ages to be fixed (sadly there is not other option)
So until this is resolved suggested not to use junction that span drives
Also this was tested and reproduced on windows 2003
[Update 3/Dec/2009] FINALLY we passed several triages at Microsoft and they agreed to have the issue of schedule of replace files to be fixed. we got private build that we are checking, i will update on details soon. (Applicable only for Windows Installer 4.5)
[Update 2/Feb/2010 fixed was tested and approved by us, KB was published but customer cannot download before opening ticket (should be free) ]
8 comments:
Do you know how we can track this bug with Microsoft? Is there a bug id number? I would like to know when there is a fix for it.
I can check with my TAM what is the bug number.
About time line i got update today that we should get private build in two days and we need to approve this is working until 18/sep and only than it will enter public fix schedule.
Thanks -- I am eager to hear whether the fix they provide you works.
Did Microsoft provide a fix to you for the locked files bug?
Sadly i am still waiting for the private devbug fix... should have been here Friday
Any more news on this issue? Have you received a private bug fix from Microsoft yet?
Still no progress, i never got such low quality of support!
We got private build on top of Windows Installer 4.5, we are going to validate
Post a Comment