【问题标题】:How to execute 16-bit installer on 64-bit Win7?如何在 64 位 Win7 上执行 16 位安装程序?
【发布时间】:2012-02-24 18:46:55
【问题描述】:

我正在尝试在 Win7 64 位上安装 Sheridan 控件 (ActiveThred 2.01),但显然它是一个 16 位安装程序,因此无法执行。

解决这个问题的最佳方法是什么?

谁能评论http://homepage3.nifty.com/takeda-toshiya/msdos/index.html是否有帮助?

【问题讨论】:

  • 控件似乎是 32 位的并且已经过时...
  • @MartinSamson:见上面的截图。我相信当一个 16 位程序尝试在 Win7 中执行时会发生此错误。
  • 是的。我很快用谷歌搜索了 ActiveThred 并看到了一些 32 位 ActiveX 。正如 Cody Gray 所说,您可能应该升级需要控件的应用程序或在虚拟机中运行较旧的 Windows 操作系统。
  • @JP.: 我已经删除了你添加的 vb6 标签,因为它实际上与 vb6 无关。这只是一个 16 位安装程序,试图在 64 位 Win7 上安装。

标签: windows-7 64-bit 16-bit


【解决方案1】:

我用谷歌搜索了几个月才找到解决这个问题的方法。您无需安装运行 32 位版本 Windows 的虚拟环境即可在 64 位 Windows 上运行带有 16 位安装程序的程序。如果程序本身是 32 位的,而只有安装程序是 16 位的,这就是你的答案。

有一些方法可以将 16 位安装程序修改为 32 位,以便在 64 位 Windows 7 上安装。我在这个网站上找到了解决方案:

http://www.reactos.org/forum/viewtopic.php?f=22&t=10988

在我的例子中,安装程序是 InstallShield 5.X。问题是 InstallShield 5.X 使用的 setup.exe 程序是 16 位的。首先我提取了安装程序的内容(将扩展名从.exe更改为.zip,打开并提取)。然后,我用 InstallShield 的 32 位版本的 setup.exe 替换了位于 disk1 文件夹中的原始 16 位 setup.exe(从上面链接中引用的站点下载此文件)。然后我在 disk1 中运行新的 32 位 setup.exe 开始安装,我的程序安装并在 64 位 Windows 上完美运行。

您还可以重新打包此修改后的安装,以便使用 Inno Setup 5 等免费程序将其作为安装程序分发。

【讨论】:

  • 工作过!非常感谢!
  • 太棒了!我花了很多时间尝试在 64 位 Win7 上安装我的扫描仪,甚至将其安装在虚拟机中并使用特殊软件跟踪注册表更改,但这一切都没有帮助!现在它完美运行了!
  • 关于如何做到这一点的另一个很好的总结:blog.ryankempt.com/2013/12/…;安装文件的另一个下载链接是toastytech.com/files/setup.html
  • 非常感谢。我可能会补充一点,安装程序 (v3) 仍然抱怨丢失文件,直到我将兼容模式更改为 Windows 95 并将其设置为以管理员身份运行。
  • 这对我今天在 Broderbund (1998) 的 Print Shop 6 有帮助。安装程序是 InstallShield 3。非常感谢您的链接!
【解决方案2】:

You can't run 16-bit applications (or components) on 64-bit versions of Windows。该仿真层不再存在。 64 位版本已经必须为 32 位 应用程序提供兼容层。

必须放弃对 16 位的支持最终,即使在向后兼容具有重要意义的文化中也是如此。过渡到 64 位似乎是最好的时机。很难想象还有谁还在使用 16 位应用程序并寻求升级到 64 位操作系统。

解决这个问题的最佳方法是什么?

如果组件本身是 16 位的,那么使用运行 32 位版本 Windows 的虚拟机是您唯一真正的选择。 Oracle's VirtualBox 是免费的,并且是常年的最爱。

如果只有 安装程序 是 16 位的(并且它安装了 32 位组件),那么您可能可以使用像 7-Zip 这样的程序来提取安装程序的内容并手动安装。假设这个“解决方案”是高风险的,你应该有很少的期望(如果有的话)。

现在是从 Turbo C++ 和 Sheridan 控件等 16 位产品升级的时候了。我还没有遇到过 Sheridan 控件可以做而内置控件不能做的任何事情,并且自 Windows 95 以来一直无法做到。

【讨论】:

  • 积分,但是这个VB6产品的维护是不可避免的。用本地控件替换 Sheridan 控件的工时成本也很高。简单地在 32 位机器上开发将是比这样做更好的选择。我想把所有东西都安装在 64 位的 Win7 上。
  • 这种成本效益分析不可避免地会将公司变成恐龙。确保这家公司也不会把你拖入深渊。
  • @HansPassant:在防守端,有一个项目同时运行来重写产品。
【解决方案3】:

我在 Infragistics 论坛上发布了一些关于设计师小部件的信息,这些信息可能对您有所帮助。您可以通过以下链接查看帖子:
http://forums.infragistics.com/forums/p/52530/320151.aspx#320151

请注意,不同产品的注册表键值会有所不同,您可能需要在 32 位机器上安装才能查看需要哪些键值。

【讨论】:

  • 我通过在 32 位上安装然后将 sheridan 注册表项复制到 64 位机器上来使其工作。
【解决方案4】:

我主要是发布这个以防有人出现但不知道 VB2005 和 VB2008 具有可转换旧版本的更新实用程序 VB 版本到它的格式。尤其是因为没有人费心 指出这个事实。

已记分,但此 VB6 产品的维护是不可避免的。用本地控件替换 Sheridan 控件的工时成本也很高。简单地在 32 位机器上开发将是比这样做更好的选择。我想理想地在 Win7 64 位上安装所有东西。 – CJ7

您是否尝试过使用 VB Express 2005+ 的代码升级功能?

如果没有, 1. 复制您的代码 - 文件夹和所有内容。 2. 将工程导入VB express 2005。 这将激活更新向导。 3. 调试并让应用程序运行。 4. 使用 MS 免费工具创建一个新的安装程序。 5. 您现在有了一个带有 32 位安装程序的 32 位应用程序。

除非你这样做,否则你永远不会知道它有多难或有多难 将更新和现代化程序。 向导很可能会更新 Sheridan 控件 到 VB 2005 控件。同样,您将不知道是否可以 以及在您尝试之前它的效果如何。

或者,坚持使用 32 位版本的 Windows 7 和 8。 我有 Windows 7 x64 和一个无法运行的程序。然而, 该程序将在 Windows 7 32 位以及 Windows 8 RC 32 位中运行。 在 Windows 8 RC 32 下,系统提示我启用 16 位仿真 我这样做了,而且程序非常好。

【讨论】:

  • 我的程序中的行数远远超过了VS2005+中升级工具所允许的最大值。
【解决方案5】:

我有一个 32 位软件和一个无法解压缩的 16 位安装程序。我用otvdm 解决了这个问题,它允许你在win64 上运行windows 1.x、2.x、3 程序。实际上,otvdmw 允许您选择要运行的程序(otvdm 是命令行)。

【讨论】:

    【解决方案6】:

    16 位安装程序无法在 Windows 7 上运行 Win 7 不再支持它可以运行 16 位安装程序的最新支持的 Windows 版本是 vista 32 位 即使 vista 64 位也不支持'不支持 16 位安装程序.... 参考http://support.microsoft.com/kb/946765

    【讨论】:

    • 我很确定 Windows 7 32 位的一半是 16 位程序仍然可以工作?
    【解决方案7】:

    顶部的底线:获取较新的程序或获取较旧的计算机。

    解决方案很简单。这很糟糕,但很简单。对于旧程序,请保持旧计算机正常运行。有时您在新游戏中找不到与旧游戏相同的游戏体验。有时有些程序没有新的对应物可以做同样的事情。那时你基本上有两个选择。在亮的一边。旧电脑可以运行 20 - 100 美元,这可以为您购买整个系统;显示器、塔、键盘、鼠标和扬声器。如果您有耐心运行旧程序,您应该有耐心在想要的广告中找到您正在寻找的内容。我有 4 台旧电脑正在运行; 2个windows 98,2个windows xp。我妻子和我每个人都有win7电脑。

    【讨论】:

    • 这个答案没有建设性。在企业系统上,您可以使用现有资源。此外,这个问题是 5 个月前提出的,作者可能已经继续前进或找到了解决方案。一般来说,“换一台电脑”的解决方案是非常不受欢迎的,除非问题很明显是由硬件故障引起的。
    • @Wug:我同意第一点,但不同意第二点。人们不会那么快地摆脱问题。有时问题会被搁置,直到找到解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    相关资源
    最近更新 更多