KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q320151: HOW TO: Determine Dependencies with InstallShield Express

Article: Q320151
Product(s): Microsoft FoxPro
Version(s): 7.0
Operating System(s): 
Keyword(s): kbfile kbSample kbsetup kbAppSetup kbGrpDSFox kbDSupport kbCodeSnippet kbHOWTOmaster
Last Modified: 25-JUN-2002

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Windows, version 7.0 
-------------------------------------------------------------------------------


IN THIS TASK
------------

- SUMMARY

   - Sample Program to Use with Dependency Walker
- Check Your Application for Dependencies
- Include Dependencies in InstallShield

- REFERENCES

SUMMARY
=======

InstallShield Express - Visual FoxPro Limited Edition is included with Visual
FoxPro 7.0. With this version you cannot determine the dependencies of a Visual
FoxPro 7.0 application. This article discusses how to use the Dependency Walker
tool to determine the dependencies for a sample Visual FoxPro application, and
how to incorporate them into an InstallShield project. For more information
about how to install Dependency Walker, see the "References" section of this
article.

Sample Program to Use with Dependency Walker
--------------------------------------------

1. Paste the following code in a program (.prg) file, and then run the program
  from the Command window::

  LOCAL cMain

  SET SAFETY OFF

  cMain = "WAIT WINDOW 'Press Any Key To Exit'"

   * Save the string cMain to Main.Prg.
  STRTOFILE(cMain, "Main.Prg")

  CREATE PROJECT DependSample NOWAIT
  _VFP.ActiveProject.Files.Add("Main.Prg")

  * Compile the project into an executable.
  _VFP.ActiveProject.Build("DependSample.Exe",3,.T., .T.)

2. This creates DependSample.exe, which is used later in this article.

Check Your Application for Dependencies
---------------------------------------

1. Start Dependency Walker. For additional information about how to use this
  program, see Help in Dependency Walker.

2. On the File menu, click Open, or press CTRL+0.

3. Find DependSample.exe that you created in the "Sample Program to Use with
  Dependency Walker" section, and then click Open.

4. On the Profile menu, click Start Profiling. The Profile Module dialog box
  appears. Accept the default options, and then click OK. When the Wait Window
  appears, press any key to quit the application and return to Dependency
  Walker.

The Module Dependency Tree View contains a list of files that the sample
application depends on. Some of the files listed here are system files and
should not be distributed with your application. The following are examples of
system files:

   - Kernel32.dll
   - User32.dll
   - Advapi32.dll

5. All of the files may not be listed as parent items in the tree. Expand the
  dependencies that are not system files to make sure that you include any
  files that have dependencies to the main files.

6. In this example you see Msvcr70.dll. Because Msvcr70.dll is not a system
  file, include it. If you expand Msvcr70.dll, you see Kernel32.dll.
  Kernel32.dll is a system file, therefore, it does not have to be included.
  Also note that Vfp7r.dll is in the list. This is one of the FoxPro runtime
  DLLs. If you expand Vfp7r.dll, you see several files that are system files.
  Vfp7renu.dll is not a system file.

7. One method that may help to determine which files are system files and which
  files are not, is to right-click the file in question and then click
  Properties. The Properties dialog box appears. Click the Version tab, and
  then view the Product Name. The files that are system files may say Microsoft
  Windows Operating System, or something similar.

This application has dependencies on the following three files:

   - Msvcr70.dll
   - Vfp7r.dll
   - Vfp7renu.dll

Include Dependencies in InstallShield
-------------------------------------

This section discusses how to include those files that were determined to have
dependencies in an InstallShield setup.

1. Start InstallShield Express and create a new project, or open an existing
  project.

2. There are two ways that files can be included in InstallShield: Under Specify
  Application Data, click either Files or click Objects/Merge Modules.

  NOTE: In this example, use Objects/Merge Modules because there are merge
  modules for both the Msvcr70.dll and the Visual FoxPro Runtime DLLs.

3. Click Objects/Merge Modules, and then click Microsoft Visual C++ 7 Runtime
  Library (MSVCR70.msm), and Microsoft Visual FoxPro 7 Runtime Libraries
  (Vfp7Runtime.msm) from the Objects/Merge Modules list.

4. If you do not have a merge module for files that have to be included, you can
  add them. To do this follow these steps:

  a. Under Specify Application Data, click Files.

  b. In the Source computer's folders pane and the Source computer's files
     pane, locate the files that you have to include.

  c. Drag the files to the folder in Destination Computer in the Destination
     computer's folders pane where you want the files installed.

5. If you install files that have to be registered, you can have InstallShield
  register these files for you. To do this follow these steps:

  a. In Destination Computer in the Destination computer's folders pane, find
     the file that has to be registered.

  b. Right-click the file in the Destination computer's files pane, and then
     click Properties.

  c. Click the Advanced tab, and then in the Registration Type list, click
     Self-registration. Click OK.

This registers the file for you when it is installed. Note that some files do not
have to be or cannot be registered, and the Self-registration selection will not
be available.

6. Build and distribute your setup as you normally would.

REFERENCES
==========

The following files are available for download from the Microsoft Download
Center:

  DownloadDownload Dependsia64version2.1.3623.exe now
  (http://download.microsoft.com/download/visualfoxpro7/Utility/2.1/W9X2KMeXP/EN-US/Dependsia64version2.1.3623.exe)

  DownloadDownload Dependsx86version2.1.3623.exe now
  (http://download.microsoft.com/download/visualfoxpro7/Utility/2.1.3623/W9X2KMeXP/EN-US/Dependsx86version2.1.3623.exe)

Release Date: June 25, 2002

For additional information about how to download Microsoft Support files, click
the following article number to view the article in the Microsoft Knowledge
Base:

  Q119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current
virus-detection software that was available on the date that the file was
posted. The file is stored on secure servers that prevent any unauthorized
changes to the file.

Additional query words: depends.exe

======================================================================
Keywords          : kbfile kbSample kbsetup kbAppSetup kbGrpDSFox kbDSupport kbCodeSnippet kbHOWTOmaster 
Technology        : kbVFPsearch kbAudDeveloper kbVFP700
Version           : :7.0
Issue type        : kbhowto

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.