On 20-06-2012 22:06, Gerald L Collins wrote:
John,
Your Openssl package should have a manifest file with the same name
as the executable with a .manifest extension. I.E. openssl.exe would
have openssl.exe.manifest . In that manifest file it tells you what
version of libraries it is looking for.
For example part of a manifest file one of my executables has looks
like below:
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT'
version='9.0.21022.8' processorArchitecture='x86'
publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
The version should point you to the proper set to load. Hope this helps.
In most correctly linked exe and dll files, this is stored inside the
file as a PE file resource. A quick trick is to open the exe file in a
text viewer and search for the string "dependentAssemply", if the
manifest is there, the XML file should appear in clear text near the end
of the file. (Of cause there are APIs and tools to follow the various
header fields to the exact location that the system will look, but the
text viewer is a quick and dirty way that usually gets the right result).
Gerald Collins
Senior Member Technical Staff, Programmer / Analyst
CSC
8 Executive Drive, Suite 300, Fairview Heights, IL 62208 North
American Public Sector | p: +1-618-632-9252 x410 | | gcoll...@csc.com
| www.csc.com
*From:* "John" <jw72...@verizon.net> <mailto:jw72...@verizon.net>
*To:* openssl-users@openssl.org <mailto:openssl-users@openssl.org>
*Date:* 06/20/2012 01:13 PM
*Subject: Re: Win32OpenSSL.html*
*Sent by:* owner-openssl-us...@openssl.org
<mailto:owner-openssl-us...@openssl.org>
------------------------------------------------------------------------
"John A. Wallace" <jw72...@verizon.net> <mailto:jw72...@verizon.net>
wrote in
message news:<00a701cd4f01$2b569ab0$8203d010$@net>...
Hello.
In this instance I am using 64-bit Win7 on a laptop in a home network.
When I downloaded this version of OpenSSL
http://slproweb.com/download/Win64OpenSSL_Light-1_0_1c.exe, during
installation it alerted me about not finding but needing the Visual
C++ 2008 Redistributable. I was a bit surprised to see this alert
because I could see that I already had several other such
Redistributables installed on my system. These are what I currently had:
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.17
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.4148
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161
Apparently, this version of OpenSSL required a different one, so I
went online hunting down what I could find along these lines until
coming across another one that seemed to suffice, namely, this one:
Microsoft Visual C++ Redistributable - x64 9.0.21022
I was lucky, I suppose, in that I did not have to spend much time
looking around before I found one that would fit the bill and
satisfy and satisfy its requirements. However, to be honest, I am no
programmer and, therefore, I am not at all sure how many different
versions of the 2008 Redistributable are floating around. In the
alert that I got during the installation there was no mention of any
specific version at all.
In general, how would a person know which of these version might be
needed without having to go through a hunt and peck approach while
looking for one of them? This is an awesome product, but it would be
swell also, if possible, to tweak the installation process with a
little more information about its dependencies under the
circumstances. Or am I seeming too picky about it? Thanks.
In fairness I should add to this explanation that I did in fact see
on the same website where a number of versions of the “C++ 2008
Redistributable” were also available for download. Even so, when I
clicked on the download link of the one identified as the correct
version for my installation, it directed me to a Microsoft download
site on which it stated that the system requirements for this
particular version included a number of other operating systems, but
it did not include mine. Therefore, I was not sure about whether it
was appropriate for my situation. It turns out that it was
sufficient, but, again, the Microsoft instructions were not
adequately prepared for efficiency. Thanks.
After downloading the version listed in the XML manifest, you need to do
these additional steps (steps 1 to 3 are only needed if you have not
already installed KB2718704 <http://support.microsoft.com/?kbid=2718704>
which was released on May 31 to stop an attack that falsifies
Microsoft's own signature on Windows Updates and ActiveX controls, the
steps ensure the update itself is not falsified):
1. Temporarily disable Windows Update and ActiveX support, even for
trusted sites such as Microsoft.
2. Manually Download the server version of Microsoft KB2718704
<http://support.microsoft.com/?kbid=2718704>, right click the
downloaded file (Windows6.1-KB2718704-x64.msu for Win7 x64), select
properties and look at the digital signatures tab. Open the details
of the signature and make sure it is signed by Microsoft AND that
the "certification path" does /not/ include any of the 3 bad
certificates listed in the KB2718704 support article. If all is ok,
install the file.
3. Open a command prompt "As Administrator" and run the following 4
commands (note the period in the 3rd command, there should be an
error message about "in use", it is intentional):
cd %SystemRoot%\SoftwareDistribution
net stop "Windows Update"
rd /s /q .
net start "Windows Update"
4. Open Windows Update and install any updates for the Visual C++
redistributable you just installed.
Enjoy
Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S. http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark. Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded