GNOME Bugzilla – Bug 596248
MSVCR71.dll not found error on startup
Last modified: 2018-06-29 22:28:35 UTC
Created attachment 143945 [details] screenshot of error dialog Upon launching GnuCash, an error dialog appears with the following message: "This application has failed to start because MSVCR71.dll was not found. Re-installing the application may fix this problem." After clicking "OK" to acknowledge the dialog, the application continues to load and appears to function normally. The only obvious symptom is the appearance of the error dialog itself. However, if MSVCR71.dll is needed by the application, it must be distributed with the application (see <http://msdn.microsoft.com/en-us/library/abx4dbyh(VS.71).aspx> "An application should use and redistribute msvcr71.dll, and it should avoid placing a copy or using an existing copy of msvcr71.dll in the system directory. Instead, the application should keep a copy of msvcr71.dll in its application directory with the program executable.")
We don't build any binary that depends on MSVCR71.dll (we would have to use the MS VIsual Studio Compiler, but we don't use it). Instead, I'd suspect you have some other DLL somewhere in your path which gets picked up accidentally, and this one in turn depends on MSVCR71.dll. The only real way to find this out is to install the dependency walker www.dependencywalker.com, then checking all .exe of the c:\Program Files\GnuCash\bin directory and also each of the DLLs in c:\Program Files\GnuCash\lib\gnucash to see whether any one of these will show a dependency on MSVCR71.dll. THen, dependency walker will also show by which intermediate step this dependency was pulled in, which usually will point out one DLL that was picked up accidentally in your PATH.
Confirmed by several people on the mailing list: > No nightly build or recently released 2.3.6 Win versions > will run on my XP or Vista boxes after the r18350 version. This is the most > recent build that will run successfully, nothing after it,
Re comment 2: On the mailing list Kim_Wood said r18350 still works, which is very weird. If this means the file gnucash-2.3.5-svn-r18350-setup.exe still runs, I am very puzzled because since r18350 no change has happened in SVN that would cause different dependencies in the win32 build. Changes that might change the win32 binary dependencies are IMHO only the following: r18347 r18345 r18343 r18339 r18330.
I can confirm that in v2.3.5 on a clean Windows 7 pro install, when you launch gnucash, the splash screen shows up and starts listing files, then you get an error "MSVCR71.DLL Not Found". If you click OK, a couple more files load on the splash screen and then gnucash fails to start and does not give any error. After some effort, I was able to get MSVCR71.DLL into \windows\system32\ directory (Thank You Microsoft "WFP")... Anyway, I no longer get the error message, but gnucash still fails to start.
*** Bug 597132 has been marked as a duplicate of this bug. ***
The following DLLs in our installation's "bin/" folder in r18363 exhibit a (direct or indirect) dependency on MSVCR71.DLL: ssleay32.dll libeay32.dll krb5_32.dll k5sprt32.dll gssapi32.dll comerr32.dll These DLLs are all installed from the "pgsql" package, which in turn is being downloaded as a tarball from the gnucash.org site. In other words, our postgresql binary package is flawed and must not be used in this way. We need to fix this on our side. On a side note, the three openssl DLLs in the pgsql-win32.tar.gz tarball (libeay32.dll, libssl32.dll, ssleay32.dll) silently overwrite those which we compile from source and which are needed for aqbanking's SSL connections. We must not overwrite openssl DLLs with others. This needs to be fixed as well.
The last part was not correct: (In reply to comment #6) > On a side note, the three openssl DLLs in the pgsql-win32.tar.gz tarball > (libeay32.dll, libssl32.dll, ssleay32.dll) silently overwrite those which we > compile from source and which are needed for aqbanking's SSL connections. Both statements in this sentence were not correct: aqbanking/gwenhywfar in their 4.x and 3.x versions, respectively, do not use or depend on openssl anymore. For that reason, the install.sh/dist.sh script didn't copy the locally compiled openssl DLLs into the distribution for quite some time already. Hence, they also haven't been overwritten by the pgsql module. The MSVCR71.DLL dependency still needs to be solved, though.
*** Bug 597235 has been marked as a duplicate of this bug. ***
*** Bug 597261 has been marked as a duplicate of this bug. ***
*** Bug 597335 has been marked as a duplicate of this bug. ***
Interesting, because this pgsql build has been distributed since May or June. In any case, I've repackaged the pgsql library to include msvcr71.dll.
r18370
Guys, I used the latest files provided in the tarball as Win32 dependency then also I am not able to start the Gnu Cash. It shows me the startup page and then nothing happens. Also currently I am running Gnu Cash 2.3.6 r18357. Any pointers how to run it.
Same here - On Windows7, I get the gnuCash splash screen and it runs through all of the files at the bottom of the splash, the same as on XP, but then just dies. Up side, I don't get any msvcr71.dll complaints now.
Final Comment - v2.3.7 now works on Windows 7 - BUT, you after installing, it will complain that the install may have failed and ask if you want to reinstall with XP Compatibility - Answer YES and the install will be successful.
Confirm that v2.3.7 starts up without errors on my machine running XP SP3. Much appreciated!
*** Bug 601996 has been marked as a duplicate of this bug. ***
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=596248. Please update any external references or bookmarks.