Как предотвратить ошибки InstallShield 1158?

Иногда при запуске установки InstallShield появляется диалоговое окно об ошибке, содержащее текст 1158 и кнопку ОК, и больше ничего. Ошибка InstallShield 1158 означает, что возникла проблема с загрузкой строк из связанного файла ini, но шаги по устранению неполадок мне не помогли. Кроме того, я сомневаюсь, что на самом деле есть проблема со строками; информация на этой странице предполагает, что проблема со строками не будет прерывистой.

Вот результаты моего расследования на данный момент:

  • Проблема возникает до того, как отображаются какие-либо другие диалоговые окна (включая диалоговое окно предварительных условий), что наводит меня на мысль, что это проблема с загрузчиком (setup.exe), а не с установщиком Windows.
  • Проблема носит периодический характер, часто возникает на одних машинах и почти никогда на других.
  • Проблема не связана с конкретной сборкой установки. Один и тот же файл setup.exe может дать сбой один раз и завершиться успешно, если он снова запустится на том же компьютере.
  • Проблема, похоже, связана с проводником Windows. Мне никогда не удавалось воспроизвести это, запустив setup.exe другими способами (например, cmd.exe).
  • Это затрудняет отладку, поскольку передача аргументов командной строки для создания журналов отладки приводит к успешной установке.
  • Я видел эту проблему только в Windows XP.
  • Это может ничего не значить, так как более новые версии Windows не часто используются в моей компании.

Кто-нибудь еще сталкивался с этой проблемой или знает решение?


person Kevin Kibler    schedule 16.02.2010    source источник


Ответы (3)


Я отправил заявку в службу поддержки Flexera, чтобы разобраться в этом. Судя по их ответам, это проблема перевода с загрузчиком setup.exe. В InstallShield 2009, если в поле «Тип программы установки» (на вкладке «Настройка» выпуска) установлено значение Unicode, эта проблема может иногда возникать. Установка «Типа запуска установки» на ANSI, кажется, решает проблему. Кроме того, я не сталкивался с проблемой в InstallShield 2010, поэтому они, возможно, уже исправили ее.

В качестве примечания мне сказали, что InstallShield 2009 была первой версией, в которой был разрешен «Тип запуска установки» Unicode, поэтому эта ошибка, вероятно, была введена в этой версии. В предыдущих версиях всегда использовался ANSI.

person Kevin Kibler    schedule 06.05.2010

Была такая же проблема.

Кажется, проблема в том, что в настройках региона и языка не установлен английский (США)

Мне удалось исправить это, переместив файл локально на машину, которую я хотел установить, а затем запустив Setup.exe с аргументом /L1033, который позволяет Windows запускать его как другой язык (1033 = английский код).

Поэтому попробуйте запустить из cmd/powershell в таком формате:

c:\setup.exe /L1033

получил из этого источника: https://mitchell1.com/knowledgebase/article.php?id=531

person user14374645    schedule 01.10.2020

Проверьте файл setup.ini — он либо отсутствует, либо поврежден. Также проверьте его кодировку.

person KMoraz    schedule 05.03.2010
comment
Я проверил файл setup.ini, все в порядке. Тот факт, что проблема возникает периодически, наводит меня на мысль, что сам файл setup.ini не является проблемой, поскольку этот файл не изменится при многократном запуске одного и того же файла setup.exe. - person Kevin Kibler; 05.03.2010
comment
1158 определенно является проблемой загрузчика - когда я когда-либо сталкивался с этой ошибкой, она всегда была связана с setup.ini. Если вы скопируете всю папку релиза со 100% машины на неисправную машину, это сработает? попробуйте открыть setup.ini в текстовом редакторе и сохранить в другой кодировке. Также проверьте, не указывает ли setup.ini на отсутствующий файл. - person KMoraz; 06.03.2010