2012-05-07 3 views
6

mia routine di installazione usando distutils che funziona perfettamente bene su Windows XP non funziona per Windows 7. Ecco le specifiche:Installazione dei file di dati in% appdata% con distutils su Windows 7 x64

Il mio pacchetto ha un sacco di file di configurazione che installo in% APPDATA%. Su Windows eseguo setup.py con l'opzione bdist_wininst per creare un programma di installazione. Su Win7 l'installer viene quindi eseguito come amministratore in modo tale che il modulo possa essere installato in% PROGRAMFILES% \ Python, ecc. L'installazione non riporta errori, ma come si potrebbe pensare che i file di configurazione non siano stati installati in% APPDATA% né altrove (li ho cercati).

Se apro un cmd come amministratore e installo il mio pacchetto direttamente con l'opzione di installazione (setup.py install), tutto funziona perfettamente bene comunque.

Quindi, cosa mi manca qui? Si tratta di una limitazione nell'installer grafico o sto facendo qualcosa di sbagliato?

+3

Non proprio una risposta, ma suggerirei di utilizzare qualcosa come NSIS per la creazione di programmi di installazione. Ho rinunciato a bdist_wininst molto tempo fa a causa dei suoi limiti. NSIS è davvero facile da usare e molto più potente. – aquavitae

+0

Attualmente sto usando NSIS, è fantastico. Ma ho pensato che ci dovesse/dovrebbe essere una soluzione nativa. – ifschleife

risposta

1

È possibile utilizzare qualcosa come la soluzione comune su * nix. Installare i file di configurazione su %PROGRAMFILES% e copiarli su %APPDATA% quando il programma rileva che un particolare utente sta eseguendo il programma per la prima volta (che può essere rilevato controllando che i file di configurazione siano mancanti).