Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: ninjaproger от Апрель 09, 2010, 17:05



Название: РЕШЕНО: MAC OS: Как запустить из QT-приложения инсталлятор в формате pkg?
Отправлено: ninjaproger от Апрель 09, 2010, 17:05
Добрый день,

вопрос в следующем, в программе автозагрузчике свежих версий
скачивается pkg файл с инсталляхой
как запустить его из автозагрузчика по окончанию скачивания?

QProcess install;
install.execute(".\proga.pkg");

не работает.


Название: Re: MAC OS: Как запустить из QT-приложения инсталлятl
Отправлено: Пантер от Апрель 09, 2010, 17:06
pkg сам не устанавливается, его устанавливает определенная программа. Нужно просто запустить эту программу с параметром путь к загрузчику.


Название: Re: MAC OS: Как запустить из QT-приложения инсталлятор в формате pkg?
Отправлено: ninjaproger от Апрель 09, 2010, 17:12
Может ктото подскажет какой командой запускать pkg файл из приложения?


Название: Re: MAC OS: Как запустить из QT-приложения инсталлятор в формате pkg?
Отправлено: BRE от Апрель 09, 2010, 17:18
Может ктото подскажет какой командой запускать pkg файл из приложения?
Посмотри на:
bool QDesktopServices::openUrl ( const QUrl & url )   [static]


Название: Re: MAC OS: Как запустить из QT-приложения инсталлятор в формате pkg?
Отправлено: Igors от Апрель 09, 2010, 17:30
Вероятно openUrl лучше, но пройдет и так
Код:
QProcess::execute("open", "/Users/name/Desktop/proga.pkg");


Название: Re: MAC OS: Как запустить из QT-приложения инсталлятор в формате pkg?
Отправлено: ninjaproger от Апрель 09, 2010, 17:47
Спасибо! Решено с помощью QDesktopServices


скачиваю pkg
сохраняю его в QDir::tempPath();

затем

QDesktopServices::openUrl(QUrl("file://"+QDir::tempPath()+"/"+pkgFileName,QUrl::TolerantMode));

Огромное спасибо BRE!
отличный аватар ;)

Igors твой вариант тоже пашет и подходит,
Спасибо!

теперь не знаю что выбрать =)