How does one share a private assembly dll between dependent dlls?

Hello,

I am developing an application in Visual Studio 2005 using C++/MFC. I
found that this application does not run on a clean computer unless I
install VS2005, the vcredist_x86 package, or copy the
Microsoft.VC80.MFC, Microsoft.VC80.CRT and Microsoft.VC80.MFCLOC
folders along with the application. The two first options are out of
the question since I can't expect the customer to install these. Not
even the vcredist_x86 package because, as far as I know, it requires
Administrator rights on the target machine.

So this leaves me with the third option, to include the VC80 dlls in
the installation package, which is fine, I don't mind deploying some
extra dlls. However, my application consists of several plugins that
each contain a separate dll in a separate folder under the
installation folder. Each of these plugins also depend on the VC80
runtime dlls distributed along with the application.

My question is: how do I tell the plugin dlls that the runtime
libraries are found in the directory directly above the plugin
directory and not in the current directory. So far I have only gotten
the plugins to work if I copy the Microsoft.VC80.XXX folders into
every plugin directory.

Looking through the schema for side-by-side manifest files I found an
attribute of the file-element named loadFrom. I was hoping that this
could be used to point the runtime linker to a common dll folder, but
no luck with that so far.

Thank you in advance,

 Tomas Lillqvist

0
tlillqvi (1)
3/16/2007 9:31:23 AM
vc.mfc 33608 articles. 0 followers. Follow

1 Replies
244 Views

Similar Articles

[PageSpeed] 16

If you dont want to run VCredist_x86.exe, you have couple of options:

- Make MFC static link to your app. It may not be possible depending upon
your design.
- See the following. This lets you install the dlls in your local folder:

http://blog.kalmbachnet.de/?postid=80

This is also helpful:  http://www.codeproject.com/cpp/vcredists_x86.asp

--
Ajay Kalra [MVP - VC++]
ajaykalra@yahoo.com


"Tomas Lillqvist" <tlillqvi@gmail.com> wrote in message
news:1174037483.213029.109290@n59g2000hsh.googlegroups.com...
> Hello,
>
> I am developing an application in Visual Studio 2005 using C++/MFC. I
> found that this application does not run on a clean computer unless I
> install VS2005, the vcredist_x86 package, or copy the
> Microsoft.VC80.MFC, Microsoft.VC80.CRT and Microsoft.VC80.MFCLOC
> folders along with the application. The two first options are out of
> the question since I can't expect the customer to install these. Not
> even the vcredist_x86 package because, as far as I know, it requires
> Administrator rights on the target machine.
>
> So this leaves me with the third option, to include the VC80 dlls in
> the installation package, which is fine, I don't mind deploying some
> extra dlls. However, my application consists of several plugins that
> each contain a separate dll in a separate folder under the
> installation folder. Each of these plugins also depend on the VC80
> runtime dlls distributed along with the application.
>
> My question is: how do I tell the plugin dlls that the runtime
> libraries are found in the directory directly above the plugin
> directory and not in the current directory. So far I have only gotten
> the plugins to work if I copy the Microsoft.VC80.XXX folders into
> every plugin directory.
>
> Looking through the schema for side-by-side manifest files I found an
> attribute of the file-element named loadFrom. I was hoping that this
> could be used to point the runtime linker to a common dll folder, but
> no luck with that so far.
>
> Thank you in advance,
>
>  Tomas Lillqvist
>


0
ajaykalra (6841)
3/16/2007 12:42:10 PM
Reply:

Similar Artilces:

Shared Contact List
At my office, we are running Windows 2000 server. We have 4 workstations. Two workstations run Windows XP and Outlook 2000, and two run XP and Outlook Express. Is there a way to create a single shared contact list on the 2000 server that all office personnel can access from any of the workstations. Dead easy - create a public folder and set it to contain contacts data - see: http://support.microsoft.com/default.aspx?scid=kb;en-us;255077&Product=exch2k "murrayj" <murrayj@3fssg.usmc.mil> wrote in message news:01e301c3ae36$962c52a0$a001280a@phx.gbl... At my office, we ...

can excel check one column against another
Hi. I have a spreadsheet with columns such as A, B, C, D, filled with numbers. Each row across such as row 1, then row 2, then row 3, etc of numbers is totaled in column E. Countless rows, each of which is totaled per row and then ends with a grand total at bottom of column E. Next comes columns F, G, H, also filled with numbers (but different numbers), which is totaled per row in Column I. At the bottom of Column I is a grand total. Even though arrived at using different sets of numbers, -both grand totals - in columns E and I must match. Sometimes they don't match. Ouch. So here is m...

why crash in the second method of one interface
Hi, Using one class generated from *.tlb to call 2 methods of one COM. The strange thing is that I got one error of the "First-chance exception in : 0xC0000005: Access Violation" in the second method. I also use ASP web page to call both methods of this COM and both methods seems is OK. ITemplateManage mytemplate; if (!mytemplate.CreateDispatch("comobj.TemplateManage")) { IDE_Error::Report (ComError|1,"ComObj.TemplateManage in FUN_Template::Add()"); return false; } result = mytemplate.Check (templatefilename); decodeparameter=mytemplate.GetInfo (templ...

DLL Locking Window Paints/Messages
Hi, I am currently in the process of converting code for a dll wrote in Delphi, to a dll written in C++, and am experiencing a strange problem. I have pretty much completed the task, and all the functionality is identically replicated in most respects and works correctly. The problem comes when doing a large transfer over a COM port. On the delphi dll, RS232 communications are handled by a bought component, but, even though an event driven system is available, the previous developer has chosen the method of a tight loop waiting for incoming bytes and sending out bytes, which 'maxes out&#...

Duplicate Transactions, One When Pending, One When Posted
I'm sure this has been addressed, but I couldn't seem to find an answer searching: My problem is, a transaction occurs at my bank, and MM2K7 downloads the data for it. Once that transaction moves from "Pending" to "Posted" at my bank, the transaction data changes, so MM downloads it again. Sometimes I get a possible duplicate message from MM, sometimes I don't. What are people doing to handle this situation? Thank you. This is a problem with your bank, not with Money. Eventually they should fix it. Call them. In the meantime VOID the pending transacti...

MSR Credit Card Reader adds all the information on one line
Is there a way to get the CC reader to properly seperate the the acct # from the expiration date? When I swipe I currently get everything on the acct # line. Thanks in advance! What type of CC reader(MSR) to you have? Typically this is an issue with simply configuring the MSR. Rob "Steakum" wrote: > Is there a way to get the CC reader to properly seperate the the acct # from > the expiration date? When I swipe I currently get everything on the acct # > line. > > Thanks in advance! Its a IDTECH Minimag USB/Keyboard Interface Do I need to select the Wedge Key...

grid off on one page
Is it possible to turn the grid off of only one page? thanks On Thu, 14 Feb 2008 10:37:11 -0600, "greg" <iuouh@ghfhg.com> wrote: >Is it possible to turn the grid off of only one page? Not really as it is a document wide setting.... however, there is workaround open the page shapesheet menu window -> Show shapesheet and set XGridSpacing and YGridSpacing to a large value. -- Regards, Paul Herber, Sandrila Ltd. SSADM for Visio http://www.saadm.sandrila.co.uk/ On Thu, 14 Feb 2008 16:47:53 +0000, Paul Herber <SubstituteMyFirstNameHere@pherber.com> wro...

Error saving a Shared Workbook
I have a user using a shared workbook and gets an error everytime she does this ONE specific change. She deletes a line and then saves and gets a message that says, "EXCEL.exe has generated errors and will be shutdown by Windows... blah blah blah". If she makes anyother type of changes it saves just fine. I also had another user do the SAME change and that person also got that error message. When the file is changed to "Not Shared" then the line is deleted it saves fine also. The problem is obviously with the file itself and that is shared out. can anybody ...

Next Date given one date
At this time, I cannot use VBA. Here is my objective: For a given treasury note security: Cell A1, Date 6/17/2004 - today's date Cell A2, Date 7/15/1997 - first coupon date I want to identify the "previous coupon date" and "next coupon date" from today's date based on the frequency of the "first coupon date". Logically speaking: * Security pays 2 times each year * Based on first coupon date, pay dates are: 1/15 & 7/15 * Given today is 6/17/04, the next pay date is 7/15/04. * Given today is 6/17/04, the previous pay date is 1/15/04. Can this be...

One to One relationship
I have an Events entity that is an offshoot from the Contacts entity. Basically, it tracks what events each contact has been invited to, and is used mainly by the Events Coordinator. I've set it up as a One (Contact) to Many (Events) relationship. However, I really only want one event form for each contact form. The reason I've set up a different entity rather than just adding a tab is that access to this entity needs to be tightly controlled. Obviously, if many events forms are created for the one contact, it would be very difficult to tell which one is accurate etc. Is it possibl...

route inbound email from ip to one folder
Is there a way to route any incoming email from a certain IP address to a single folder? Our company is receiving emails from a source that we do not wish to receive, and would like these email to be directed to a singe folder rather than blocking them. Any ideas? Thanks. you could send them to the turf dir... http://support.microsoft.com/default.aspx?scid=kb;en-us;245465 "daine" <anonymous@discussions.microsoft.com> wrote in message news:11d501c4263d$f4d05110$a101280a@phx.gbl... > Is there a way to route any incoming email from a certain > IP address to a single ...

To view, specifically Units in one report
I have report with a Reporting Tree (9 Unit), when the report is generated, I select only two unit, but I need that the drill down show one report with these unit only If you want multiple units in a single report you will need to use the column layout with unit restrictions on multiple columns Leslie "Pedro" wrote: > I have report with a Reporting Tree (9 Unit), when the report is generated, I > select only two unit, but I need that the drill down show one report with > these unit only Leslie; Each Column layout have the unit restrictions Thanks :-) "Lesl...

One client (Server 2k8-R2/HyperV) will not sync with DPM
We have been running DPM successfully for about a year now without any major problems. Recently we added a new server - a fairly robust PowerEdge that will be housing 4 HyperV VMs. For whatever reason, I can't get anything but the HyperV "Initial Store" to sync correctly. I thought initially it might be a problem with the HyperV machines, but it also fails to back up a small directory of files on the host drive. The oddest part about this is I really don't get an error. It will try an initial sync and run for a day or two and show very minimal data tr...

Add timer to a dll
I have a regular MFC dll. I want to add a time to the application class. Is it possible and how? Regards galia You can't. But see my essay on adding a WM_TIMER event to a document. What you have to do is create an invisible top-level window and send it messages. joe On Wed, 10 Oct 2007 15:06:19 +0200, "Galia" <galia@mandi.com> wrote: >I have a regular MFC dll. I want to add a time to the application class. Is >it possible and how? >Regards > >galia > > Joseph M. Newcomer [MVP] email: newcomer@flounder.com Web: http://www.flounder.com MVP...

See more than one tab at a time
I would like to be able to see more than one Tab at a time in Excel. Currently I'm able to see two Tabs from different worksheets, but not two or more tabs from the same worksheet On Sat, 28 Aug 2004 14:57:03 -0700, "rocky59" <rocky59@discussions.microsoft.com> wrote: >I would like to be able to see more than one Tab at a time in Excel. >Currently I'm able to see two Tabs from different worksheets, but not two or >more tabs from the same worksheet That would be because each tab represents a single worksheet. Clicking on the tab would move you from where ...

Exchange 5.5 - One Organization
Hello - I am having a problem that I would like some more information on. I have One Organization (5.5) and 16 Sites (5.5) and would like to know why I can't stop the other sites from sending mail through me. If I can, I would like to know how. Thanks for any help. what do you mean by "sending mail through me"? What mail? Internet email? Does each site have its own Internet Mail Service? Or is your site kind of the "hub" where all Internet email comes in and goes out? -- Susan Conkey [MVP] "dave.mudgett" <davemudgett@discussions.microsoft....

Release build exe has MFC71D.dll, MSVCR71D.dll and MSVCP71d.dll dependency
HI, I have a MFC aplication created using VC++.NET 2003. When I compile in Release mode and check the exe dependency in dependency walker it shows the exe has dependency on MFC71D.dll, MSVCR71D.dll and MSVCP71d.dll. I have disabled all the debug info in the release configuration settings. Any help would be appreciated. Sandy ...

Running powershell script from c#
I have a powershell script TestSth.ps1 that is calling some methods from my custom assembly MyAssembly. So, in TestSth.ps1 i manualy load assembly MyAssembly from MyAssemblyDirectory. I want to run this script TestSth.ps1 from c# code which(the code) also use MyAssembly. So, when i create powershell runspace and run TestSth.ps1 in that runspace i get error: Cannot convert the "MyAssemblyNamespace.DTO" value of type "MyAssemblyNamespace.DTO" to type "MyAssemblyNamespace.DTO". If i run [appdomain]::currentdomain.getassemblies() in the same runsp...

Why Would You Lose Sound On One User
WXP Pro Version 2002 Service Pack 3 with all current updates Dell Pentium(R) D CPU 2.80Ghz 2.79Ghz, 512 MB RAM System has three users all with admin rights - User 1(primary - me), User 2 (wife), and System Admin. (which I made visible on desktop). I (User 1) have lost sound when attempting to play CD's, and other audio files using WMP 11, however, I can still hear system sounds. User 2 and System Admin. still have full sound. System restore does not help ( in this case I only had a restore point from 5 days ago. Any thoughts? -- Skeeter "Old age and ...

Tracing and tracking email on one mailbox
1. I want to use a current copy of the Exchange 2003 database and scrub it for all emails regarding one mailbox. Is there a tool that will assist me in this? 2. How do I tell Exchange 2003 to notify me of any emails transmitted to and from a particular address? And yes, this in conjunction with #1. I want to track one user's mail without using delegate or adding myself to their Active Directory profile and having to create another profile in Outlook. 1. Have a read through this: http://wm.quest.com/reg/marketing/landing/ediscoveryexchange/. This product is ideally suited for ...

Combining two fields into one in a query for a report
The database I am working on is to keep track of parts that are either in their storage area (on a shelf) or on an assembly line. I have two fields, one called Shelf and every part has a shelf assigned to it. The other field is Line and if a part in on an assembly line, there is a number indicating that line, if the part is on it's shelf, the word STOCK appears in the line field. (Has to be this way for the rest of the database to work, so this is not up for question) Now, I need to creat a report to show where all parts are. If they are on a line the result needs to show the l...

Problem with Shared Workbooks
I've created a Shared Workbook on a network drive. Normally it works fine, but sometimes when I open it, I get the message "File is Locked. In order to save changes to the file, you can either close the file before making any changes and then re-open it, use Save-As to save the file using another Filename, or turn off Shared Workbooks and then save the file." BUT after clicking OK I can't do anything. I can't even close the file - I have to shutdown Excel (losing any other unsaved work that may have been open). Other times when I open the file I get the same m...

transferring money from one computer to another
Folks, I just got this laptop which I really like, but unfortunately, I can't figure out how to get my MS Money program (not the files-- that's a no-brainer) to my new computer. I downloaded the program and did not get the CD for it. Is there a way to do it? Both of these computers are mine, so I should be able to, but I can't figure it out. Thanks! Govind... There are almost no apps that can be moved from one machine to another these day. Almost all require having the installation routines. This is why I always recommend against "download" installations. &qu...

mstsc fails to connect on one of two laptops
I have to nearly identical HP laptops. Both are the same model, both are running Vista64 Home Premium. With mstsc, I can connect to my XP Pro SP3 system with no trouble at all. But on the other one, the connection fails with an illuminating "Cannot connect" message. No details as to why. I tried copying the Default.rdb file from the machine that can connect to the other one. That made no difference. I tried connecting as a different user, creating another .rdp file, but that didn't work either. Any ideas? Thanks, Jason In article <#UUSfR4wKHA.3564@TK2MS...

One-to-one relationship
I am importing a DB from Filemaker with info about students (names, address, etc.). There is just one table and because it has been used for many years, it cannot be changed. I have created another table for additional student enrollment information. I have created a one-to-one relationship between the two tables using an autonumber primary key in the student table and a number primary key in the enrollment table. I have created two forms to add information to the tables. All new students are added via the old student form first. When I switch to the new student form, I can...