Установить программу из другой программы

0

Я разработчик игр, и моя текущая задача - создать игровой пусковой механизм. Если вы знаете, что такое Battle.net, вы поймете, что я имею в виду. Для самого запуска мы используем InstallBuilder из Bitrock. Но у конечного пользователя должна быть возможность установить фактическую игру, нажав кнопку в панели запуска. Затем пусковая установка будет загружать файлы, регистрировать их, показывать индикатор выполнения, позволять играть в игру до полной загрузки, создавать ярлык и т.д. - так же, как и Battle.net Launcher.

Итак, мой вопрос - с чего начать? Я полагаю, что это специфично для платформы, поэтому пока меня интересует Windows. Я использую VS2013, Qt.

Теги:
installation
installer
install

1 ответ

2
Лучший ответ

Прежде всего, вы должны создать установщик, который будет обрабатывать фактическую установку приложения. Затем вы можете вызвать установщика из другого процесса (в вашем случае запуска.)

В Qt вы можете использовать класс QProcess который QProcess здесь. Я думаю, что документация действительно хороша и ответит на большинство ваших вопросов, но то, что вам нужно сделать больше или меньше, заключается в следующем:

QObject *parent;
...
QString program = "./path/to/your/installer";
QStringList arguments;
arguments << "-option" << "argument";

QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);

(Скопировано довольно много дословных для документации.)

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

  • 0
    Это хорошая новость, что я могу использовать сторонний установщик с моим делом. И как я понимаю, мне нужно найти такой установщик, который позволяет отслеживать процесс, верно?
  • 0
    @nikitablack У вас есть много вариантов, от простого пакетного сценария до использования чего-то вроде Inno Setup. Это действительно зависит от того, что вы хотите установить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню