2009-07-07 5 views
0

Я делаю пакет установки программного обеспечения, и ранее я использую Inno Setup, и он работает очень хорошо.создание программного обеспечения пакет обновления вопрос

Текущая проблема, с которой я столкнулся с установкой Inno, не поддерживает все языки для пользовательского интерфейса настройки, например упрощенного китайского языка.

Проект установки VSTS 2008 поддерживает почти все языки, но он не поддерживает вызов другого установщика из текущего установщика, чтобы конечный пользователь мог установить зависимые пакеты программного обеспечения.

Моя программа для публикации предназначена для платформы Windows (Vista и XP), написанной на C# + VSTS 2008 + .Net 2.0.

Любые советы по моей проблеме?

спасибо заранее, Джордж

+1

Вы можете использовать проект установки в Visual Studio и посмотреть, поддерживает ли он альтернативные языки по умолчанию. – DevelopingChris

+0

Привет, DevelopingChris, кажется, что Project Setup не поддерживает вызов другого установщика из текущего установщика, чтобы позволить конечным пользователям устанавливать зависимые пакеты программного обеспечения. Например, мое программное обеспечение зависит от определенного программного обеспечения, я хочу связать зависимое программное обеспечение с пакетом инсталляции программного обеспечения и запросить пользователя установить зависимое программное обеспечение. Любые комментарии? – George2

+4

Как насчет добавления переводчиков в InnoSetup? Языковые файлы кажутся достаточно простыми, и это было бы хорошим дополнением к пакету. Посмотрите несколько примеров на http://www.innosetup.com/files/istrans/. Я предполагаю, что ваше программное обеспечение также доступно в Simplified Chiniese, поэтому добавление переводов для InnoSetup должно быть достаточно простым? – ylebre

ответ

5

В одном из комментариев к вашему вопросу предлагает, вы можете просто включить нужный язык в вашу установку Inno. Вы делаете это, добавив Languages раздел:

[Languages] 
Name: "en"; MessagesFile: "compiler:Default.isl" 
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" 

Это позволяет UI, который будет отображаться как в Englisch и голландском. Другие переводы могут быть добавлены соответственно.

Тот факт, что установщик Windows не разрешает «вложенные установки» (запуск MSI из MSI), может раздражать. Тем не менее, вы можете подумать о том, чтобы упаковать инсталляторы MSI в UI-less (= silent) Inno Setup, и Inno Setup запускает MSI один за другим.

EDIT
Это показывает вам, как вы можете запускать файлы EXE для установки зависимостей. Обратите внимание, что они могут быть установлены после вашего программного обеспечения. Если требуется, чтобы они были установлены перед вашим программным обеспечением, вам может потребоваться кодировать небольшой скрипт Pascal - это объясняется в файлах справки.

[Files] 
DestDir: {tmp}; Source: .\Files\sample.exe; Flags: deleteafterinstall; 
[Run] 
Filename: {tmp}\sample.exe; StatusMsg: Installing prerequisite 

Это включает в себя файл .\Files\sample.exe в установке, копирует его в папку TEMP после установки и удаляет его после того, как установка завершена. Затем, после копирования файлов, он запускает TEMP\sample.exe и ждет его завершения.

EDIT 2
Что касается комментария Ор на порядок элементов в [Run] разделе:

Есть два возможных случая:

  1. Вы с помощью программы установки Inno для выполнения фактическая установка вашего программного обеспечения (копирование файлов, записей в реестре и т. д.) и, кроме того, необходимо запустить установщиков для необходимых условий.
  2. У вас есть отдельный установщик для вашего программного обеспечения, и вам просто нужно, чтобы Inno Setup запускала установщиков для необходимых компонентов и вашего программного обеспечения.

Для случая 1:
Вам не нужно поместить файл ваш EXE в разделе [Run] на всех, за исключением вы хотите, чтобы позволить пользователю запустить приложение после установки, как показано во многих установках с использованием флажок («Запустить XYZ сейчас?»).В этом случае используйте следующую строку для вашего EXE:

Filename: {app}\yourprogram.exe; StatusMsg: Run the application; Flags: postinstall skipifsilent unchecked; Description: Run the application now 

Для случая 2:
я заказал бы записи в разделе [Run] в соответствии с их зависимостями. То есть: первая запись - та, которая зависит от некоторых других, последняя запись - это настройка вашего приложения. Но я не уверен в порядке, в котором обрабатываются записи.

На это могут ответить в документах для раздела [Run]. Если вы сомневаетесь, попробуйте попросить Джордана Рассела (автора Inno Setup) за советом - он хороший парень, и когда я последний раз его отправил, он очень быстро ответил.

+0

Спасибо Thorsten, и я пробовал ваши решения , круто! Еще два путаницы: 1. Именем и значением для Name может быть любое произвольное значение, если значение для MessageFile верно? Не могли бы вы подтвердить это? 2. Зависимое программное обеспечение не поставляется в виде msi, но exe. Любое решение для решения моей проблемы? – George2

+1

Привет, значение Name может быть любым. Взгляните на файл справки, который поставляется с Inno Setup. Откройте его и посмотрите раздел «Разделы сценария установки». Ниже приводится описание раздела «Языки» с дополнительной информацией. Нужно ли запускать EXE-файлы для установки ваших предварительных условий или вам нужно просто скопировать их где-нибудь? –

+1

Отредактировал мой ответ, чтобы показать вам, как запускать «временный» файл при установке приложения. –

Смежные вопросы