https://bugs.winehq.org/show_bug.cgi?id=46898
Bug ID: 46898 Summary: SIMATIC WinCC V15.1 Runtime installer fails in Windows 7 mode, reporting "The Microsoft security update KB3033929 was not found on your system." ('ksecdd.sys' missing with version resource) Product: Wine Version: 4.4 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
continuation of bug 46895
The installer aborts in Windows 7 mode (default WINEPREFIX WinVer):
--- snip --- $ pwd /home/focht/Downloads/SIMATIC WinCC Runtime Advanced V15.1
$ WINEDEBUG=+loaddll,+process,+seh,+wbemprox,+msi,+relay wine ./Start.exe
log.txt 2>&1
... 0054:fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000000,(nil),0x0001,0x00000000,0x124804c,0x1247f54): stub 0054:err:eventlog:ReportEventW L"18:38:12|ERROR |CheckFileTerm() |(01) File-Term. The term value {Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44} is not satisfied." 0056:fixme:advapi:DeregisterEventSource (0xcafe4242) stub --- snip ---
Condition can be found in installer .ini file (unicode):
--- snip --- $ grep -Hrni -a -A2 K.B.3.0.3.3.9.2.9
InstData/Resources/SIA2.ini:190:;// KB3033929 InstData/Resources/SIA2.ini-191-{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44} InstData/Resources/SIA2.ini-192-{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x32')};{File};{[SystemFolder]drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44} -- InstData/Resources/SIA2.ini:306:TermMessage44=Das Microsoft Sicherheitsupdate KB3033929 oder ein entsprechender Nachfolger wurde auf ihrem System nicht gefunden. Bitte installieren Sie das Update, bevor sie mit der Installation fortfahren. InstData/Resources/SIA2.ini-307-TermMessage45=Dummy InstData/Resources/SIA2.ini-308-TermMessage46=Das Microsoft Update KB2919355 oder ein entsprechender Nachfolger wurde auf ihrem System nicht gefunden. Bitte installieren Sie das Update, bevor sie mit der Installation fortfahren. -- InstData/Resources/SIA2.ini:363:TermMessage44=The Microsoft security update KB3033929 or a corresponding successor was not found on your system. Please install the update before you continue with the installation. --- snip ---
Link to Microsoft Security Advisory 3033929 (KB3033929):
https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2015/30...
The driver is present with all Windows versions since Vista. Fix is included in Windows 8+ by default.
Technical overview/tidbits:
https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-pr...
--- quote --- Microsoft Kernel Security Support Provider Interface (KSECDD.SYS) is a FIPS 140-2 Level 1 compliant, general purpose, software-based, cryptographic module residing at kernel mode level of Windows Vista operating system. KSECDD.SYS (versions 6.0.6000.16386, 6.0.6000.16870, and 6.0.6000.21067) runs as a kernel mode export driver, and provides cryptographic services, through their documented interfaces, to Windows Vista kernel components. The KSECDD.SYS encapsulates several different cryptographic algorithms in an easy-to-use cryptographic module accessible via the Microsoft CNG (Cryptography, Next Generation) API. It also supports several cryptographic algorithms accessible via a Fips function table request irp (I/O request packet). Windows Vista kernel mode components can use general-purpose FIPS 140-2 Level 1 compliant cryptography in KSECDD.SYS. --- quote ---
Two ways to fix/work around:
- switch WinVer for the installer to Windows 8 or later - provide a placeholder 'ksecdd.sys' with version resource
For demonstration I've copied one of Wine's existing placeholder which has a version resource 6.5.x as dummy.
NOTE: For 64-bit WINEPREFIX you need to call with 'wine64' to have it go in proper folder.
--- snip --- $ wine64 cmd.exe /c copy "c:\windows\system32\amstream.dll" "c:\windows\system32\drivers\ksecdd.sys" --- snip ---
After that the installer proceeds further. Relevant part of application log:
--- snip --- ... 18:54:09|.. |CheckTerms::CheckTerms() |(01) TERM: '{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44}' 18:54:09|.. |CheckTerms::CheckTerms() |(01) Condition='([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')' 18:54:09|.. |CheckTerms::CheckTerms() |(01) Condition is fulfilled. Checking term... 18:54:09|... |CheckTerms::CheckFileTerm() |(01) File-Term: Exists: True; Path: C:\windows\Sysnative\drivers\ksecdd.sys 18:54:09|... |CheckTerms::CheckFileTerm() |(01) File-Term: Required file version: 06.01.7601.18741_00.00.00.00 18:54:09|... |CheckTerms::CheckFileTerm() |(01) File-Term: Current file version: 06.05.01.900_00.00.00.00 18:54:09|... |CheckTerms::CheckFileTerm() |(01) File-Term. OK: {Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44} 18:54:09|.. |CheckTerms::CheckTerms() |(01) 18:54:09|.. |CheckTerms::CheckTerms() |(01) TERM: '{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x32')};{File};{[SystemFolder]drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44}' 18:54:09|.. |CheckTerms::CheckTerms() |(01) Condition='([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x32')' 18:54:09|.. |CheckTerms::CheckTerms() |(01) TERM will be ignored. TERM's condition is not fulfilled. --- snip ---
$ sha1sum SIMATIC_WinCC_Runtime_Advanced_V15_1.exe db1f97bb648b62fa1c5d974d7f2bcb6b4a9fd786 SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ du -sh SIMATIC_WinCC_Runtime_Advanced_V15_1.exe 1.3G SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ wine --version wine-4.4-188-gc988910cae
Regards
https://bugs.winehq.org/show_bug.cgi?id=46898
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://support.industry.si | |emens.com/cs/document/10976 | |1576/simatic-wincc-v15-1-ru | |ntime-(tia-portal)?dti=0&lc | |=en-US Keywords| |dotnet, download, Installer
https://bugs.winehq.org/show_bug.cgi?id=46898
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com Keywords| |patch
--- Comment #1 from Austin English austinenglish@gmail.com --- https://source.winehq.org/patches/data/162177
https://bugs.winehq.org/show_bug.cgi?id=46898
--- Comment #2 from Austin English austinenglish@gmail.com --- https://source.winehq.org/git/wine.git/commitdiff/107106220be454906a56e3ef0e...
https://bugs.winehq.org/show_bug.cgi?id=46898
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |107106220be454906a56e3ef0eb | |a095ea2a7f280 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/107106220be454906a56e3ef0e... ("ksecdd.sys: Add stub driver.")
Thanks Austin
NOTE: The installer still fails here due to a bug in Wine's fakedll support (.sys drivers are incorrectly handled in setupapi). This warrants an extra bug report.
--- snip --- $ WINEDEBUG=+seh,+relay,+msi,+version wine ./Start.exe >>log.txt 2>&1 ... 0087:Call KERNEL32.GetFullPathNameW(0032edb4 L"C:\windows\Sysnative\drivers\ksecdd.sys",00000105,0032eba8,00000000) ret=0036a1c3 0087:Ret KERNEL32.GetFullPathNameW() retval=00000027 ret=0036a1c3 ... 0087:Call KERNEL32.GetFileAttributesExW(00d70204 L"C:\windows\Sysnative\drivers\ksecdd.sys",00000000,0032f0a4) ret=0036bb1c 0087:Ret KERNEL32.GetFileAttributesExW() retval=00000001 ret=0036bb1c ... 0087:Call version.GetFileVersionInfoSizeW(00d70198 L"C:\windows\Sysnative\drivers\ksecdd.sys",0032f0e4) ret=03c507c9 ... 0087:Call KERNEL32.GetVersion() ret=7efeb65c 0087:Ret KERNEL32.GetVersion() retval=1db10106 ret=7efeb65c 0087:Ret version.GetFileVersionInfoSizeW() retval=00000000 ret=03c507c9 ... --- snip ---
Installer log:
--- snip --- ... 23:36:13|.. |CheckTerms::CheckTerms() |(01) TERM: '{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44}' 23:36:13|.. |CheckTerms::CheckTerms() |(01) Condition='([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')' 23:36:13|.. |CheckTerms::CheckTerms() |(01) Condition is fulfilled. Checking term... 23:36:13|... |CheckTerms::CheckFileTerm() |(01) File-Term: Exists: True; Path: C:\windows\Sysnative\drivers\ksecdd.sys 23:36:13|... |CheckTerms::CheckFileTerm() |(01) File-Term: Required file version: 06.01.7601.18741_00.00.00.00 23:36:13|... |CheckTerms::CheckFileTerm() |(01) File-Term: Current file version: 00.00.00.00_00.00.00.00 23:36:13|ERROR |CheckTerms::CheckFileTerm() |(01) File-Term. The term value {Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x64')};{File};{[WINDOWSFOLDER]Sysnative\drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44} is not satisfied. 23:36:13|INFO1 |CheckTerms::AddMessage() |(01) Adding message to the Terms-FAILURE Dialog: TermMessage44 23:36:13|.. |CheckTerms::CheckTerms() |(01) 23:36:13|.. |CheckTerms::CheckTerms() |(01) TERM: '{Condition=([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x32')};{File};{[SystemFolder]drivers\ksecdd.sys};{=>};{6.1.7601.18741};{TermMessage44}' 23:36:13|.. |CheckTerms::CheckTerms() |(01) Condition='([OS_VERSION_String]>=6.1 AND [OS_VERSION_String]<6.2 AND [OS_PLATFORM]='x32')' 23:36:13|.. |CheckTerms::CheckTerms() |(01) TERM will be ignored. TERM's condition is not fulfilled. ... --- snip ---
$ wine --version wine-4.5-222-g8ee1e3453e
Regards
https://bugs.winehq.org/show_bug.cgi?id=46898
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=46968
https://bugs.winehq.org/show_bug.cgi?id=46898
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.6.
https://bugs.winehq.org/show_bug.cgi?id=46898
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://support.industry.si |https://archive.org/downloa |emens.com/cs/document/10976 |d/simatic-win-cc-runtime-ad |1576/simatic-wincc-v15-1-ru |vanced-v-15-1/SIMATIC_WinCC |ntime-(tia-portal)?dti=0&lc |_Runtime_Advanced_V15_1.exe |=en-US |