Bug 1314 - Lookup paths for msvcr100.dll do not include C:\Windows\SysWOW64
Summary: Lookup paths for msvcr100.dll do not include C:\Windows\SysWOW64
Status: RESOLVED WORKSFORME
Alias: None
Product: PulseView
Classification: Unclassified
Component: Portability (show other bugs)
Version: unreleased development snapshot
Hardware: x86 Windows
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-17 10:25 CEST by chinorui
Modified: 2019-04-28 21:59 CEST (History)
1 user (show)



Attachments
Comparison between tho DLL's (137.96 KB, image/jpeg)
2018-10-17 11:02 CEST, chinorui
Details

Note You need to log in before you can comment on or make changes to this bug.
Description chinorui 2018-10-17 10:25:29 CEST
I don't know why, but in my Windows 10 VMWare virtual machine, after installing the "Microsoft Visual C++ 2010 Redistributable Package" Spanish language pack (https://www.microsoft.com/en-us/download/details.aspx?id=5555), the mentioned DLL is installed in C:\Windows\SysWOW64

When you run Pulseview.exe, Sysinternals' Process Monitor shows that it seems to look for msvcr100.dll in these locations:
C:\Program Files (x86)\sigrok\PulseView\MSVCR100.dll
C:\Windows\System32\MSVCR100.dll
C:\Windows\System\MSVCR100.dll
C:\Windows\MSVCR100.dll
C:\Program Files (x86)\sigrok\PulseView\MSVCR100.dll
C:\ProgramData\Oracle\Java\javapath\MSVCR100.dll
C:\Windows\System32\MSVCR100.dll
C:\Windows\MSVCR100.dll
C:\Windows\System32\wbem\MSVCR100.dll
C:\Windows\System32\WindowsPowerShell\v1.0\MSVCR100.dll
C:\Program Files\Sysinternals\MSVCR100.dll
C:\Python27\MSVCR100.dll

If the dll is copied to the fisrt path ( C:\Program Files (x86)\sigrok\PulseView\MSVCR100.dll ) the error doesn't appear any more.

I think it would be good for your app looking for the DLL in C:\Windows\SysWOW64

--- --- --- --- --- --- --- --- --- --- --- --- 

Unfortunately, this doesn't solve completely my problem, as this new error is presented (sorry for being in Spanish), but that is a different issue.

- System 

  - Provider 

   [ Name]  Application Popup 
   [ Guid]  {47BFA2B7-BD54-4FAC-B70B-29021084CA8F} 
 
   EventID 26 
 
   Version 0 
 
   Level 4 
 
   Task 0 
 
   Opcode 0 
 
   Keywords 0x8000000000000000 
 
  - TimeCreated 

   [ SystemTime]  2018-10-17T08:15:56.045650800Z 
 
   EventRecordID 16072 
 
   Correlation 
 
  - Execution 

   [ ProcessID]  648 
   [ ThreadID]  676 
 
   Channel System 
 
   Computer DESKTOP-3VD88JB 
 
  - Security 

   [ UserID]  S-1-5-18 
 

- EventData 

  Caption pulseview.exe - Error de la aplicación 
  Message La aplicación no se pudo iniciar correctamente (0xc000007b). Haga clic en Aceptar para cerrarla.
Comment 1 chinorui 2018-10-17 11:02:04 CEST
Created attachment 471 [details]
Comparison between tho DLL's
Comment 2 chinorui 2018-10-17 11:12:06 CEST
I've resolved the second issue: 
I've looked for msvcr100.dll in my system. 

It's located also in the default java path (C:\Program Files\Java\jre1.8.0_92\bin). This java version is identified as 1.8.0_92-b14
The other location is and it is put there by the installer "vcredist_x86.exe" version 10.0.30319.01

If I put that DLL in the Pulseview directory the application runs perfectly.
If I put the DLL installed by the microsoft installer, the error 0xc000007b is reported and it fails to launch.

I have compared the two DLL and it seems that the JAVA one is newer (although was installed in the system several months ago, precisely from 2016 may 19th). The comparison is attached.

The JAVA one is file version      10.0.40219.325
The microsoft one is file version 10.0.30319.1

I don't know what version Pulseview expects, and neither wy microsoft offers in the web a version alder than the Java one, but those are the details in my case.
Comment 3 Uwe Hermann 2019-03-21 18:04:51 CET
Hi, it sounds like this might be an issue related to which "Microsoft Visual C++ 2010 Redistributable Package" is used.

Previously we only used the x86 version and only documented that in the wiki, but recent versions of libsigrokdecode now require the matching x86 or x64 versions of the "Microsoft Visual C++ 2010 Redistributable Package", depending on which system you use and which PulseView build (32bit or 64bit) you use.

The new docs are here:
https://sigrok.org/wiki/Windows#I_cannot_start_sigrok-cli_or_PulseView:_error_Oxc0150002

Please let us know if installing the correct one solves your specific issue, then we can close the bug report. Thanks!
Comment 4 Uwe Hermann 2019-04-28 21:59:41 CEST
Closing, since this seems to be working as expected (see my last comment) and there was no feedback from the reporter. If there are any remaining issues, please feel free to re-open, though.