Hola,
estoy intentando instalar un paquete de actualización de Firefox de la versión 52.9esr a la 68.9esr.
El problema es que esta actualización crea un nuevo perfil de usuario predeterminado.
La idea es hacer una copia de seguridad del archivo C:\Users\Username\AppData\Roaming\Mozilla\Firefox\profiles.ini en otra carpeta durante la instalación (en mi ejemplo, C:\temp) y luego restaurarlo a su ubicación original una vez finalizada la instalación, para conservar el acceso al perfil de usuario (que contiene marcadores, contraseñas, etc.).
Para ello, tengo: `
from setuphelpers import *
uninstallkey = []
def install():
#copiando el archivo profiles.ini de AppData a c:\Temp
print('guardando el archivo profiles.ini')
filecopyto(user_appdata()+'\Mozilla\Firefox\profiles.ini','c:\Temp')
#terminando el proceso Firefox.exe
print('cerrando Firefox')
killalltasks("firefox.exe")
#actualizando a Firefox 68.9.0esr (32 bits)
print('actualizando a Firefox 68.9.0esr (32 bits)')
install_exe_if_needed("Firefox Setup 68.9.0esr.exe",'/s',key='')
.....
Todo va bien cuando ejecuto mi instalación desde PyScripter en mi máquina de desarrollo (con Windows 10 Pro); Copia correctamente el archivo profiles.ini de C:\Users\Username\AppData\Roaming\Mozilla\Firefox\ a C:\Temp.
Cuando ejecuto la instalación de mi paquete desde la consola en otra máquina (servidor Debian 9, Wapt 1.7.4), obtengo un error de instalación:
IOError: [Errno 2] No existe tal archivo o directorio: u'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Mozilla\\Firefox\\profiles.ini'
Está buscando el archivo profiles.ini en el lugar incorrecto.
He probado varios métodos, incluyendo `
from os import path
appdatapath = path.expandvars('%APPDATA%')
filecopyto(appdatapath+'\Mozilla\Firefox\profiles.ini','c:\Temp')`
, pero el problema persiste: el paquete funciona correctamente en mi máquina de desarrollo con PyScripter, pero obtengo el mismo error al intentar instalarlo desde la consola en otra máquina de prueba.
Hay un detalle que se me escapa: ¿por qué mi script busca el archivo en la ubicación correcta al instalarlo desde PyScripter, y luego lo busca en `C:\Windows\system32\config\systemprofile\AppData\Roaming\Mozilla\Firefox` al instalarlo desde la consola?
Gracias de antemano por su ayuda.
Atentamente,
Cyril G
manipulación del perfil de usuario
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Hola,
cuando pruebas tu paquete desde PyScripter, la instalación se realiza en el contexto de tu usuario.
Cuando ejecutas la instalación en otra máquina, la instalación se realiza como el usuario SYSTEM, que no tiene un perfil en el sentido tradicional.
Si solo tienes un usuario en la máquina, tendrás que recuperar el nombre del último perfil de usuario que inició sesión y usar esa información para construir la ruta correcta a C:\users\
No estoy seguro de si WAPT tiene una función para recuperar el último usuario autenticado en una máquina.
Consulta la documentación de WAPT; de lo contrario, debe existir una clave de registro que contenga esa información.
cuando pruebas tu paquete desde PyScripter, la instalación se realiza en el contexto de tu usuario.
Cuando ejecutas la instalación en otra máquina, la instalación se realiza como el usuario SYSTEM, que no tiene un perfil en el sentido tradicional.
Si solo tienes un usuario en la máquina, tendrás que recuperar el nombre del último perfil de usuario que inició sesión y usar esa información para construir la ruta correcta a C:\users\
No estoy seguro de si WAPT tiene una función para recuperar el último usuario autenticado en una máquina.
Consulta la documentación de WAPT; de lo contrario, debe existir una clave de registro que contenga esa información.
en setuphelpers:
-> devuelve midominio\usuario
para un usuario local
.\usuario
También
devuelve una lista ['usuario']
Lista de perfiles de máquinas:
Código: Seleccionar todo
get_last_logged_on_user()para un usuario local
.\usuario
También
Código: Seleccionar todo
get_loggedinusers()Lista de perfiles de máquinas:
Código: Seleccionar todo
local_users_profiles()
['C:\\Windows\\ServiceProfiles\\LocalService',
'C:\\Windows\\ServiceProfiles\\NetworkService',
'C:\\Users\\htouvet',
'C:\\Users\\user1']TI tranquila
