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

Reply via email to