2010-01-20 7 views
15

Ho un'applicazione Qt che ho bisogno di installare su un computer del cliente, che non posso presumere abbia installato Qt su di esso. Sono su un Mac OSX e il computer lo installerò su un sistema basato su Unix. Lo installerò da solo, quindi non ho bisogno di una procedura guidata di installazione della GUI o qualcosa del genere. Idealmente mi piacerebbe finire con uno script o un makefile, insieme a una cartella con tutte le fonti e le librerie necessarie, ma non so da dove cominciare. I riferimenti sarebbero molto apprezzati, non ho trovato nulla di utile dopo molte ricerche su google.Come installare un'applicazione Qt su un sistema clienti?

La mia domanda si trova da qualche parte tra questi due:
Can you create a setup.exe in qt to install your app on a client computer?
Create Linux install for Qt application?

Non ho bisogno di una vera e propria installazione guidata (domanda 1), ma anche io non avrò la mia macchina durante l'installazione sito per continuare a copiare le librerie fino a quando tutte le dipendenze sono soddisfatte (domanda 2). Fondamentalmente ho bisogno di avere tutto su un CD pronto per l'installazione quando arrivo. Grazie in anticipo.

risposta

16

Ci sono due modi per installare un'applicazione Qt su un sistema:

1 - È possibile compilare Qt staticamente. Ciò ti consentirà di distribuire l'app senza alcuna dipendenza qt.

2 - è necessario distribuire la vostra applicazione con i file Qt librairy necessari (come qtcore.dll su Windows)

Troverete tutte le spiegazioni per ogni piattaforma nella documentazione Qt: http://qt-project.org/doc/qt-4.8/deployment.html.

Per creare il programma di installazione è possibile utilizzare InstallJammer per Windows e Unix.

Per MacOSX è necessario creare un'immagine dmg. Questo è molto semplice. Leggere la seguente pagina Web per assistenza: http://www.wikihow.com/Make-a-DMG-File-on-a-Mac. Usando lo script Apple puoi personalizzare dmg (come un collegamento a una cartella dell'applicazione nel dmg).

La mia preferenza per l'installazione Win32 è NSIS.

Spero che questo aiuti!

+0

Se compilo Qt staticamente, non avrei bisogno di compilare sullo stesso sistema/architettura del computer dei clienti? C'è un modo per aggirare la necessità di compilare la fonte sul proprio sistema? –

+0

Dovrai compilare Qt su ogni sistema per poter utilizzare librerie statiche OR dinamiche con la tua applicazione. Nei 2 modi è lo stesso (eccetto che le librerie dinamiche sono già compilate se si installa l'intero framework) –

+3

Inoltre, si deve notare che non è possibile distribuire un'app Qt closed-source, conforme staticamente, sotto la licenza LGPL. –

0

Non sono sicuro del motivo per cui si desidera evitare la procedura guidata di installazione. Può anche aiutarti a creare Uninstaller, desktop e scorciatoie del menu Start, ecc. Come menzionato nei post a cui fai riferimento, potresti usare BitRock InstallBuilder (Nokia lo usa per Qt Creator)

Se non vuoi usare un wizard e non voglio compilare staticamente, quindi puoi raggruppare le librerie Qt nella stessa cartella dell'app e configurare uno script di shell che imposta LD_LIBRARY_PATH in quella directory