如何编写批处理文件以运行和执行 VB6 项目



我们的项目在VB6技术中运行,我们想要一个批处理文件,该文件将在短时间内运行我们所有的VB6项目,并且需要给我们输出文件。

假设使用Visual Studio,我们可以运行vb项目,一旦我们构建该项目,我们将获得输出作为.exe文件。 以类似的方式,当我们运行批处理文件时,它需要选择 ABC.vbp 文件并构建它,然后输出应该以 ABC.exe 的形式出现在适当的位置。

请帮助我们的项目做到这一点。这将对我和我的队友有很大帮助。

提前谢谢。

根据项目的复杂性,创建一个有效的"构建"批处理文件可能需要一些修补才能开始工作,但这绝对是可能的。 如果它只是您想要的单个可执行文件,则可以在命令行模式下运行 VB6 编译器,如下所示:

"C:Program Files (x86)Microsoft Visual StudioVB98vb6.exe" /m "C:ProjectSourceMyProg.vbp" /outdir "C:ProjectRuntime"

将该行放入批处理文件中,您就完成了。 注意所有引号;它们是 Windows 命令处理器工作所必需的。/m开关表示使用 VB6 项目文件中的设置"创建"项目。 另请注意,通过使用/outdir开关,目标目录不需要与包含源的目录相同。

如果要制作一个不错的可分发包,并使用安装程序自动复制所需的所有其他文件(VB6 运行时、任何 DLL 或 OCX 以及应用程序所需的任何其他文件(,则需要使用包和部署向导。粗略地说,以下是步骤:

首先,在交互模式下使用"打包和部署向导"(在 VB6 开始菜单中的"工具"下(创建可分发包,最终将创建一个安装程序.exe程序,即安装程序。LST 文件,以及包含可执行文件、VB6 运行时以及使用向导根据需要定义的任何其他模块或文件的.cab文件。 它还会创建一个 .PDM文件,本质上是生成上述安装文件的打包脚本。 (它还调整了一些其他文件和注册表项,所以不要认为你可以随意编辑PDM文件 - 它不会像你希望的那样工作。

假设您在名为 C:\Project 的目录中构建所有这些内容,其中包含源、运行时和源\MyProg_Setup的子目录。 这些将是您将替换到以下示例中的目录。

批处理文件必须做的第一件事是编译程序,这意味着在命令行模式下运行 VB6,如上所述。 接下来,批处理文件可以在命令行模式下运行向导,但它对它的运行方式非常挑剔。 首先,目标文件夹(首次运行向导时创建(必须不存在,因此批处理文件中的第一行必须将其删除:

rd /s /q C:ProjectSourceMyProg_Setup

这将删除安装程序目录和所有子目录 (/s(,并且不会要求任何确认 (/q(,这是批处理文件中所需的。 现在,您可以使用在交互模式下运行向导时生成的MyProg.PDM文件运行向导的命令行版本:

"C:Program Files (x86)Microsoft Visual StudioVB98WizardsPDWizardPDCMDLN.exe" "C:ProjectSourceMyProg.vbp" /p "MyProg_Setup" /l "C:ProjectSourceMyProg_Setup.log"

这将重新创建 MyProg_Setup 子目录,以及要分发给最终用户的安装文件。 此处使用的命令行开关是:/p是打包脚本的名称(减去.PDM扩展名(和/l(小写"L"(将输出定向到日志文件,以便您可以看到出了什么问题。

您需要向最终用户提供以下文件:

  • 设置.exe
  • 设置。LST
  • 我的程序.cab

所有这些都在一个目录中,也许在 CD-ROM 或闪存驱动器上。

有关于使用向导的原始Microsoft文档,但可能需要一段时间才能跟踪。 此外,PDW 没有得到很好的考虑,尤其是在当前(本世纪......(,因此您可能会考虑替代部署工具,例如优秀(和免费!Inno 安装程序安装程序。

最新更新