Página 1 de 2

[WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 20 de mayo de 2019 - 14:23
por upperm
Buen día,

Actualmente estoy creando un paquete para instalar Oracle 11.

Tengo un problema durante la instalación. Para una instalación silenciosa, se debe ejecutar setup.exe con un archivo .rspHasta ahora no hay problemas. El problema es que setup.exe ejecuta el proceso oui.exe, que realiza la instalación (y, por lo tanto, setup.exe se cierra inmediatamente). Como resultado, WAPT detecta un error y finaliza su procedimiento, generando errores en el proceso.

Entonces, ¿es posible hacer que WAPT espere antes de continuar con el resto de la instalación mientras se ejecuta el proceso oui.exe?

configuración.py

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print ('Installation clef registre')
    registry_setstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Oracle",'ImagePath',makepath(programfiles32,'Oracle\Inventory'), type=REG_EXPAND_SZ)
    print('installing far-oracle')
    filecopyto('client.rsp','C:\Windows\Temp')
    run(r'setup.exe -silent -responseFile C:\Windows\Temp\client.rsp')
    filecopyto('Tnsnames.ora','C:\Oracle11\product\11.2.0\client_1\network\admin')
    print ('Installation des drivers ODBC')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name MELODIE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name ARPEGE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name REQUIEM -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
def uninstall():
    print('uninstalling far-oracle11')
    run('C:\Oracle11\product\11.2.0\client_1\deinstall\deinstall.bat')

Registros:

Código: Seleccionar todo

Ligne de Commande : install "c:\waptdev\far-oracle-wapt\WAPT\.."
Installing WAPT files c:\waptdev\far-oracle-wapt
Installation clef registre
installing far-oracle
2019-05-20 14:09:40,101 CRITICAL Fatal error in install script: IOError: [Errno 2] No such file or directory: 'C:\\Oracle11\\product\t.2.0\\client_1\network\x07dmin':
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 3512, in install_wapt
    exitstatus = setup.install()
  File "c:\waptdev\far-oracle-wapt\setup.py", line 12, in install
    filecopyto('Tnsnames.ora','C:\Oracle11\product\11.2.0\client_1\network\admin')
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 682, in filecopyto
    shutil.copy(filename,target)
  File "C:\Program Files (x86)\wapt\lib\shutil.py", line 133, in copy
    copyfile(src, dst)
  File "C:\Program Files (x86)\wapt\lib\shutil.py", line 97, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 2] No such file or directory: 'C:\\Oracle11\\product\t.2.0\\client_1\network\x07dmin'

FATAL ERROR : IOError: [Errno 2] No such file or directory: 'C:\\Oracle11\\product\t.2.0\\client_1\network\x07dmin'
Exit code:  3
Gracias de antemano !
Mateo.

Re: [WAPT 1.6.2][RESUELTO] Creación de un paquete de Oracle 11

Publicado: 20 de mayo de 2019 - 20:08
por upperm
¡Problema "resuelto"!
Estoy usando un archivo .bat, que evita que se devuelva un error. Probablemente no sea el mejor método, pero funciona.

También logré manejar la desinstalación.

Entonces, si alguien está buscando implementar Oracle 11 (32 bits), esto es lo que hice:

Estructura del paquete:
Imagen

La carpeta Oracle contiene los archivos de instalación, así como los archivos para la instalación y desinstalación.
Imagen

El archivo instalar.rsp

Código: Seleccionar todo

###############################################################################
## Copyright(c) Oracle Corporation 1998, 2013. All rights reserved.           ##
##                                                                           ##
## Specify values for the variables listed below to customize                ##
## your installation.                                                        ##
##                                                                           ##
## Each variable is associated with a comment. The comment                   ##
## can help to populate the variables with the appropriate                   ##
## values.							             ##
##                                                                           ##
###############################################################################


#-------------------------------------------------------------------------------
# Do not change the following system generated value. 
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=http://www.oracle.com/2007/install/rspfmt_clientinstall_response_schema_v11_2_0

#-------------------------------------------------------------------------------
# This variable holds the hostname of the system as set by the user. 
# It can be used to force the installation to use an alternative   
# hostname rather than using the first hostname found on the system
# (e.g., for systems with multiple hostnames and network interfaces).
ORACLE_HOSTNAME=computer.mshome.net
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.  
UNIX_GROUP_NAME=
#-------------------------------------------------------------------------------
# Specify the languages in which the components will be installed.             
#
# en   : English                  ja   : Japanese                  
# fr   : French                   ko   : Korean                    
# ar   : Arabic                   es   : Latin American Spanish    
# bn   : Bengali                  lv   : Latvian                   
# pt_BR: Brazilian Portuguese     lt   : Lithuanian                
# bg   : Bulgarian                ms   : Malay                     
# fr_CA: Canadian French          es_MX: Mexican Spanish           
# ca   : Catalan                  no   : Norwegian                 
# hr   : Croatian                 pl   : Polish                    
# cs   : Czech                    pt   : Portuguese                
# da   : Danish                   ro   : Romanian                  
# nl   : Dutch                    ru   : Russian                   
# ar_EG: Egyptian                 zh_CN: Simplified Chinese        
# en_GB: English (Great Britain)  sk   : Slovak                    
# et   : Estonian                 sl   : Slovenian                 
# fi   : Finnish                  es_ES: Spanish                   
# de   : German                   sv   : Swedish                   
# el   : Greek                    th   : Thai                      
# iw   : Hebrew                   zh_TW: Traditional Chinese       
# hu   : Hungarian                tr   : Turkish                   
# is   : Icelandic                uk   : Ukrainian                 
# in   : Indonesian               vi   : Vietnamese                
# it   : Italian                                                   
#
# all_langs   : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
SELECTED_LANGUAGES=en,fr,fr_CA
#-------------------------------------------------------------------------------
# Complete path of the Oracle Home  
ORACLE_HOME=C:\Oracle11\product\11.2.0\client_1
#-------------------------------------------------------------------------------
# Complete path of the Oracle Base. 
ORACLE_BASE=C:\Oracle11
#------------------------------------------------------------------------------
#Name       : INSTALL_TYPE
#Datatype   : String
#Description: Installation type of the component.
#
#             The following choices are available. The value should contain
#             only one of these choices.
#               - InstantClient
#               - Administrator
#               - Runtime
#               - Custom
#
#Example    : INSTALL_TYPE = Administrator
#------------------------------------------------------------------------------
oracle.install.client.installType=Administrator
#------------------------------------------------------------------------------
#Name       : oracle.install.client.upgrading
#Datatype   : boolean
#Description: whether or not this is an upgrade installation
#
#             The following choices are available. The value should contain
#             only one of these choices.
#               - true
#               - false
#
#Example    : oracle.install.client.upgrading=true
#------------------------------------------------------------------------------
oracle.install.client.upgrading=false
#-------------------------------------------------------------------------------
# Name       : oracle.install.client.customComponents
# Datatype   : StringList
#
# This property is considered only if INSTALL_TYPE is set to "Custom"
#
# Description: List of Client Components you would like to install
#
#   The following choices are available. You may specify any
#   combination of these choices.  The components you choose should
#   be specified in the form "internal-component-name:version"
#   Below is a list of components you may specify to install.
#
# oracle.sqlj:11.2.0.4.0 -- "Oracle SQLJ"
# oracle.rdbms.util:11.2.0.4.0 -- "Oracle Database Utilities"
# oracle.javavm.client:11.2.0.4.0 -- "Oracle Java Client"
# oracle.sqlplus:11.2.0.4.0 -- "SQL*Plus"
# oracle.dbjava.jdbc:11.2.0.4.0 -- "Oracle JDBC/THIN Interfaces"
# oracle.ldap.client:11.2.0.4.0 -- "Oracle Internet Directory Client"
# oracle.rdbms.oci:11.2.0.4.0 -- "Oracle Call Interface (OCI)"
# oracle.precomp:11.2.0.4.0 -- "Oracle Programmer"
# oracle.xdk:11.2.0.4.0 -- "Oracle XML Development Kit"
# oracle.network.aso:11.2.0.4.0 -- "Oracle Advanced Security"
# oracle.oraolap.mgmt:11.2.0.4.0 -- "OLAP Analytic Workspace Manager and Worksheet"
# oracle.network.client:11.2.0.4.0 -- "Oracle Net"
# oracle.network.cman:11.2.0.4.0 -- "Oracle Connection Manager"
# oracle.network.listener:11.2.0.4.0 -- "Oracle Net Listener"
# oracle.ordim.client:11.2.0.4.0 -- "Oracle Multimedia Client Option"
# oracle.odbc:11.2.0.4.0 -- "Oracle ODBC Driver"
# oracle.has.client:11.2.0.4.0 -- "Oracle Clusterware High Availability API"
# oracle.dbdev:11.2.0.4.0 -- "Oracle SQL Developer"
# oracle.rdbms.scheduler:11.2.0.4.0 -- "Oracle Scheduler Agent" 
# oracle.ntoramts:11.2.0.4.0 -- "Oracle Services For Microsoft Transaction Server"
# oracle.ntrdbms.admin:11.2.0.4.0 -- "Oracle Administration Assistant for Windows"
# oracle.ntoledb:11.2.0.4.0 -- "Oracle Provider for OLE DB"
# oracle.ntoledb.odp_net_2:11.2.0.4.0 -- "Oracle Data Provider for .NET"
# oracle.aspnet_2:11.2.0.4.0 -- "Oracle Providers for ASP.NET"
# oracle.ntrdbms.perfmon:11.2.0.4.0 -- "Oracle Counters for Windows Performance Monitor"
# oracle.oo4o:11.2.0.4.0 -- "Oracle Objects for OLE" 
# 
#
# Example    : oracle.install.client.customComponents="oracle.precomp:11.2.0.4.0","oracle.oraolap.mgmt:11.2.0.4.0","oracle.rdbms.scheduler:11.2.0.4.0"
#-------------------------------------------------------------------------------
oracle.install.client.customComponents=
#-------------------------------------------------------------------------------
# Host name to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example    : oracle.install.client.schedulerAgentHostName = acme.domain.com
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentHostName=

#------------------------------------------------------------------------------
# Port number to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example: oracle.install.client.schedulerAgentPortNumber = 1500
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentPortNumber=

#------------------------------------------------------------------------------
# Specify the auto-updates option. It can be one of the following:
#   - MYORACLESUPPORT_DOWNLOAD
#   - OFFLINE_UPDATES
#   - SKIP_UPDATES
#------------------------------------------------------------------------------
oracle.installer.autoupdates.option=SKIP_UPDATES
#------------------------------------------------------------------------------
# In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where
# the updates are to be downloaded.
# In case OFFLINE_UPDATES option is chosen, specify the location where the updates
# are present.
oracle.installer.autoupdates.downloadUpdatesLoc=
#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username which has the patches download privileges  
# to be used for software updates.
#  Example   : AUTOUPDATES_MYORACLESUPPORT_USERNAME=abc@oracle.com
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username password which has the patches download privileges  
# to be used for software updates.
#
# Example    : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

#------------------------------------------------------------------------------
# Specify the Proxy server name. Length should be greater than zero.
#
# Example    : PROXY_HOST=proxy.domain.com 
#------------------------------------------------------------------------------
PROXY_HOST=

#------------------------------------------------------------------------------
# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example    : PROXY_PORT=25 
#------------------------------------------------------------------------------
PROXY_PORT=0
#------------------------------------------------------------------------------
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD 
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_USER=username 
#------------------------------------------------------------------------------
PROXY_USER=

#------------------------------------------------------------------------------
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD  
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_PWD=password 
#------------------------------------------------------------------------------
PROXY_PWD=
#------------------------------------------------------------------------------
# Specify the proxy realm.
#
# Example    : PROXY_REALM=metalink
#------------------------------------------------------------------------------
PROXY_REALM=
El archivo eliminar.rsp

Código: Seleccionar todo

[ENGINE]
 
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
 
[GENERIC]
 
#
OH_HOME_DEINSTALL=false
 
#
DOMAIN_MANAGED_ASINSTANCE_DEINSTALL=true
 
#
UNMANAGED_ASINSTANCE_DEINSTALL=false
 
#
DEINSTALL_IN_ASINSTANCE_MODE=true
 
#
DEINSTALL INSTANCE LIST=
 
 
[SYSTEM]
 
 
[APPLICATIONS]

 
[RELATIONSHIPS]
 
#
MIDDLEWARE_HOME=
 
#
WEBLOGIC_HOME=
 
#
DOMAIN_HOST_NAME=
 
#
DOMAIN_PORT_NO=7001
 
#
DOMAIN_USER_NAME=weblogic
 
#
DOMAIN_USER_PASSWORD=
 
#
MANAGED_INSTANCE_LIST=
El archivo instalar_oracle.bat

Código: Seleccionar todo

start /wait Oracle/install/oui.exe -responseFile C:\Windows\Temp\install.rsp -silent -nowait
El archivo configuración.py

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []
ORACLE_HOME = 'C:\Oracle11\product\\11.2.0\client_1'
def install():
    print ('Installation clef registre')
    registry_setstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Oracle",'ImagePath',makepath(programfiles32,'Oracle\Inventory'), type=REG_EXPAND_SZ)

    print('Installing wapt-oracle')
    filecopyto('Oracle\\install.rsp','C:\Windows\Temp')
    run('install_oracle.bat')

	# Exemple pour ajouter une base ODBC. Pensez à modifier "-Name YOUR_APPS" et "Server=XXXXXXXX"
    # print ('Installation des drivers ODBC')
    # run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name YOUR_APPS -Platform 32-bit -SetPropertyValue "Server=XXXXXXXX"')

	# Copie du fichier TNS Name si besoin
    # filecopyto('Oracle\\tnsnames.ora',makepath(ORACLE_HOME,'network\\admin'))
    
	filecopyto('Oracle\\remove.rsp',makepath(ORACLE_HOME,'deinstall'))

def uninstall():
    print('Uninstalling wapt-oracle11')

    if isfile(makepath(ORACLE_HOME,'deinstall\\deinstall.bat')):
        run(r'{}\\deinstall/deinstall -silent -paramFile remove.rsp'.format(ORACLE_HOME))

    print('Check if folder still persit and delete')
    if isdir(makepath(ORACLE_HOME)):
        remove_tree(makepath(ORACLE_HOME))

    if isdir(makepath(programfiles32,'Oracle\Inventory')):
        remove_tree(makepath(programfiles32,'Oracle\Inventory'))

    if registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\WOW6432Node", 'oracle') :
        run('reg delete HKLM\SOFTWARE\WOW6432Node\oracle /f')

    if registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE", 'oracle') :
        run('reg delete HKLM\SOFTWARE\oracle /f')
Mateo.

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 20 de mayo de 2019 - 21:50
por htouvet
Normalmente, el comando "ejecutar" de wapt espera a que finalice el proceso llamado.

En tu código, el problema principal es la ausencia de 'r' en las cadenas cuando contienen "\" (un carácter que, al combinarse con el que sigue, se interpreta en Python de una manera especial, a menos que pongamos una 'r' al principio de la cadena para significar 'raw', una cadena "raw").

Esto explica los errores extraños "IOError: [Errno 2] No existe el archivo o directorio: 'C:\\Oracle11\\product\t.2.0\\client_1\network\x07dmin'"

Código: Seleccionar todo

def install():
    print ('Installation clef registre')
    registry_setstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Oracle",'ImagePath',makepath(programfiles32,'Oracler','Inventory'), type=REG_EXPAND_SZ)
    print('installing far-oracle')
    filecopyto('client.rsp',r'C:\Windows\Temp')
    run(r'setup.exe -silent -responseFile C:\Windows\Temp\client.rsp')
    filecopyto('Tnsnames.ora',r'C:\Oracle11\product\11.2.0\client_1\network\admin')
    print ('Installation des drivers ODBC')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name MELODIE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name ARPEGE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name REQUIEM -Platform 32-bit -SetPropertyValue "Server=arpetcp"')

def uninstall():
    print('uninstalling far-oracle11')
    run(r'C:\Oracle11\product\11.2.0\client_1\deinstall\deinstall.bat')
    

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 21 de mayo de 2019 - 11:40
por upperm
Sí, gracias, ¡me di cuenta después! :)

Sin embargo, la instalación no funciona al iniciarla con wapt. Sospecho que la cuenta del sistema está causando el problema, ya que al iniciar la instalación desde PyScripter, todo funciona correctamente.

Oracle me muestra un error de permisos:

Código: Seleccionar todo

SEVERE: [FATAL] [INS-30131] Echec de la configuration initiale requise pour l'exécution des validations du programme d'installation.
   CAUSE: Echec de l'accès à l'emplacement temporaire.
   ACTION: Assurez-vous que l'utilisateur en cours détient les autorisations nécessaires pour accéder à l'emplacement temporaire.
Incluso al cambiar el directorio base (usuario%tmp%) a otro (C:\Temp, C:\Windows\Temp) se produce el error.

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 21 de mayo de 2019 - 15:28
por htouvet
Quizás mi error tipográfico (Oracler) en la ruta sea incorrecto...?


def install():
print('Instalación de clave de registro')
registry_setstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Oracle", 'ImagePath', makepath(programfiles32, 'Oracle', 'Inventory'), type=REG_EXPAND_SZ)
...

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 22 de mayo de 2019 - 15:15
por upperm
Continué con mis pruebas y la instalación ahora funciona correctamente, sin más problemas. Sin embargo, parece que recibo un error cuando WAPT intenta finalizar el proceso: Acceso denegado: psutil.AccessDenied (pid=6328)


Aquí está el setup.py actualizado

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []
ORACLE_HOME = r'C:\Oracle11\product\11.2.0\client_1'
RegInventory = r'SOFTWARE\Oracle'
RegOracle = r'SOFTWARE\WOW6432Node\Oracle'

def install():
    print ('Installation clef registre')
    registry_setstring(HKEY_LOCAL_MACHINE, RegInventory,'ImagePath',makepath(programfiles32,'Oracle\Inventory'), type=REG_EXPAND_SZ)

    print('Installing far-oracle')
    filecopyto('Oracle\\install.rsp','C:\Windows\Temp')

    run(r'Oracle\install\oui.exe -responseFile C:\Windows\Temp\install.rsp -silent -nowait',timeout=60*60)

    print ('Installation des drivers ODBC')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name MELODIE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name ARPEGE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1_32bit" -DsnType System -Name REQUIEM -Platform 32-bit -SetPropertyValue "Server=arpetcp"')

    filecopyto('Oracle\\tnsnames.ora',makepath(ORACLE_HOME,'network\\admin'))
    filecopyto('Oracle\\remove.rsp',makepath(ORACLE_HOME,'deinstall'))

def uninstall():
    print('Uninstalling far-oracle11')

    if isfile(makepath(ORACLE_HOME,'deinstall\\deinstall.bat')):
        run(r'{}\\deinstall/deinstall -silent -paramFile remove.rsp'.format(ORACLE_HOME))

    if reg_key_exists(HKEY_LOCAL_MACHINE,RegOracle):
        run('reg delete HKLM\{} /f'.format(RegOracle))

    if reg_key_exists(HKEY_LOCAL_MACHINE,RegInventory):
        run('reg delete HKLM\{} /f'.format(RegInventory))

    # if service_installed('OracleRemExecService'):
    #    if service_is_running('OracleRemExecService'):
    #        service_stop('OracleRemExecService')

    if isdir(makepath(ORACLE_HOME)):
        remove_tree(r'C:\\Oracle11')

    if isdir(makepath(programfiles32,'Oracle')):
        remove_tree(makepath(programfiles32,'Oracle'))
Aquí están los registros:

Código: Seleccionar todo

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1374, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 515, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 960, in _run
    self.result.get('errors',[])))
Exception: Erreur lors de l'installation de [u'far-oracle']: erreurs dans les paquets [[u'far-oracle', PackageEntry(u'far-oracle',u'1.0.5') , u'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4372, in install\n    force=force\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3591, in install_wapt\n    raise e\nAccessDenied: psutil.AccessDenied (pid=6328)\n']]

Exception: Erreur lors de l'installation de [u'far-oracle']: erreurs dans les paquets [[u'far-oracle', PackageEntry(u'far-oracle',u'1.0.5') , u'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4372, in install\n    force=force\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3591, in install_wapt\n    raise e\nAccessDenied: psutil.AccessDenied (pid=6328)\n']]
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1374, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 515, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1041, in _run
    self.result = self.wapt.audit(self.packagename,force = self.force)
  File "C:\Program Files (x86)\wapt\common.py", line 5654, in audit
    raise Exception('Package %s is not installed' % package)
Exception: Package far-oracle is not installed

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 24 de octubre de 2019 - 09:59
por Ado
Estaba empezando a desesperarme, ¡gracias por compartir, upperm! :D

Hice lo mismo que tú, ejecutando oui.exe directamente, y funciona correctamente. Sin embargo, no entendía por qué no ejecutaba el archivo .rsp directamente desde la carpeta WAPT, aunque puedo copiar el archivo tnsnames...


Una pregunta rápida: al final de la instalación (o desinstalación), te pide que pulses Intro para cerrar la línea de comandos. ¿Cómo se evita esto? Porque me parece que mientras no lo hagas, la instalación permanece activa.

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 24 de octubre de 2019 - 10:19 a. m.
por upperm
Hola !

Personalmente no tengo ningún problema en ese sentido.

Archivo de configuración

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []
ORACLE_HOME = r'C:\Oracle11\product\11.2.0\client_1'
RegInventory = r'SOFTWARE\Oracle'
RegOracle = r'SOFTWARE\WOW6432Node\Oracle'

def install():

    if not isfile(makepath(ORACLE_HOME,'bin\oraclient11.dll')):
        print (r'Installation clef registre')
        registry_setstring(HKEY_LOCAL_MACHINE, RegInventory,'ImagePath',makepath(programfiles32,'Oracle\Inventory'), type=REG_EXPAND_SZ)
        filecopyto('Oracle\\install.rsp','C:\Windows\Temp')

        print(r'Installation Oracle 11')
        run(r'Oracle\install\oui.exe -responseFile C:\Windows\Temp\install.rsp -silent -nowait')
    else:
        print(r'Oracle 11 est deja installe')

    if isfile(makepath(ORACLE_HOME,'bin\oraclient11.dll')):
        print(r'Installation du fichier TnsName')
        filecopyto('Oracle\\tnsnames.ora',makepath(ORACLE_HOME,'network\\admin'))
        filecopyto('Oracle\\remove.rsp',makepath(ORACLE_HOME,'deinstall'))

    print (r'Installation des drivers ODBC')
    run_powershell('Add-OdbcDsn -DriverName "Microsoft ODBC for Oracle" -DsnType System -Name MELODIE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Microsoft ODBC for Oracle" -DsnType System -Name ARPEGE -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Microsoft ODBC for Oracle" -DsnType System -Name REQUIEM -Platform 32-bit -SetPropertyValue "Server=arpetcp"')
    run_powershell('Add-OdbcDsn -DriverName "Microsoft ODBC for Oracle" -DsnType System -Name MAESTRO -Platform 32-bit -SetPropertyValue "Server=arpetcp"')

def uninstall():

    if isfile(makepath(ORACLE_HOME,'deinstall\\deinstall.bat')):
        print(r'Desinstallation Oracle 11')
        run(r'{}\\deinstall/deinstall -silent -paramFile remove.rsp'.format(ORACLE_HOME))

    if reg_key_exists(HKEY_LOCAL_MACHINE,RegOracle):
        print(r'Suppression clef registre Oracle')
        run('reg delete HKLM\{} /f'.format(RegOracle))

    if reg_key_exists(HKEY_LOCAL_MACHINE,RegInventory):
        print(r'Suppression clef registre Oracle Inventory')
        run('reg delete HKLM\{} /f'.format(RegInventory))

    # if service_installed('OracleRemExecService'):
    #    if service_is_running('OracleRemExecService'):
    #        service_stop('OracleRemExecService')

    if isdir(makepath(ORACLE_HOME)):
        print(r'Suppression du répertoire Oracle')
        remove_tree(r'C:\\Oracle11')

    if isdir(makepath(programfiles32,'Oracle')):
        print(r'Suppression du répertoire Oracle Inventory')
        remove_tree(makepath(programfiles32,'Oracle'))
Archivo de respuesta para la instalación (install.rsp)

Código: Seleccionar todo

###############################################################################
## Copyright(c) Oracle Corporation 1998, 2013. All rights reserved.           ##
##                                                                           ##
## Specify values for the variables listed below to customize                ##
## your installation.                                                        ##
##                                                                           ##
## Each variable is associated with a comment. The comment                   ##
## can help to populate the variables with the appropriate                   ##
## values.							             ##
##                                                                           ##
###############################################################################


#-------------------------------------------------------------------------------
# Do not change the following system generated value. 
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=http://www.oracle.com/2007/install/rspfmt_clientinstall_response_schema_v11_2_0

#-------------------------------------------------------------------------------
# This variable holds the hostname of the system as set by the user. 
# It can be used to force the installation to use an alternative   
# hostname rather than using the first hostname found on the system
# (e.g., for systems with multiple hostnames and network interfaces).
ORACLE_HOSTNAME=computer.mshome.net
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.  
UNIX_GROUP_NAME=
#-------------------------------------------------------------------------------
# Specify the languages in which the components will be installed.             
#
# en   : English                  ja   : Japanese                  
# fr   : French                   ko   : Korean                    
# ar   : Arabic                   es   : Latin American Spanish    
# bn   : Bengali                  lv   : Latvian                   
# pt_BR: Brazilian Portuguese     lt   : Lithuanian                
# bg   : Bulgarian                ms   : Malay                     
# fr_CA: Canadian French          es_MX: Mexican Spanish           
# ca   : Catalan                  no   : Norwegian                 
# hr   : Croatian                 pl   : Polish                    
# cs   : Czech                    pt   : Portuguese                
# da   : Danish                   ro   : Romanian                  
# nl   : Dutch                    ru   : Russian                   
# ar_EG: Egyptian                 zh_CN: Simplified Chinese        
# en_GB: English (Great Britain)  sk   : Slovak                    
# et   : Estonian                 sl   : Slovenian                 
# fi   : Finnish                  es_ES: Spanish                   
# de   : German                   sv   : Swedish                   
# el   : Greek                    th   : Thai                      
# iw   : Hebrew                   zh_TW: Traditional Chinese       
# hu   : Hungarian                tr   : Turkish                   
# is   : Icelandic                uk   : Ukrainian                 
# in   : Indonesian               vi   : Vietnamese                
# it   : Italian                                                   
#
# all_langs   : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
SELECTED_LANGUAGES=en,fr,fr_CA
#-------------------------------------------------------------------------------
# Complete path of the Oracle Home  
ORACLE_HOME=C:\Oracle11\product\11.2.0\client_1
#-------------------------------------------------------------------------------
# Complete path of the Oracle Base. 
ORACLE_BASE=C:\Oracle11
#------------------------------------------------------------------------------
#Name       : INSTALL_TYPE
#Datatype   : String
#Description: Installation type of the component.
#
#             The following choices are available. The value should contain
#             only one of these choices.
#               - InstantClient
#               - Administrator
#               - Runtime
#               - Custom
#
#Example    : INSTALL_TYPE = Administrator
#------------------------------------------------------------------------------
oracle.install.client.installType=Runtime
#------------------------------------------------------------------------------
#Name       : oracle.install.client.upgrading
#Datatype   : boolean
#Description: whether or not this is an upgrade installation
#
#             The following choices are available. The value should contain
#             only one of these choices.
#               - true
#               - false
#
#Example    : oracle.install.client.upgrading=true
#------------------------------------------------------------------------------
oracle.install.client.upgrading=false
#-------------------------------------------------------------------------------
# Name       : oracle.install.client.customComponents
# Datatype   : StringList
#
# This property is considered only if INSTALL_TYPE is set to "Custom"
#
# Description: List of Client Components you would like to install
#
#   The following choices are available. You may specify any
#   combination of these choices.  The components you choose should
#   be specified in the form "internal-component-name:version"
#   Below is a list of components you may specify to install.
#
# oracle.sqlj:11.2.0.4.0 -- "Oracle SQLJ"
# oracle.rdbms.util:11.2.0.4.0 -- "Oracle Database Utilities"
# oracle.javavm.client:11.2.0.4.0 -- "Oracle Java Client"
# oracle.sqlplus:11.2.0.4.0 -- "SQL*Plus"
# oracle.dbjava.jdbc:11.2.0.4.0 -- "Oracle JDBC/THIN Interfaces"
# oracle.ldap.client:11.2.0.4.0 -- "Oracle Internet Directory Client"
# oracle.rdbms.oci:11.2.0.4.0 -- "Oracle Call Interface (OCI)"
# oracle.precomp:11.2.0.4.0 -- "Oracle Programmer"
# oracle.xdk:11.2.0.4.0 -- "Oracle XML Development Kit"
# oracle.network.aso:11.2.0.4.0 -- "Oracle Advanced Security"
# oracle.oraolap.mgmt:11.2.0.4.0 -- "OLAP Analytic Workspace Manager and Worksheet"
# oracle.network.client:11.2.0.4.0 -- "Oracle Net"
# oracle.network.cman:11.2.0.4.0 -- "Oracle Connection Manager"
# oracle.network.listener:11.2.0.4.0 -- "Oracle Net Listener"
# oracle.ordim.client:11.2.0.4.0 -- "Oracle Multimedia Client Option"
# oracle.odbc:11.2.0.4.0 -- "Oracle ODBC Driver"
# oracle.has.client:11.2.0.4.0 -- "Oracle Clusterware High Availability API"
# oracle.dbdev:11.2.0.4.0 -- "Oracle SQL Developer"
# oracle.rdbms.scheduler:11.2.0.4.0 -- "Oracle Scheduler Agent" 
# oracle.ntoramts:11.2.0.4.0 -- "Oracle Services For Microsoft Transaction Server"
# oracle.ntrdbms.admin:11.2.0.4.0 -- "Oracle Administration Assistant for Windows"
# oracle.ntoledb:11.2.0.4.0 -- "Oracle Provider for OLE DB"
# oracle.ntoledb.odp_net_2:11.2.0.4.0 -- "Oracle Data Provider for .NET"
# oracle.aspnet_2:11.2.0.4.0 -- "Oracle Providers for ASP.NET"
# oracle.ntrdbms.perfmon:11.2.0.4.0 -- "Oracle Counters for Windows Performance Monitor"
# oracle.oo4o:11.2.0.4.0 -- "Oracle Objects for OLE" 
# 
#
# Example    : oracle.install.client.customComponents="oracle.precomp:11.2.0.4.0","oracle.oraolap.mgmt:11.2.0.4.0","oracle.rdbms.scheduler:11.2.0.4.0"
#-------------------------------------------------------------------------------
oracle.install.client.customComponents=
#-------------------------------------------------------------------------------
# Host name to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example    : oracle.install.client.schedulerAgentHostName = acme.domain.com
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentHostName=

#------------------------------------------------------------------------------
# Port number to be used for by the Oracle Scheduler Agent.
# This needs to be entered in case oracle.rdbms.scheduler is selected in the
# list of custom components during custom install
#
# Example: oracle.install.client.schedulerAgentPortNumber = 1500
#------------------------------------------------------------------------------
oracle.install.client.schedulerAgentPortNumber=

#------------------------------------------------------------------------------
# Specify the auto-updates option. It can be one of the following:
#   - MYORACLESUPPORT_DOWNLOAD
#   - OFFLINE_UPDATES
#   - SKIP_UPDATES
#------------------------------------------------------------------------------
oracle.installer.autoupdates.option=SKIP_UPDATES
#------------------------------------------------------------------------------
# In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where
# the updates are to be downloaded.
# In case OFFLINE_UPDATES option is chosen, specify the location where the updates
# are present.
oracle.installer.autoupdates.downloadUpdatesLoc=
#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username which has the patches download privileges  
# to be used for software updates.
#  Example   : AUTOUPDATES_MYORACLESUPPORT_USERNAME=abc@oracle.com
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username password which has the patches download privileges  
# to be used for software updates.
#
# Example    : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

#------------------------------------------------------------------------------
# Specify the Proxy server name. Length should be greater than zero.
#
# Example    : PROXY_HOST=proxy.domain.com 
#------------------------------------------------------------------------------
PROXY_HOST=

#------------------------------------------------------------------------------
# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example    : PROXY_PORT=25 
#------------------------------------------------------------------------------
PROXY_PORT=0
#------------------------------------------------------------------------------
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD 
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_USER=username 
#------------------------------------------------------------------------------
PROXY_USER=

#------------------------------------------------------------------------------
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD  
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_PWD=password 
#------------------------------------------------------------------------------
PROXY_PWD=
#------------------------------------------------------------------------------
# Specify the proxy realm.
#
# Example    : PROXY_REALM=metalink
#------------------------------------------------------------------------------
PROXY_REALM=
Archivo de respuesta de desinstalación (remove.rsp)

Código: Seleccionar todo

[ENGINE]
 
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
 
[GENERIC]
 
#
OH_HOME_DEINSTALL=false
 
#
DOMAIN_MANAGED_ASINSTANCE_DEINSTALL=true
 
#
UNMANAGED_ASINSTANCE_DEINSTALL=false
 
#
DEINSTALL_IN_ASINSTANCE_MODE=true
 
#
DEINSTALL INSTANCE LIST=
 
 
[SYSTEM]
 
 
[APPLICATIONS]

 
[RELATIONSHIPS]
 
#
MIDDLEWARE_HOME=
 
#
WEBLOGIC_HOME=
 
#
DOMAIN_HOST_NAME=
 
#
DOMAIN_PORT_NO=7001
 
#
DOMAIN_USER_NAME=weblogic
 
#
DOMAIN_USER_PASSWORD=
 
#
MANAGED_INSTANCE_LIST=

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 24 de octubre de 2019 - 11:43 a. m.
por Ado
Creo que hablé demasiado pronto...

A través de PyScripter, la instalación se realizó sin problemas ahora que estoy ejecutando oui.exe directamente.

Sin embargo, cuando ejecuto el paquete de la forma habitual, obtengo el mismo error que tú: AccessDenied: psutil.AccessDenied (pid=11056)

EDIT: A pesar del error que mencioné anteriormente, la instalación se completa correctamente... Intenté con un tiempo de espera más largo o incluso con accept_returncodes=[0,1601,3] (porque tengo un código de salida: 3) pero nada cambió...

EDIT2: Logré solucionar este problema ejecutando el instalador a través de un símbolo del sistema.

Re: [WAPT 1.6.2][Error] Creación de un paquete de Oracle 11

Publicado: 2 de abril de 2020 - 11:30 a. m.
por jlatieule
Buen día,

Después de la prueba, el código devuelto no es 3 sino -4

Pruébelo con accept_returncodes=[0,-4]
Ado escribió: 24 de oct. de 2019 - 11:43 AM Creo que hablé demasiado pronto...

A través de PyScripter, la instalación se realizó sin problemas ahora que estoy ejecutando oui.exe directamente.

Sin embargo, cuando ejecuto el paquete de la forma habitual, obtengo el mismo error que tú: AccessDenied: psutil.AccessDenied (pid=11056)

EDIT: A pesar del error que mencioné anteriormente, la instalación se completa correctamente... Intenté con un tiempo de espera más largo o incluso con accept_returncodes=[0,1601,3] (porque tengo un código de salida: 3) pero nada cambió...

EDIT2: Logré solucionar este problema ejecutando el instalador a través de la línea de comandos.