On Wed Oct 29 18:56:50 2025 +0000, Fabian Maurer wrote:
I asked for clarification, since I don't really understand what they mean. And rereading it now, unfortunately I still don't get it. The sharing violation happens because of CreateFileW, but CreateFileW behavior should be correct. I could add more tests or recheck the logic, but I'd need to understand what exactly.
Sure, CreateFile() behavior should be correct but we're mapping msi flags like MSI_OPEN_READONLY to OLE storage flags like STGM_DIRECT|STGM_READ|STGM_SHARE_DENY_WRITE, which in turn are mapped to CreateFile() flags. Something could be wrong there, so we'd want to verify these mappings. I also mentioned that patching msi files depends on the the local copy being writable. Native may not depend on it, or perhaps it doesn't keep the file open that way.