[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: TortoiseSVN installation overrides CRT and windows internal libraries

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Mon, 25 Jan 2016 19:45:33 +0100

On 25.01.2016 11:32, Ofek Shilon wrote:
> Hi and thanks for all your hard work! I'm running TortoiseSVN
> 1.9.3.27038 on Win10. The installation's bin directory includes
> multiple mfc140XXX.dll files, one msvcp140.dll and 40 items of the
> form api-ms-win-XXXX.dll. This seems to be a bug. The mfc/msvc dlls
> should be installed properly via a redistributable installer
> (https://www.microsoft.com/en-us/download/details.aspx?id=48145)
> which can be called from the main installer.

That would mean to ship two or more files instead of just one msi file.
Not an option.

Also: having the C-runtime dlls in the installation folder is *not* a
bug but allowed:
http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

see the point 6 at the bottom:
"App-local deployment of the Universal CRT is supported. To obtain the
binaries for app-local deployment, install the Windows Software
Development Kit (SDK) for Windows 10. The binaries will be installed to
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt. You will need to
copy all of the DLLs with your app"

> I'm not sure where the api-ms dlls came from, but in a proper Vista+
> installations these are *virtual dlls*, not real dlls, masking calls
> to regular system dlls. (More details here:
> https://msdn.microsoft.com/en-us/library/windows/desktop/hh802935(v=vs.85).aspx)

There are no "virtual" dlls. Don't know where you got that term, but
such things do not exist.
But a part of the c-runtime dlls are now installed in Windows directly
via Windows-Update. Problem is that we can not force users to install
those since that update is an optional update. So we have to ship those
dlls as well.

> Since the installer adds the bin folder to the %PATH%, various other
> programs resolve to these api-ms-win components, and some fail in
> very hard to track ways.

Then that would be a bug in those apps. The dll loading order is made so
that system dlls always take precedence. So if other apps suddenly load
the dlls from the TSVN bin folder, something really is wrong.
Unless of course they load the TSVN shell extension dll which is
happening often, but that is not a problem.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3156999
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2016-01-25 19:44:58 CET

This is an archived mail posted to the TortoiseSVN Users mailing list.