https://bugs.winehq.org/show_bug.cgi?id=45208
--- Comment #9 from Zebediah Figura z.figura12@gmail.com --- I cannot for the life of me figure out what is going wrong here.
I can't find any simple explanation for why there are duplicate ProductCode entries for so many values. But even if I did I'm still kind of suspicious that this is even the problem. Without duplicates we get at least 390 unique entries, and, as I've stated in comment 3, Windows definitely can take less than 390 ms to execute a custom action.
More dead ends: * Both the ProcessBranding and ArpWrite actions are simply of type 1, with no extra flags or deferral. * The custom DLL is inserted in the Binary table (so there can't be any difference between that and using the File table at play here). * Tests already in Wine show that consecutive actions from the same source DLL don't preserve static state, and disassembly shows that the previous tick count is simply saved in a local variable. * Native msxml3 and msxml6 don't help. * Judging from their side effects, both actions are executed on Windows. (Namely, the keys mentioned in comment 5 by ProcessBranding, and the key HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Office14.SingleImage by ArpWrite).