https://bugs.winehq.org/show_bug.cgi?id=46317
Bug ID: 46317 Summary: ucrtbase doesn't install when running vcrun2015/vc_redist.x64.exe Product: Wine Version: 4.0-rc1 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: ucrtbase Assignee: wine-bugs@winehq.org Reporter: brendan@redmandi.com Distribution: ---
Created attachment 63050 --> https://bugs.winehq.org/attachment.cgi?id=63050 Change ucrtbase.dll version to 10.0.1.0
Install of ucrtbase fails when running vc_redist.x64.exe (to install Visual C++ Redistributable for Visual Studio 2015).
This is because of the following condition: 002b:trace:msi:calculate_install_state keeping L"ucrtbase.dll" (new version L"10.0.10137.0" old version 10.0.14393.2247)
I can see version 10.0.14393.2247 was introduced in commit 1622abbb081c1afe052d16769898976e90f98062 as a result of bug #45928. But the only requirement I could find in this bug is for the ucrtbase version to be greater than 10.0.x.
Therefore I was able to resolve this by changing the version in dlls/ucrtbase/version.rc to 10.0.1.0. Proposed patch is attached.
After applying this patch the output for the above condition is: 002b:trace:msi:calculate_install_state overwriting L"ucrtbase.dll" (new version L"10.0.10137.0" old version 10.0.1.0)
Note that winetricks is not impacted by this as it manually installs ucrtbase.dll.
Also note that the prefix must be configured as WinXP otherwise install fails with this condition: 0054:trace:msi:msi_get_property returning L"601" for property L"VersionNT" 0054:trace:msi:COND_GetString Got identifier L"502" 0054:trace:msi:MSI_EvaluateConditionW 0 <- L"(VersionNT = 501) OR (VersionNT = 502)"
https://bugs.winehq.org/show_bug.cgi?id=46317
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de, | |xerox.xerox2000x@gmail.com Keywords| |regression
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Seems sensible. CCing patch author..
@Louis Do you see a problem with this approach?
https://bugs.winehq.org/show_bug.cgi?id=46317
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- (In reply to Brendan McGrath from comment #0)
Therefore I was able to resolve this by changing the version in dlls/ucrtbase/version.rc to 10.0.1.0. Proposed patch is attached.
This doesn't seem sustainable. IIRC I've seen at least one application that requires an actually higher version than we currently report. I think the better solution is just to remove builtin ucrtbase before installing native.
https://bugs.winehq.org/show_bug.cgi?id=46317
Brendan McGrath brendan@redmandi.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #3 from Brendan McGrath brendan@redmandi.com --- (In reply to Zebediah Figura from comment #2)
This doesn't seem sustainable. IIRC I've seen at least one application that requires an actually higher version than we currently report. I think the better solution is just to remove builtin ucrtbase before installing native.
Ugh - that'd be right. I guess this isn't even a bug now that I think about it. I was comparing the current behaviour to 3.16 - but I should be comparing it to a version of Windows that has ucrtbase.dll version 10.0.14393.2247 on it.
Embarrassingly I didn't even think of deleting ucrtbase.dll as a work-around - but that works.
I guess the real bug is the behaviour I see when using ucrtbase.dll built-in vs native. I'll investigate this further and raise a bug against that. I'll close this one.
https://bugs.winehq.org/show_bug.cgi?id=46317
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Gijs Vermeulen gijsvrm@gmail.com --- Closing.