472,986 Members | 2,687 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,986 software developers and data experts.

Where should the VC runtimes be installed to?

In reference to the following post by Brandon Bray from Microsoft:


Among other things, the thread talks about the C Runtime files such as
MSVCR71.DLL, and seems to indicate that they should be installed in
our applications directory, and not in the System32 directory.
Specifically, Brandon states the following about installing the C
Runtime library in the System32 directory:
Basically, we don't want these files to fall under system file protection.If that were to happen, these DLLs are either "known DLLs" or transitivelyso. If this were to happen, only the operating system could service thesefiles and doing so would be incredibly difficult for app compatibility.It's just better that every application use its own version of these DLLs bystoring them with the rest of the files in the application directory. Thatway the application is guaranteed to remain working even if the CRT or MFCis serviced in other applications.

Brandon Bray Program Manager in the Visual C++

Compiler Team

I created a merge module for our application which installs in lets
say \Program Files\OurApp. Our merge module has a dependancy on the
MSVCR71.DLL merge module VC_USER_ATL_RTL_X86_---.MSM. As well as
using our merge module within our own installation, we also give it
out to third parties who write thier own application which integrate
with our application. They would then write thier own installation
program which would install thier application to \Program
Files\ThierApp, and would include our merge module for our product
functionality. During installation, thier application is installed to
\Program files\ThierApp, and our components are installed to \Program
Files\OurApp (as directed by our merge module).

Both our application and thier application requires MSVCR71.DLL, and
in the past the install program would simply install MSVCR71.DLL to
the System32 directory. However, if it is Microsofts desire for us to
install the C Runtime library into our own application directories,
then it will be necessary to copy the file to both application
directories. The problem is that MSI does not provide any way to
retarget a merge module to more than one location.

This issue raises the following questions:

1. Where can I find an official anouncement from Microsoft indicating
that we should be installing the C Runtime in our application
directory, instead of the System32 directory?

2. Using the example given above, how can we retarget the C Runtime
merge modules so that they can be installed in both application

3. If applications are required to install the C Runtime into thier
own application directory, then why is Visual Studio not obeying the
rule, and instead installing MSVCR71.DLL into the System32 directory?

4. Is it safe for us to continue to install MSVCR71.DLL to the
System32 directory, using Microsofts merge module

Nov 16 '05 #1
0 12590

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: Craig Cookesley | last post by:
Hi I have written an application using Delphi 6 and Interbase 7 basically it use external tables to read and write an external file (basic text file) My problem is strange and I can not...
by: blznsky | last post by:
Hello, Is there any way or some statistics somewhere that can ruffly show the number of computers on the internet with the .Net 1.0 or higher runtimes installed?
by: deko | last post by:
Is there any reason, other than the distributable Access runtime, to use Office XP developer? I tried installing it on my system, but apparently I need to install/update a bunch of components -...
by: C.Dimitrov | last post by:
Hi, We have this on a production server same as test server running Windows 2003 Standard SP1 with .NET SP1 installed. and the same application on the production server return this, when loading...
by: Alex Martelli | last post by:
So, I thought I'd tool up to let me build and test Python extensions on Windows (as well as Mac and Linux) -- I'm trying out Parallels Workstation beta on my new Macbook Pro (and so far it seems to...
by: salad | last post by:
Is it preferable to create runtimes when distributing apps or preferable to expect the client to have valid versions of Office with Access on it. I have an app that requires Word and Outlook. So...
by: Neeraj | last post by:
Hi all. I have stuck at a strange point.in Database some master table have identity column and some havenot. Then How can i know at runtimes that which table have identity column. According to...
by: Ralf Abramowitsch | last post by:
Hi, I'm writing a trouble shooting utility that checks my assembly references. It creates a report for the support. Now I want to add some routines to check for installed runtimes. Ok, the...
by: pg | last post by:
My old HD crashes, so I had to do a total re-install. After installer XP, I went to the Micrsoft Update site to get all the update. After 5 hours or so ... the update cycle started looping. ...
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.