Is renaming an unmodified Visual C++ Runtime DLL allowed for redistribution?

nhpokon 0 Reputation points
2026-08-21T14:01:33.6166667+00:00

Subject:

Is renaming an unmodified Visual C++ Runtime DLL allowed for redistribution?

We distribute a Windows x64 desktop application that includes the official

NumPy 2.5.1 Windows wheel.

That wheel was processed by delvewheel and contains the Microsoft Visual C++

Runtime DLL msvcp140.dll under a content-hash filename:

msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll

We verified that this DLL is byte-for-byte identical to msvcp140.dll from

the official Microsoft Visual C++ Redistributable 14.40.33810:

  • identical file size
  • identical SHA-256
  • valid Microsoft Authenticode signature
  • OriginalFilename remains msvcp140.dll
  • no bytes in the DLL were modified

Only the filesystem filename was changed by delvewheel, and the dependent

Python extension modules were adjusted to reference that name.

Microsoft's redistribution documentation refers to distributing the

Redistributable files in "unmodified form".

Could you clarify whether changing only the filesystem filename, while

keeping the Microsoft-signed binary byte-for-byte unchanged, is permitted

under the Visual C++ Runtime redistribution terms?

Specifically:

  1. Does "unmodified form" apply only to the file contents, or also require

retaining the original filename?

  1. Is filename-only renaming permitted if the binary and Authenticode

signature remain unchanged?

  1. If not, should applications instead use the original msvcp140.dll name

or require installation of the official VC Redistributable?

Thank you.Subject:

Is renaming an unmodified Visual C++ Runtime DLL allowed for redistribution?

We distribute a Windows x64 desktop application that includes the official

NumPy 2.5.1 Windows wheel.

That wheel was processed by delvewheel and contains the Microsoft Visual C++

Runtime DLL msvcp140.dll under a content-hash filename:

msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll

We verified that this DLL is byte-for-byte identical to msvcp140.dll from

the official Microsoft Visual C++ Redistributable 14.40.33810:

  • identical file size
  • identical SHA-256
  • valid Microsoft Authenticode signature
  • OriginalFilename remains msvcp140.dll
  • no bytes in the DLL were modified

Only the filesystem filename was changed by delvewheel, and the dependent

Python extension modules were adjusted to reference that name.

Microsoft's redistribution documentation refers to distributing the

Redistributable files in "unmodified form".

Could you clarify whether changing only the filesystem filename, while

keeping the Microsoft-signed binary byte-for-byte unchanged, is permitted

under the Visual C++ Runtime redistribution terms?

Specifically:

  1. Does "unmodified form" apply only to the file contents, or also require

retaining the original filename?

  1. Is filename-only renaming permitted if the binary and Authenticode

signature remain unchanged?

  1. If not, should applications instead use the original msvcp140.dll name

or require installation of the official VC Redistributable?

Thank you.

Developer technologies | C++
Developer technologies | C++

A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Bruce (SqlWork.com) 84,951 Reputation points
    2026-08-22T20:29:54.69+00:00

    This is user supported forum and you can not get definitive licensing answers. You should contact your Microsoft rep or open a support ticket.

    Note: you could static link to avoid the issue.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.