Article ID: 178354 - Last Review: May 12, 2003 - Revision: 2.0 INFO: How Setup Wizard and PDW Use Dependency FilesThis article was previously published under Q178354 On This PageSUMMARY
A dependency (.DEP) file contains information about the run-time
requirements of an application or component; it contains information
regarding which files are needed, how the files are to be registered, and
where they should be installed on the target computer. You can create
dependency files for standard Visual Basic projects, ActiveX controls,
ActiveX documents, and other ActiveX components. When a component is used in another project, the dependency information for the component is incorporated into the project's dependency information. This dependency information is used by the Setup Wizard (known as the Package and Deployment Wizard or PDW in Visual Basic 6.0). When you use the Setup Wizard or PDW to generate a setup for your project, the wizard refers to the project's dependency information to determine which files should be distributed with your project and how those files should be installed. All of the ActiveX controls that ship with Visual Basic have a companion dependency file. It is strongly recommended that you generate a dependency file for your component, especially if you intend that the component be used in other Visual Basic projects. The Setup Wizard and PDW give you the option to generate a dependency file for your project or component. The dependency file may also be generated using a text editor if you cannot use the Setup Wizard or PDW to create one. The remainder of this article describes the syntax for a dependency file. MORE INFORMATION
A dependency file is a standard Windows .INI file and can be read and
written to using the standard Windows APIs (GetPrivateProfileString and
WritePrivateProfileString). There are a few items to note for dependency files:
Dest=The Dest= key indicates the destination folder for the component. This value may be a relative path, a full path, or a path based on any of the following macros (for example, it may be simply a macro, or it may be a macro followed by a backslash and a relative path):
$(AppPath) Indicates the path the user selects
during setup.
$(WinSysPath) Indicates the \Windows\System or
\Winnt\System32 folder.
$(WinPath) Indicates the \Windows or \Winnt folder.
$(ProgramFiles) Indicates the folder specified at
HKEY_LOCAL_MACHINE\Software\
Microsoft\Windows\CurrentVersion\
ProgramFilesDir.
$(CommonFiles) Indicates the folder specified at
HKEY_LOCAL_MACHINE\Software\
Microsoft\Windows\CurrentVersion\
CommonFilesDir.
$(CommonFilesSys) Indicates $(CommonFiles)\System in
Windows 95, Windows 98, NT 4.0, and Windows 2000,
or the same as $(WinSysPath) in NT 3.51.
$(MSDAOPath) The location stored in the registry
for DAO components.
UsesN=The UsesN= key (where N is an integer) indicates a dependent file for the component. A file specified by a UsesN= key is required for the component defined by that section. In a section, N must be sequential and must start with 1. For an illustration, refer to the following sample section:NOTE: If the UsesN keys are not ordered sequentially, or if a number is skipped, dependent files may not be recognized in the section and may not be acknowledged by the Setup Wizard or PDW. Register=The Register= key indicates whether the file should be registered and, if so, how it should be registered. The valid values for this key are:
None If a value is omitted for this key,
the file is not registered.
$(DllSelfRegister) The file supports self-registration
and self-unregistration via a DLL
entry point.
$(ExeSelfRegister) The file is a local server that
supports self-registration through
the command-line parameter
"/RegServer" and self-unregistration
through the command-line parameter
"/UnRegServer."
$(TLBRegister) The file is a .TLB file and should be
registered.
Filename The file is registered by calling
Regedit.exe with this filename as a
Command-line parameter.
$(Remote) Used only by Visual Basic to indicate
that the file is a .VBR file.
Version=(Optional)The Version= key indicates the version of the component that is needed. The Setup Wizard and PDW can detect that a .dep file is out-of-date using the Version= key. The version is specified in the format a.b.c.d, as in the following example: Date=(Optional)The Date= key is the date stamp of the component that is needed. The Setup Wizard and PDW can detect that a .DEP file is out-of-date using this key. This value must always be in the format d/m/yyyy or dd/mm/yyyy, even when using a localized Setup Wizard or PDW. For example: Time=(Optional)The Time= key is the time stamp of the component that is needed. The Setup Wizard and PDW can detect that a .DEP file is out-of-date using this key. This value must always be in the 24-hour format hh:mm:ss, even when using a localized Setup Wizard or PDW. For example: ProgramIconTitle= and ProgramIconCmdLine=(Optional)The ProgramIconTitle= key indicates that a shortcut (or Program Manager icon for Windows NT 3.51) should be created if the file is installed. The value for the ProgramIconTitle= key is the title given to the shortcut (or icon). The value may be quoted or unquoted. For example: Localized ComponentsSome components may have different dependencies based on the language. To install a component based on the language setting for the client's computer, you may specify a section with the component name followed by the language ID.For example, VBRUN500.DLL has a satellite DLL for all languages (with the exception of English): Sample Dependency FileThe following is a sample .DEP file for a component named MyOCX.OCX. This dependency file would be named MyOCX.DEP:MyServer.EXE is a self-registering file that is installed in the Windows folder (or Winnt folder on NT or Windows 2000). MyServer.EXE has only one dependent file, VBRUN500.DLL. If MyServer.EXE is installed during setup, a shortcut is created with the title "My Program" and the command line Windows\System\MyOCX.OCX (or Winnt\System32\MyOCX.OCX on NT or Windows 2000). MyDLL.DLL is also a self-registering file. A destination for MyDLL.DLL is not specified; thus, it will be placed in the destination path for its parent, MyOCX.OCX. VBRUN500.DLL will not be registered because a Register= key is not specified in its section. VBRUN500.DLL will be placed in the Windows\System (or Winnt\System32) folder. If VBRUN500.DLL is installed during setup, VB5DE.DLL will be installed if the language setting is German and VB5FR.DLL will be installed if the language setting is French. If the language setting is set to something other than French or German, no additional files will be installed. How Setup Wizard and PDW Search for Dependency InformationWhen the Setup Wizard and PDW need to find dependency information for a file (for example, MyOCX.OCX), they follow a specific path. The wizards use the following methods to locate a section entitled [MyOCX.OCX]; when the section is found, the search ends.
REFERENCES
For additional information about how the Setup Wizard and PDW combine
dependency files with the Visual Basic project and the VB5DEP.INI or
VB6DEP.INI file to create a setup program, a Setup.LST, and a project .DEP
file, refer to the Distributing Your Application" section of the Visual
Basic "Programmer's Guide."
APPLIES TO
| Article Translations
|
Back to the top
