Solved

Installation of my app???

Posted on 1998-11-29
6
176 Views
Last Modified: 2013-11-20
I want to move my MFC app to another machine, Is there any DLL or files I need to move along with my app???

If I want to create a setup disk for my app, How should I do it???? Any tools avaiable in VC++5,6.0 for this purpose??
0
Comment
Question by:stephenkong
6 Comments
 
LVL 8

Expert Comment

by:Answers2000
ID: 1325480
MFC DLLs plus any activeX controls, plus any DLLs you require.

The easiest way to build installations is to use InstallShield Express

http://www.beyond.com/AF11804/PKSN023944/prod.htm

A weak version of InstallShield comes with most versions of VC, however IMHO this "free" version is so useless as to hardly be worth having.

InstallShield Express works with all versions of VC and many other development environments too
0
 

Author Comment

by:stephenkong
ID: 1325481
Please give me a list of DLL and files  required for MFC app (other than additional .ocx).
0
 
LVL 8

Expert Comment

by:Answers2000
ID: 1325482
See TN056 in the help

(begin quote)
The MFC DLL(s) are what is called a shared DLL. For the Win32 version of MFC, there is potentially only one MFC DLL that you need to install with your application: MFC4x.DLL or a later version. This single DLL contains all code necessary for core MFC, MFC/OLE, MFC/Database, and the MFC/Network classes (previous versions had each of these components broken out into separate DLLs).

etc..

Because these DLLs are shared components, they reside in the Windows "system" directory. That is, they should be installed into the directory indicated by the return value from GetSystemDirectory. Installing in this directory, like other shared system components, must be done carefully to avoid overwriting newer versions of the DLL that other applications previously installed may be relying upon. To retrieve the version information for the installed files, use the GetFileVersionInfo APIs provided by the Windows version API. You should only install a new DLL if its version information, give by the dwFileVersionMS and dwFileVersionLS fields of the VS_FIXEDFILEINFO structure are larger than the same version information of the already installed DLL.

Localization Considerations

If your application has chosen to localize its use of the MFC resources by installing MFC4xLOC.DLL or a later version, you will need to follow the instructions in this section. Like other shared DLLs, MFC4xLOC.DLL should only be installed if its version is newer than the version which is already installed. As a result installing this DLL is very similar to installing the other MFC DLL(s). There are a couple of exceptions.

First, you should never install MFC4xLOC.DLL on an English system. English resources are built into MFC4x.DLL and it is faster to load them from that DLL instead of searching (and loading) MFC4xLOC.DLL first.

Second, there are multiple versions of MFC4xLOC.DLL – one for each locale. Their names are based on the locale. For example MFC4xDEU.DLL is the German version of MFC4xLOC.DLL – it contains version information that identifies it as German locale; MFC4xESP.DLL, similarly, is the Spanish version of the DLL. If you install it, you must insure that 1) the locale for which it is intended matches the locale of the Windows system that is installed, and 2) that the locale is not different from the locale of the MFC4xLOC.DLL already installed (if it is installed). If these two conditions cannot be satisfied, then the DLL should not be overwritten. If the version mark on the existing MFC4xLOC.DLL is equal to or greater than the version mark in your distribution, then you're product will work once installed. It may have mixed resources (some of one language, some of another), but it will work. If the version mark on the existing DLL is less than your distribution and the locale is mismatched, your product may not work once installed. You should warn the user of this mismatch and back out of your installation process. The user will have to resolve the conflict between this DLL and your product before continuing.

Important   Obviously, this can add a lot of complexity to your installation as well as hassles for your end user if they use and install a mix of different localized applications (some applications localized to one language, and some to another). Because of this difficulty, it is highly recommended that you do not ship any version of MFC4xLOC.DLL. Instead, include the appropriate MFC implementation resources in your module itself and avoid this whole issue. See Technical Note 57 for more information on this subject.

(end quote)

The x is 0 for MFC 4.0, 1 for MFC4.1, 2 for MFC 4.2

Add U to the name for unicode (if you don't know if you are using unicode, you probably aren't), add D for debug

You also see de

e.g. MFC42.DLL = is non-Unicode, non Debug MFC version 4.2


For runtime libraries you may also need
MSVCRT.DLL


0
Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

 
LVL 8

Expert Comment

by:Answers2000
ID: 1325483
You can see how complicated this quickly gets, which is why I recommend InstallShield
0
 
LVL 2

Expert Comment

by:wyy_cq
ID: 1325484
VC5 with InstallShield,

InstallShield can generate install disk with mfc DLL.

0
 
LVL 1

Accepted Solution

by:
polimetla earned 20 total points
ID: 1325485
Dear brother/sister,

1. Find the location of dumpbin.exe in your machine.
2. copy your .exe to that location.
3. c:>dumpbin your.exe /all >readme.txt
4. now open readme.txt
5. After "Section contains the following Imports" you can find the required dlls to copy into other machine.
6. to make installation diskate use installshield.
   for more info. please visit http://www.installshield.com

If you want any info please contactme.

with regards,
Bhavani P Polimetla
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
bobThere java chalenge 45 92
WinWaitActive parameters 12 31
if loop in java 3 142
Capture logon name 13 73
Introduction: Dynamic window placements and drawing on a form, simple usage of windows registry as a storage place for information. Continuing from the first article about sudoku.  There we have designed the application and put a lot of user int…
Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question