Как использовать установщик для установки более одной установки в простой файл .exe? - PullRequest
1 голос
/ 17 ноября 2011

Я работаю над Java-клиентом.с сервером MySQL, и я сделал это как .jar файл.Я хочу, чтобы у пользователя был один простой .exe файл, который при его запуске устанавливает JRE и сервер MySQL, тогда у него будет ярлык для файла jar и просто работа над ним.

Я пытался использовать большечем установщик: установка inno, расширенный установщик, Excelsior Installer, ... но все они дают один и тот же результат: просто поместите все файлы .exe для JRE и сервера MySQL в папку назначения после установки продукта (т.е. просто распакуйтефайлы без их установки).

Кто-нибудь может мне помочь?

Ответы [ 2 ]

3 голосов
/ 17 ноября 2011

Вы можете запустить столько исполняемых файлов, сколько вам нужно (установщики установки Windows являются исполняемыми файлами) в [Run] в файле сценария InnoSetup при создании файла установки через InnoSetup.Но вы должны использовать Check:, чтобы проверить, был ли установлен каждый установщик.

Пример установки среды выполнения Java Advanced Imaging (JAI) и распространяемого пакета Visual C ++ 2010 (x86) с проверкой реестра на целиsystem:

[Files]
Source: "install\README.txt"; DestDir: "{app}" Flags: ignoreversion
Source: "install\vcredist_x86.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs
Source: "install\jai-1_1_3-lib-windows-i586-jre.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs

[Icons]
Name: "{group}\{cm:UninstallProgram, {#MyTitleName}}"; Filename: "{uninstallexe}"; Comment: "Uninstalls {#MyTitleName}"

[Run]
Filename: "{app}\vcredist_x86.exe"; StatusMsg: {cm:RunVCRedist2010x86}; Flags: runhidden shellexec waituntilterminated; Check: IsNotVCRedist2010x86Installed
Filename: "{app}\jai-1_1_3-lib-windows-i586-jre.exe"; StatusMsg: {cm:RunJAIByDefault}; Flags: runhidden shellexec waituntilterminated; Check: IsNotJAIInstalled

[Code]
function IsNotJAIInstalled: Boolean;
begin
  Result := not RegKeyExists(HKLM, 'SOFTWARE\SUNW\Java Advanced Imaging');
end;

function IsNotVCRedist2010x86Installed: Boolean;
var
  Installed: Cardinal;
begin
  Result := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86',
    'Installed', Installed) and (Installed <> 1);
end;

Примечание: Если ваши установщики в [Files] находятся в папке «install» вашего проекта InnoSetup, они сжимаются во время процесса Innosetup для создания вашего InnoSetupНастройка исполняемого файла.Когда вы запустите созданную настройку, она распакует установщики в вашей определенной папке {app} и выполнит все, что определено в [Run]

0 голосов
/ 18 ноября 2011

Java Web Start и deployJava.js являются очевидными вариантами этого развертывания.

  1. Используйте deployJava.js, чтобы убедиться, что пользователь имеет правоминимальная версия JRE для запуска приложения.
  2. Вызовите установщик MySQL с помощью ExtensionInstallerService.
  3. (при необходимости) сохраните все данные, относящиеся к установке (например,путь, который пользователь выбрал для установки БД) с помощью PersistenceService.
  4. Укажите ярлыки рабочего стола и пункты меню в файле запуска.

Обратите внимание, что еслиВы можете предоставить установщик для MySQL на Mac.и * nix, JWS может разделить загрузку по ОС.

...