Nitin Surya Ответов: 1

При попытке загрузить настольное приложение crystal reports runtime произошла ошибка


Привет
Я делаю настольное приложение в VB.net с crystal report в VS10.
Мое приложение отлично работает в моей системе, но если я запускаю его на другой компьютер, на котором не установлены crystal reports, это дает мне ошибку:
An error has occurred while attempting to load the Crystal Reports runtime desktop application Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required. Please go to http://www.businessobjects.com/support for more information


Что еще мне нужно сделать, потому что это невозможно дать
CRRuntime_32bit_13_0_12.msi
внутри моей настройки и попросите пользователя установить его

Что я уже пробовал:

I have copied all required dll to user PC at my application installed location.

Nitin Surya

я использую Inno setup для создания exe-пакета

1 Ответов

Рейтинг:
4

Jochen Arndt

Вы должны включить MSI в свою программу установки и установить ее вместе с вашим приложением.

Непроверенная часть скрипта InnoSetup (см. Также База Знаний Установки Inno[^] ):

[Files]
Source: "[<Path>\]CRRedist<version>.msi"; DestDir: "{tmp}"; Flags: deleteafterinstall

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\CRRedist<version>.msi""";
Description: "Crystal Reports"; Flags: waituntilterminated

Вы также можете позволить оболочке выполнить MSI-файл:
[Run]
Filename: "{tmp}\CRRedist<version>.msi"; Description: "Crystal Reports"; Verb: "open"; Flags: shellexec waituntilterminated

См. также раздел Разделы [Run] & [UninstallRun] [^] для различных опций и флагов, таких как отображение сообщения о состоянии.

Для обработки ошибок во время установки используйте Pascal Scripting: ShellExec[^] функция.


Nitin Surya

я хочу, чтобы он выполнялся без графического интерфейса.. Я имею в виду, что графический интерфейс установки msi-файлов не должен появляться при установке main setup. Возможно ли это?

Jochen Arndt

Смотрите опцию "/q" по адресу Параметры Командной Строки Msiexec. Он может быть использован для отображения нет или уменьшенного пользовательского интерфейса.

Но при этом вы должны добавить "StatusMsg" в раздел запуска InnoSetup, чтобы пользователи знали, что что-то происходит, и он должен быть терпелив.

Nitin Surya

Есть ли какой-нибудь другой способ, кроме установки msi для crystal report, например скопировать и зарегистрировать какую-нибудь dll или что-то другое?

Jochen Arndt

Если есть (но я так не думаю), то почему бы вам сделать это вместо того, чтобы использовать предоставленный установочный пакет?

Это позволит выполнить все необходимые задачи:
Проверка, если он уже установлен, копирование в правильные места и регистрация.

Nitin Surya

"/q" не работает, он должен быть установлен в фоновом режиме.

Jochen Arndt

Что значит "не работает" означает?

Как вы его указали (должно быть вставлено до или после /i, разделенного пробелом)?

Почему вы не хотите показывать какую-либо информацию пользователю?
Вам все равно придется подождать, пока установка не будет завершена.

Nitin Surya

я имею в виду, что он не устанавливался, я использовал "/q /i", теперь он работает нормально.. спасибо Вам за помощь