Dear developers,
are the string resource IDs (IDS_*) in crypt32.dll supposed to be compatible to the native Microsoft DLL? It looks like the strings wine has starting at 1000 are based at 8000 in the crypt32.dll provided with XP. Since SP2, crypt32.dll has extra strings (e.g. at 7501 and following), which are not included in wine's version of the DLL.
The reason I am asking is that the native rsaenh.dll fails to load because of failing GetStringW calls for crypt32.dll. It is supposed to fail, or should wine be made more compatible.
In the latter case: How do we get string tables that are OK to use in Wine? Surely it is not allowed to just copy them from the Microsoft executable, but in the end, for 100% compatibility, we would have to provide an exact copy. Is there any policy in Wine?
Regards, Michael Karcher
are the string resource IDs (IDS_*) in crypt32.dll supposed to be compatible to the native Microsoft DLL?
Only if an app depends on this.
The reason I am asking is that the native rsaenh.dll fails to load because of failing GetStringW calls for crypt32.dll. It is supposed to fail, or should wine be made more compatible.
That's interesting. We could probably change the string IDs to match to get native rsaenh to load. While we don't necessarily need to provide compatibility for native rsaenh, it can't hurt. A patch would be welcome.
In the latter case: How do we get string tables that are OK to use in Wine? Surely it is not allowed to just copy them from the Microsoft executable, but in the end, for 100% compatibility, we would have to provide an exact copy. Is there any policy in Wine?
IANAL, but I'll give my opinion based on a limited understanding of the relevant cases. It's not okay to copy them, as the strings themselves are likely copyrighted material. The IDs, however, are part of the interface, and may be copied. So, if all that's needed is for e.g. IDS_AUTHORITY_KEY_ID to have value 8000, that's fine. It's not necessary to copy Microsoft's text to achieve that. --Juan