http://bugs.winehq.org/show_bug.cgi?id=10040
Summary: Steam crashes during the startup Product: Wine Version: 0.9.47. Platform: PC URL: http://steampowered.com/ OS/Version: Linux Status: NEW Keywords: download Severity: minor Priority: P2 Component: wine-crypt32 AssignedTo: wine-bugs@winehq.org ReportedBy: vitaliy@kievinfo.com
While starting steam crashes and writes the crash log. However it continues on and starts. It seems it allows some parts to fail start up but still be usable to say play games.
Here is a snipped from the +relay: ----- 0017:Call advapi32.RegOpenKeyExA(80000002,0e76a2a8 "SOFTWARE\Microsoft\Cryptography",00000000,00020019,7b6428c4) ret=0e702b59 0017:Ret advapi32.RegOpenKeyExA() retval=00000000 ret=0e702b59 0017:Call advapi32.RegQueryValueExA(00001910,0e76a2c8 "machineguid",00000000,7b6428cc,7b642ae0,7b6428c8) ret=0e702b87 0017:Ret advapi32.RegQueryValueExA() retval=00000002 ret=0e702b87 ...... 0017:Call KERNEL32.OutputDebugStringA(7b6414c0 "hardware.cpp (590) : Assertion Failed: bRet\n") ret=1002129f -----
So it's looking for [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography] machineguid
Which Wine does not have. Creating this value fixes the crash.
http://bugs.winehq.org/show_bug.cgi?id=10040
--- Comment #1 from Erwin Wildenburg xoxion@gmail.com 2007-11-07 09:57:03 --- (In reply to comment #0)
While starting steam crashes and writes the crash log. However it continues on and starts. It seems it allows some parts to fail start up but still be usable to say play games. Here is a snipped from the +relay:
0017:Call advapi32.RegOpenKeyExA(80000002,0e76a2a8 "SOFTWARE\Microsoft\Cryptography",00000000,00020019,7b6428c4) ret=0e702b59 0017:Ret advapi32.RegOpenKeyExA() retval=00000000 ret=0e702b59 0017:Call advapi32.RegQueryValueExA(00001910,0e76a2c8 "machineguid",00000000,7b6428cc,7b642ae0,7b6428c8) ret=0e702b87 0017:Ret advapi32.RegQueryValueExA() retval=00000002 ret=0e702b87 ...... 0017:Call KERNEL32.OutputDebugStringA(7b6414c0 "hardware.cpp (590) : Assertion Failed: bRet\n") ret=1002129f
So it's looking for [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography] machineguid Which Wine does not have. Creating this value fixes the crash.
I looked into my father's Windows Vista computer and looked for the registery value of it and here it is:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography] "MachineGuid"="80a1809c-4663-4e81-99c9-58934d2f0277"
http://bugs.winehq.org/show_bug.cgi?id=10040
--- Comment #2 from Vitaliy Margolen vitaliy@kievinfo.com 2007-11-07 14:57:41 --- That key is random and assigned during the install of the OS. msdn has few notes about when this can change as well.
In either case, this can't be something hard-coded in wine.inf for example. This _have to be_ randomly generated during the creation of the WINEPREFIX. The simplest solution would be use of "uuidgen" program (see Steam's HOWTO on appDB).
http://bugs.winehq.org/show_bug.cgi?id=10040
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|minor |normal
http://bugs.winehq.org/show_bug.cgi?id=10040
--- Comment #3 from Vitaliy Margolen vitaliy@kievinfo.com 2007-11-10 21:30:13 --- Still present with wine-0.9.49
http://bugs.winehq.org/show_bug.cgi?id=10040
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net 2007-11-11 06:42:19 --- Hello,
--- quote --- In either case, this can't be something hard-coded in wine.inf for example. This _have to be_ randomly generated during the creation of the WINEPREFIX. The simplest solution would be use of "uuidgen" program (see Steam's HOWTO on appDB). --- quote ---
Hard coded wouldn't be a good idea, yes. In steam this key is used (among other registry keys) to encrypt certain data on the client computer, for instance your steam password. The generated data is stored in ClientRegistry.blob
Anyway this key is very important and should be present in wine. There are several other appliances from microsoft (and 3rd party ones) which use this key (as seed) to compute information specific to client computers (mostly as companion/supplement to ProductId).
Regards
http://bugs.winehq.org/show_bug.cgi?id=10040
--- Comment #5 from Anastasius Focht focht@gmx.net 2007-11-11 11:25:08 --- Hello again,
I investigated the "MachineGuid" stuff further and collected some info which might lead to a clean solution without any wine.inf/wineprefixcreate hacks.
It seems whenever a handle for a cryptographic service provider (CSP) is queried (along with default key container), this "MachineGuid" key gets queried or (re)generated if missing.
To test this, export the "MachineGuid" key with your registry editor on your windows machine and delete it. Use a simple test case, which aquires default CSP just like this little snippet (nothing more needed):
--- snip --- HCRYPTPROV hCryptProv = NULL; if(CryptAcquireContext( &hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) { ... } ... --- snip ---
Start registry editor and you will see a new "MachineGuid" got generated. Restore your old (exported) key.
I suggest following: dlls/rsaenh/rsaenh.c -> RSAENH_CPAcquireContext() This should be the right place. Before any "dwFlags" action is taken, query the "MachineGuid" registry key. If the "MachineGuid" key does not exist create a new one. Use UuidCreate() and UuidToString() for that and store the result into registry.
Write a simple test case for verification:
1. if "MachineGuid" key exists, retrieve and store it, delete the key in registry 2. query a CSP (default one will be sufficient) 3. read the "MachineGuid" key, there should be a new one 4. restore old one if necessary
Regards
http://bugs.winehq.org/show_bug.cgi?id=10040
João Cochofel joaogoncalocochofel@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joaogoncalocochofel@gmail.co | |m
--- Comment #6 from João Cochofel joaogoncalocochofel@gmail.com 2008-02-23 17:06:06 --- Hi.
can any of you explane me in a simple way how to do that? =X
the problem is that i did not understand a thing of the explenation of Anastasius Focht.
best regards
http://bugs.winehq.org/show_bug.cgi?id=10040
--- Comment #7 from Vitaliy Margolen vitaliy@kievinfo.com 2008-02-23 21:14:57 --- (In reply to comment #6)
can any of you explane me in a simple way how to do that? =X
No. Refer to Application Database Steam application. Bugzilla is not a support forum.
http://bugs.winehq.org/show_bug.cgi?id=10040
Ben Hodgetts (Enverex) ben@atomnet.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |11779
http://bugs.winehq.org/show_bug.cgi?id=10040
Bug 10040 depends on bug 11779, which changed state.
Bug 11779 Summary: Recent kernel32 patch breaks CD checks and copy protection http://bugs.winehq.org/show_bug.cgi?id=11779
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=10040
Bug 10040 depends on bug 11779, which changed state.
Bug 11779 Summary: Recent kernel32 patch breaks CD checks and copy protection http://bugs.winehq.org/show_bug.cgi?id=11779
What |Old Value |New Value ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |
http://bugs.winehq.org/show_bug.cgi?id=10040
Bug 10040 depends on bug 11779, which changed state.
Bug 11779 Summary: Recent kernel32 patch breaks CD checks and copy protection http://bugs.winehq.org/show_bug.cgi?id=11779
What |Old Value |New Value ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=10040
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|joaogoncalocochofel@gmail.co| |m | Depends on|11779 |
--- Comment #8 from Vitaliy Margolen vitaliy@kievinfo.com 2008-03-08 12:34:28 --- Still not fixed in wine-0.9.57. This is major problem - number of apps read this registry key for their own use. And rely on it to be present and be unique.
http://bugs.winehq.org/show_bug.cgi?id=10040
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |critical Target Milestone|--- |1.0.0
--- Comment #9 from Vitaliy Margolen vitaliy@kievinfo.com 2008-03-22 12:07:08 --- Still present in wine-0.9.58. Setting to critical and targeting to 1.0. This bug is easy to fix but can (and will) break lots of apps.
http://bugs.winehq.org/show_bug.cgi?id=10040
Kai Blin kai.blin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
--- Comment #10 from Kai Blin kai.blin@gmail.com 2008-03-24 16:40:26 --- Looking into it.
http://bugs.winehq.org/show_bug.cgi?id=10040
Kai Blin kai.blin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED
--- Comment #11 from Kai Blin kai.blin@gmail.com 2008-03-25 16:57:37 --- Juan fixed that bit in 4c984e089a. Thanks Juan.
http://bugs.winehq.org/show_bug.cgi?id=10040
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2008-04-04 10:05:44 --- Closing bugs fixed in 0.9.59.
http://bugs.winehq.org/show_bug.cgi?id=10040
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9ea9eaaa81dbd852962aedaf341 | |a48634cfe6ae6 Component|crypt32 |advapi32 Severity|critical |normal