https://bugs.winehq.org/show_bug.cgi?id=45551
Bug ID: 45551 Summary: InstallSheld exits with 0x80004002, cannot find SECURITY.MySetFileSecurity Product: Wine Version: 3.13 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: haakobja@gmail.com Distribution: ---
Created attachment 61964 --> https://bugs.winehq.org/attachment.cgi?id=61964 +relay debug log
Hi!
I'm trying to install a game I have, but the InstallShield installer crashes when it cannot find the SECURITY.MySetFileSecurity method.
I get the following error message in the Wine logs: 0032:err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002.
https://bugs.winehq.org/show_bug.cgi?id=45551
Håkon haakobja@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Fedora
https://bugs.winehq.org/show_bug.cgi?id=45551
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Can you attach a normal log, including crash backtrace?
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #2 from Håkon haakobja@gmail.com --- Created attachment 61980 --> https://bugs.winehq.org/attachment.cgi?id=61980 Debug log
Here's a normal debug log for the InstallShield-installer. It should be mentioned that it is the InstallShield package for the game Flåklypa Grand Prix Gullutgave (Pinchcliffe Grand Prix Gold edition) that has this problem.
So far I'm not aware of any other applications needing the SECURITY.MySetFileSecurity method
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- The name "MySetFileSecurity" doesn't appear in the log though.
https://bugs.winehq.org/show_bug.cgi?id=45551
Håkon haakobja@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=45551
Håkon haakobja@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #61980|0 |1 is obsolete| |
--- Comment #4 from Håkon haakobja@gmail.com --- Created attachment 61981 --> https://bugs.winehq.org/attachment.cgi?id=61981 New debug-log
Added new log. This shows NtQueryValueKey being accessed. However, this does not show the method parameters.
Is it possible to print the parameters, or do I have to build Wine from source?
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- For method parameters you can use the debugging channels.
But: How did you get this log? Why do you think NtQueryValueKey is the issue here? And where did you get the "SECURITY.MySetFileSecurity" from?
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #6 from Håkon haakobja@gmail.com --- I think the installer does query after the SECURITY.MySetFileSecurity method and then throws an error when the NTQueryValueKey does not find it.
I'll attach a screenshot that shows that SECURITY.MySetFileSecurity is not found, however it is in Norwegian.
I got the log by starting the following script:
nohup wine Setup.exe & winedbg <<EOF bt all EOF
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #7 from Håkon haakobja@gmail.com --- Created attachment 61982 --> https://bugs.winehq.org/attachment.cgi?id=61982 Screenshot showing the error message
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #8 from Fabian Maurer dark.shadow4@web.de --- Is there a free download which can be used to reproduce the issue?
https://bugs.winehq.org/show_bug.cgi?id=45551
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wazeeahmed@gmail.com
--- Comment #9 from Jason Edmeades us@edmeades.me.uk --- *** Bug 39531 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #10 from Håkon haakobja@gmail.com --- (In reply to Fabian Maurer from comment #8)
Is there a free download which can be used to reproduce the issue?
I do not know if there's a free download which can reproduce the issue. But I tried adding a method stub, and now the installer get another error when it crashes. So the method is called from the installer.
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #11 from Håkon haakobja@gmail.com --- I could share my backup-files with you in order for you to create a patch. Or I'll have to try to find the documentation for the method and implement a stub of some kind.
I've never tried to create a patch for Wine. Is the development test driven? I guess there should be tests for checking that the method does what it is supposed to do?
But first I would need to implement a stub for the method. Right now I've only added the method to the spec, and then Wine says that I've made a call to an unimplemented method.
https://bugs.winehq.org/show_bug.cgi?id=45551
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #12 from Zebediah Figura z.figura12@gmail.com --- I don't think this is a matter of a missing stub. From your +relay log:
0032:Call KERNEL32.LoadLibraryA(028e38a0 "C:\users\hjahre\Temp\{524EE888-6836-4CB2-92EC-A10E8821345D}\security.dll") ret=0039fff8 0032:Ret KERNEL32.LoadLibraryA() retval=f78f0000 ret=0039fff8
...
0032:Call KERNEL32.GetProcAddress(f78f0000,028e3570 "MySetFileSecurity") ret=003a03fd 0032:Ret KERNEL32.GetProcAddress() retval=00000000 ret=003a03fd
It then tries to load C:\windows\system32\security.dll, which exists on Windows, but that doesn't export MySetFileSecurity.
Can you please provide a trace with +module?
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #13 from Fabian Maurer dark.shadow4@web.de --- (In reply to Håkon from comment #11)
I could share my backup-files with you in order for you to create a patch.
If that's legally possible, it probably would be the easiest for us.
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #14 from Håkon haakobja@gmail.com --- (In reply to Fabian Maurer from comment #13)
(In reply to Håkon from comment #11)
I could share my backup-files with you in order for you to create a patch.
If that's legally possible, it probably would be the easiest for us.
(In reply to Fabian Maurer from comment #13)
(In reply to Håkon from comment #11)
I could share my backup-files with you in order for you to create a patch.
If that's legally possible, it probably would be the easiest for us.
I've mailed you a link to my Google Drive. The game itself is out of sale, and the developers have only created an update for supporting Windows 7. So it's been unsupported for some years, as they've not created a new patch for newer versions of Windows.
The game itself was originally made with support for Win 95/98/ME/2000/XP.
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #15 from Håkon haakobja@gmail.com --- (In reply to Zebediah Figura from comment #12)
I don't think this is a matter of a missing stub. From your +relay log:
0032:Call KERNEL32.LoadLibraryA(028e38a0 "C:\users\hjahre\Temp\{524EE888-6836-4CB2-92EC-A10E8821345D}\security. dll") ret=0039fff8 0032:Ret KERNEL32.LoadLibraryA() retval=f78f0000 ret=0039fff8
...
0032:Call KERNEL32.GetProcAddress(f78f0000,028e3570 "MySetFileSecurity") ret=003a03fd 0032:Ret KERNEL32.GetProcAddress() retval=00000000 ret=003a03fd
It then tries to load C:\windows\system32\security.dll, which exists on Windows, but that doesn't export MySetFileSecurity.
Can you please provide a trace with +module?
I checked a bit more. Seems like the InstallShield setup was unpacked to Temp. Included in the installation was Security.dll.
So setting a native override for Security.dll worked like a charm.
I kind of feel a bit stupid for not checking this before, but I did not think about the temp-folders.
https://bugs.winehq.org/show_bug.cgi?id=45551
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Summary|InstallSheld exits with |InstallShield exits with |0x80004002, cannot find |0x80004002, cannot find |SECURITY.MySetFileSecurity |SECURITY.MySetFileSecurity | |(Wine's 'security.dll' is | |preferred over native, | |causing failure to load app | |provided library with same | |name) Ever confirmed|0 |1 CC| |focht@gmx.net Keywords| |Installer
--- Comment #16 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary.
The problem with app provided (private) libraries being ignored when Wine provides a builtin of the same name is a known issue ('DLL_WINE_PREATTACH' exists to mitigate that). There are many interesting behaviours/insecure uses of LoadLibrary(Ex) (https://docs.microsoft.com/en-us/windows/desktop/Dlls/dynamic-link-library-s...).
* bug 14980 ("Wine does not automatically use the riched20 installed by Office 2003/2007/2010/2013/2016") * bug 43472 ("R-Link 2 Toolbox crashes on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)")
Regards
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- (In reply to Anastasius Focht from comment #16)
Hello folks,
refining summary.
The problem with app provided (private) libraries being ignored when Wine provides a builtin of the same name is a known issue ('DLL_WINE_PREATTACH' exists to mitigate that). There are many interesting behaviours/insecure uses of LoadLibrary(Ex) (https://docs.microsoft.com/en-us/windows/desktop/Dlls/dynamic-link-library- search-order).
- bug 14980 ("Wine does not automatically use the riched20 installed by
Office 2003/2007/2010/2013/2016")
- bug 43472 ("R-Link 2 Toolbox crashes on startup (Wine's 'packager.dll' is
preferred over native, causing failure to load app provided library with same name)")
Regards
I don't think this is the problem; Wine doesn't provide a "security.dll".
https://bugs.winehq.org/show_bug.cgi?id=45551
--- Comment #18 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #17)
I don't think this is the problem; Wine doesn't provide a "security.dll".
Never mind, I was wrong. Not sure how I missed it before.