4

有时,在运行 InstallShield 安装时,会出现一个错误对话框,其中包含文本“1158”和“确定”按钮,仅此而已。InstallShield 错误 1158 表示从关联的 ini 文件加载字符串时出现问题,但 Flexera 的故障排除步骤对我不起作用。另外,我怀疑字符串实际上是否存在问题。该页面上的信息表明字符串问题不会是间歇性的。

以下是我迄今为止的调查结果:

  • 该问题在显示任何其他对话框(包括先决条件对话框)之前发生,这使我相信这是引导程序(setup.exe)而不是 Windows Installer 的问题。
  • 该问题是间歇性的,在某些机器上经常发生,而在其他机器上几乎从不发生。
  • 该问题与安装的特定版本无关。如果在同一台机器上再次运行,相同的 setup.exe 可能会失败一次并成功。
  • 该问题似乎与 Windows 资源管理器有关。我无法通过其他方式(例如 cmd.exe)启动 setup.exe 来重现这一点。
  • 这会妨碍调试工作,因为传递命令行参数来生成调试日志会导致安装成功。
  • 我只在 Windows XP 上看到过这个问题。
  • 这可能没有任何意义,因为我的公司不经常使用较新版本的 Windows。

有没有其他人遇到过这个问题或知道解决方法?

4

3 回答 3

3

我用 Flexera 打开了一张支持票,以了解这一点。根据他们的回答,这是 setup.exe 引导程序的翻译问题。在 InstallShield 2009 中,如果“Setup Launcher Type”字段(在版本的“Setup”选项卡上)设置为 Unicode,则有时可能会发生此问题。将“设置启动器类型”设置为 ANSI 似乎可以解决问题。另外,我在 InstallShield 2010 中没有遇到过这个问题,所以他们可能已经修复了它。

作为旁注,有人告诉我 InstallShield 2009 是第一个允许 Unicode 的“设置启动器类型”的版本,所以这个错误可能是在那个版本中引入的。以前的版本总是使用 ANSI。

于 2010-05-06T21:37:27.230 回答
1

有同样的问题。

似乎是区域和语言设置未设置为英语(美国)的问题

我设法通过将文件本地移动到我想要安装的机器上来修复它,然后使用/L1033使 Windows 能够以其他语言启动它的参数启动 Setup.exe(1033 = 英文代码)。

因此,尝试使用以下格式从 cmd/powershell 启动:

c:\setup.exe /L1033

从这个来源得到它: https ://mitchell1.com/knowledgebase/article.php?id=531

于 2020-10-01T14:46:14.013 回答
-1

检查您的 setup.ini - 它丢失或损坏。还要检查它的编码。

于 2010-03-05T13:06:44.143 回答