Página 2 de 2

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

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

La ruta al archivo .rsp debe escribirse como una ruta absoluta y no como una ruta relativa.

Respecto al uso de la tecla Enter al final de la instalación silenciosa, se debe agregar el parámetro -nowait

Código: Seleccionar todo

oui.exe -silent -force -nowait
Ado escribió: 24 de oct. de 2019 - 9:59 a. m. 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í por qué no ejecutaba el archivo .rsp directamente desde la carpeta WAPT, aunque puedo copiar el archivo tnsnames...


Pregunta rápida: al final de la instalación (o desinstalación), te pide que pulses Intro para cerrar el símbolo del sistema. ¿Cómo se evita esto? Porque tengo la clara impresión de 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: 3 de abril de 2020 - 15:07
por jlatieule
Upperm, basándome en tu trabajo (felicidades, por cierto), aquí tienes otra sugerencia que no usa archivos RSP para la instalación y desinstalación. Además, no es necesario manipular las claves de registro.

Fuentes de la ausencia de archivos RSP: http://www.dadbm.com/oracle-database-cl...onse-file/

El código queda así enormemente simplificado.

Aún queda probar el proceso de desinstalación con dos clientes instalados. ¿Se desinstalan ambos indistintamente? Esa es la pregunta :choque: :D

P.D.: En la estructura de carpetas de Oracle, he restaurado la subcarpeta "client" a su ubicación original en los archivos oficiales de Oracle. Es necesario ajustar el código según corresponda.

Código: Seleccionar todo

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

uninstallkey = []
ORACLE_BASE = r'C:\Oracle'
ORACLE_HOME = r'C:\Oracle\product\11.2.0\client_1'

def install():

    if not isfile(makepath(ORACLE_HOME,'bin\oraclient11.dll')):

        # récupérer le chemin du script
        currentpath = os.path.dirname(os.path.realpath(__file__))
        print("Le chemin du script est : " + currentpath)

        print(r'Installation Oracle 11')
        run(r'Oracle\Client\setup.exe -silent -force -nowait -waitforcompletion FROM_LOCATION=%s\Oracle\client\stage\products.xml oracle.install.client.installType="Runtime" ORACLE_HOME="%s" ORACLE_BASE="%s" DECLINE_SECURITY_UPDATES=true' % (currentpath, ORACLE_HOME, ORACLE_BASE),shell=False,accept_returncodes=[0,-4])
    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'))

    # 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'%s\deinstall\deinstall.bat -silent' % ORACLE_HOME)