Please review fix for 6705913 "freetype_versioncheck.exe - Unable To Locate Component"

Tim Bell Tim.Bell at Sun.COM
Fri Aug 21 20:46:15 UTC 2009


Hi Igor:

> We can consider relaxing sanity check but it may end up in weird build 
> failures later on if there are multiple versions of freetype on the platform
> or if library was manually compiled and it is not ok. We had these 
> issues in the past but might be older (incompatible) versions of freetype
> are not very widely used anymore.

I filed RFE #6874788 on this question.  It should be visible outside Sun
in a few working days.

> Don't we have to have same workaround to all other exe files?
> If we absolutely need to have this then why it is not shared between all 
> other places?

Every .exe that uses MSVCR80.dll (Visual Studio 2005) or MSVCR90.dll (VS 2008)
must deal with .manifests, side-by-side assemblies, and so forth.

It is not too hard to get it working on your development machine by installing
Visual Studio, or installing the redistributable runtimes (vcredist_x86.exe) [1]

It is when you try to share your work with others, or transplant it to a test
machine that the executables will fail to run.

We can't ask everyone installing a JRE or JDK on Windows to install [1] first.
That would be a barrier to adoption.  So I am working towards getting our
installer to create what Microsoft calls a 'side-by-side' assembly and install
that on the client machine if it is not already there.

BTW: Our current releases work because they put a copy of msvcr71.dll into
C:/WINDOWS/system32/.  This trick was always vulnerable to having the file
replaced or deleted by some other application or installer.  The option
has been specifically ruled out by Microsoft for the newer runtimes.

Tim

[1] Microsoft Visual C++ 2008 Redistributable Package (x86)
http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf



More information about the build-dev mailing list