2012-05-07 19 views
6

Mi rutina de instalación utilizando distutils que funciona perfectamente bien en Windows XP no funciona para Windows 7. Aquí están los detalles:Instalación de los archivos de datos en% APPDATA% con distutils en Windows 7 X64

Mi paquete tiene una gran cantidad de archivos de configuración que instalo en% APPDATA%. En Windows ejecuto setup.py con la opción bdist_wininst para crear un instalador. En Win7, el instalador se ejecuta como administrador para que el módulo pueda instalarse en% PROGRAMFILES% \ Python, etc. La instalación no informa ningún error, pero como ya habrá adivinado, los archivos de configuración no se habrán instalado en% APPDATA% ni en ningún otro lado (los busqué).

Si abro un cmd como administrador e instalo mi paquete con la opción de instalación directamente (setup.py install), todo funciona perfectamente bien sin embargo.

Entonces, ¿qué es lo que me falta aquí? ¿Es esto una limitación en el instalador gráfico o estoy haciendo algo mal?

+3

No es realmente una respuesta, pero sugiero usar algo como NSIS para crear instaladores. Dejé de bdist_wininst hace mucho tiempo debido a sus limitaciones. NSIS es realmente fácil de usar y mucho más poderoso. – aquavitae

+0

Ya estoy usando NSIS, es genial. Pero pensé que debe/debe haber una solución nativa. – ifschleife

Respuesta

1

Puede usar algo como la solución común en * nix. Instale los archivos de configuración en %PROGRAMFILES%, y cópielos al %APPDATA% cuando el programa detecte que un usuario en particular está ejecutando el programa por primera vez (lo que se puede detectar al verificar que los archivos de configuración no se encuentran).

Cuestiones relacionadas