如何防止 InstallShield 1158 错误?

发布于 2024-08-21 22:35:19 字数 759 浏览 5 评论 0原文

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

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

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

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

Sometimes, when running an InstallShield installation, an error dialog will appear containing the text "1158", and OK button, and nothing else. InstallShield error 1158 means there was a problem with loading strings from the associated ini file, but Flexera's troubleshooting steps have not worked for me. Also, I doubt that there is actually a problem with the strings; the information on that page suggests that a problem with strings would not be intermittent.

Here are the results of my investigation so far:

  • The problem occurs before any other dialogs are displayed (including the prerequisites dialog), which leads me to believe this is a problem with the bootstrapper (setup.exe), not Windows Installer.
  • The problem is intermittent, occurring frequently on some machines and almost never on others.
  • The problem is not related to a particular build of the installation. The same setup.exe might fail one time and succeed if run again on the same machine.
  • The problem appears to be related to Windows Explorer. I've never been able to reproduce this by launching the setup.exe through other means (e.g. cmd.exe).
  • This hampers debugging efforts, since passing command line arguments to generate debug logs causes the installation to succeed.
  • I've only seen this problem on Windows XP.
  • This may not mean anything since newer versions of Windows are not used often within my company.

Has anyone else encountered this problem or know of a fix?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沫雨熙 2024-08-28 22:35:20

有同样的问题。

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

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

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

c:\setup.exe /L1033

从以下来源获取:
https://mitchell1.com/knowledgebase/article.php?id=531

Had the same problem.

Seems to be a problem with the region and language settings not being set to English (USA)

I manage to fixe it by moving the file localy to the machine I wanted to install and then launching the Setup.exe with the argument /L1033 that enables windows to launch it as an other language (1033 = english code).

So try launching from cmd/powershell with this format :

c:\setup.exe /L1033

got it from this source:
https://mitchell1.com/knowledgebase/article.php?id=531

最单纯的乌龟 2024-08-28 22:35:20

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

Check your setup.ini - it's either missing or corrupted. Also check its encoding.

半山落雨半山空 2024-08-28 22:35:19

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

附带说明一下,我被告知 InstallShield 2009 是第一个允许 Unicode“安装启动器类型”的版本,因此这个错误可能是在该版本中引入的。之前的版本始终使用 ANSI。

I opened a support ticket with Flexera to get to the bottom of this. Based on their responses, this is a translation problem with the setup.exe bootstrapper. In InstallShield 2009, if the "Setup Launcher Type" field (on the "Setup" tab of a release) is set to Unicode, this problem might happen sometimes. Setting the "Setup Launcher Type" to ANSI seems to fix the problem. Also, I have not experienced the problem in InstallShield 2010, so they might have already fixed it.

As a side note, I was told that InstallShield 2009 was the first version to allow a "Setup Launcher Type" of Unicode, so this bug was probably introduced in that version. Prior versions always used ANSI.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文