https://bugs.winehq.org/show_bug.cgi?id=50433
Bug ID: 50433 Summary: 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field) Product: Wine Version: 6.0-rc4 Hardware: x86-64 OS: Linux Status: NEW Severity: trivial Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
I always have to remember that Wine uses 'Target' field/name from the 'CustomAction' table instead of the custom action's name when debugging custom actions. Fooled me quite a number of times in these 13 years.
I'm aware that very few people might be concerned/affected with this inconsistency but still.
https://docs.microsoft.com/en-us/windows/win32/msi/debugging-custom-actions
I requested the installer debugging aid in 2007 in bug 8243 ("Feature: Add MsiBreak to aid debugging custom actions"):
https://source.winehq.org/git/wine.git/commitdiff/60e95ee6e8ea4a4f43a6c170c9... ("msi: Add handling for MsiBreak.")
My follow-up comment https://bugs.winehq.org/show_bug.cgi?id=8243#c7 was ignored. Maybe because I didn't bother to create a follow-up bug and/or didn't complain loud enough ;-)
--- quote --- Please fix the evaluation to use "action" msi_custom_action_info member instead of "target" to make it feature compatible with Windows MSI server. --- quote ---
Some example (from bug 21987):
--- snip --- ... 01b0:trace:msi:ACTION_CustomAction Handling custom action L"CreateAdobePDFPrinter" (c41 L"AdobeIsf" L"SetupAdobePDFPrinter") ... 01b0:trace:msi:HANDLE_CustomType1 Calling function L"SetupAdobePDFPrinter" from L"C:\users\focht\Temp\msi48b7.tmp" ... 02f8:Ret PE DLL (proc=0160618A,module=01600000 L"msi48b7.tmp",reason=PROCESS_ATTACH,res=00000000) retval=1 ... 02f8:Ret KERNEL32.LoadLibraryW() retval=01600000 ret=100210f6 02f8:Call KERNEL32.GetProcAddress(01600000,0016df28 "SetupAdobePDFPrinter") ret=1002110a 02f8:Ret KERNEL32.GetProcAddress() retval=01602bea ret=1002110a ... --- snip ---
To have this work for Wine 'MsiBreak=SetupAdobePDFPrinter' is needed but 'MsiBreak=CreateAdobePDFPrinter' would be correct.
$ wine --version wine-6.0-rc4
Regards