2011-02-11 13 views
7

L'eseguibile autoestraente che sto tentando di sviluppare è un programma di installazione. Un utente finale visiterà un sito, quindi gli verrà richiesto di registrarsi sul sito e verrà fornito un download. Quel download è l'eseguibile autoestraente che installerà il software sul computer dell'utente finale insieme a un file di configurazione con l'ID univoco dell'utente. Il software è un servizio di Windows, quindi non sarà in grado di chiedere all'utente il proprio nome utente e password.Creazione di un eseguibile autoestraente utilizzando PHP

Per poter inserire l'ID univoco dell'utente registrato nell'installer, avrei dovuto generare l'installer al volo. Dopo aver ricercato e utilizzato la mia esperienza, ho deciso che un eseguibile autoestraente sarebbe stata l'opzione migliore. La domanda che ho ora è come posso generarne una usando PHP? Dopo aver cercato questo problema, ho trovato che la soluzione più comune era installare un eseguibile che potesse creare eseguibili autoestraenti sul computer server e quindi richiamarlo da PHP. Tuttavia, l'esecuzione di un eseguibile non è possibile con il mio host web, quindi questa non è una soluzione praticabile.

+2

questo sembra pesce .. cosa vuoi fare? – dynamic

+0

Haha, sembra un po 'strano. Stiamo creando un servizio che scaricherà automaticamente un elenco di file sul computer dell'utente finale, quindi abbiamo bisogno di un programma client per visualizzare un file xml specifico per l'utente sul nostro sito Web che contiene un elenco di download che il client (Servizio Windows) scaricherà. – Dylan

risposta

2

Tuttavia, l'esecuzione di un eseguibile non è possibile con il mio host Web, quindi questa non è una soluzione praticabile.

Penso che in tal caso, sarà necessario passare a un host web che consente di fare questo (o affittare un server dedicato o virtuale). Puoi creare file ZIP da PHP quando sono installate le librerie necessarie, ma questo è tutto. La produzione di file eseguibili autoestraenti non è presente nel menu.

Se questa non è un'opzione, è necessario trovare un modo per pre-produrre l'eseguibile autoestraente e iniettare l'ID utente in esso in seguito. Questo è sicuramente possibile, ma mi aspetto che tu debba costruire un auto-estrattore personalizzato per questo.

+0

Purtroppo, non decido quale host web utilizziamo. – Dylan

+0

@Dylan quindi probabilmente non c'è modo, a meno che non trovi un modo per pre-produrre il file eseguibile autoestraente e inietti l'ID utente in seguito dopo che –

+0

@Pekka mi hai dato un'idea. Da quello che so, PHP è in grado di modificare file binari, quindi, forse, posso sostituire un segnaposto in un exe autoestraente pre-prodotto con l'equivalente binario dell'id univoco dell'utente. Ad essere onesti, non sono sicuro che funzionerà, ma ci penserò su. Grazie a Pekka. – Dylan

0

Un archivio autoestraente è solo un estrattore con dati di archivio aggiunti. Il programma estrattore si apre, trova l'offset dei dati e degli estratti. Potrebbe esserci un record del trailer per aiutare a trovare l'offset.

È possibile aggiungere facilmente file in PHP: sia un archivio con il programma che i dati dell'utente. Ma è necessario scrivere un estrattore personalizzato che sarà a conoscenza di questo formato.

+0

Buona idea. Potrei provare anche questo perché, di sicuro, PHP contiene funzioni per creare/modificare archivi e aggiungere file. – Dylan

0

Non sono sicuro che sia possibile .. Il massimo che si può fare è usare PHP per afferrare in modo dinamico i file richiesti sicuramente?

In ogni caso, forse la tua applicazione potrebbe accedere a Internet per prendere periodicamente i file necessari?

Oppure, è possibile fare riferimento a un file PHP esterno nel programma come /data.php?userid=1222&token=9999 che dovrebbe essere abbastanza sicuro.

+0

il problema è come ottenere l'ID utente – Dylan

+0

Ah, vedo, credo di aver letto male la domanda. Dovrò dare questo un po 'però. – JakeSteam

Problemi correlati