如何在Docker容器中设置VB6 IDE(在Windows上)?



是否可以创建一个可用于运行VB6 IDE的Docker容器?是否有任何阻碍性问题/不兼容?

根据我对Docker的了解(可能不多(,它似乎可能是运行VB6 IDE和编译器的轻量级方法,特别是与虚拟机相比。

为此,我有两种情况:

  • 在"干净"的环境中执行构建

  • 常规软件开发任务

在新机器上安装和配置 VB6 时,我们似乎需要处理许多特殊性,因此将所有这些捆绑到容器中可以节省大量时间并避免一些陷阱。

似乎Docker配置的一个关键属性是使用特定的注册COM DLL等设置环境,也许还有其他细节,如常规文件等。我的印象是,您可以在基于某种容器分层的 Docker 环境中积累这些东西。当然,重点是将这些东西排除在实际的Windows操作系统配置之外。

注意:我有VB6和SP6的合法/原始安装介质。


我在GitHub上看过这个项目,但它是为了在Linux上的WINE下运行VB6,这不是我所需要的。也许这可能是在Windows上构建容器的有用起点。


对于背景:

目前,我使用虚拟机来运行VB6 IDE来执行构建。此功能正常,但似乎相对较慢并占用大量磁盘空间。由于这些开销,它不适合开发使用。

构建是使用Kinook Visual Build Pro运行的,还包括构建一些.NET程序集,WISE安装程序等。

我们确实在 docker for windows 中编译 vb6 项目。虽然有 3 mil loc 和 10mil .NET LOC。


您需要完整版本的Windows,因为WindowsServerCore还不能工作。

从 mcr.microsoft.com/windows:1903

  1. 使用静默安装安装 VB6 IDE。
%

INSTDIR%\setup\acmsetup.exe/K "12345678"/T "%INSTDIR%\setup\VB98PRO.STF"/S "%INSTDIR%\"/n "User Name"/o "Company name"/b 1/gc %cd%\vb6_install_log.txt/qtn

  1. 安装 VB6-SP6。

要安装 vbsp6,请解压缩 VS6sp61.cab(VS6sp62.cab、VS6sp63.cab、VS6sp64.cab 必须在文件旁边(。然后,将 VB98 目录复制到现有的 VB6 安装上。

如果遇到访问冲突异常问题,则需要此安装。

  1. 立即试用编译器

建立一个小项目非常容易。只需从默认项目开始,然后从该点开始。

  1. 第三方组件

这是困难的部分。大多数情况下,旧组件没有静默安装程序。您可以通过自己注册第三方文件来解决此问题。只需将regsvr32用于该海豚即可。


你可以在github上找到完整的食谱:

https://github.com/Ro-Fo/Vb6IdeDocker

我有一个适用于本地安装和Docker安装的脚本(在windows:1903容器中测试(。它需要来自微软的vb6企业ISO文件。它运行一个 powershell 脚本,该脚本执行使其工作所需的所有文件和注册表技巧。关键部分是修改 .stf 文件。

在 GitHub 上找到它 https://github.com/gdsestimating/vb6-install-recipe。

@rofo的食谱缺少很多步骤。我似乎也没有与他相同的服务包文件。但是,他给出的静默安装命令是我进度的关键部分,因此没有它我就无法做到这一点。

如果您使用的是Microsoft的 VB6 和 SP6 iso 映像(我只是通过 https://my.visualstudio.com 的订阅找到它们(,那么您可以使用上面的存储库。

是什么让 powershell 脚本工作

关键是.stf文件(在 iso 的 VB6 安装程序文件夹中(定义了安装必须执行的所有操作。它就像.msi文件的前身。更多关于它的信息可以在这里找到。您可以在文本编辑器中编辑它们并删除某些组以排除导致在新式计算机上安装失败的组件。安装程序将.stf作为参数之一

该存储库包括一个对我有用的自定义.stf。这是原版,有些东西被剥离了。不过,它可能缺少其他人需要的一些组件。我将更新存储库,其中包含有关如何编辑它们的更多详细信息,因为我可以更好地解决问题。

最新更新