Pagina 2 di 2

Re: [WAPT 1.6.2][Errore] Creazione di un pacchetto Oracle 11

Pubblicato: 2 aprile 2020 - 11:33
di jlatieule
Buongiorno,

Il percorso del file .rsp deve essere scritto come percorso assoluto e non relativo.

Per quanto riguarda l'utilizzo del tasto Invio al termine dell'installazione silenziosa, è necessario aggiungere il parametro -nowait

Codice: Seleziona tutto

oui.exe -silent -force -nowait
Ado ha scritto: 24 ott 2019 - 09:59 Stavo iniziando a disperare, grazie per la condivisione, upperm. :D

Ho fatto lo stesso, eseguendo direttamente oui.exe, e funziona correttamente. Tuttavia, non ho capito perché non eseguisse il file .rsp direttamente dalla cartella WAPT quando posso copiare il file tnsnames...


Una domanda veloce: alla fine dell'installazione (o disinstallazione), ti chiede di premere Invio per chiudere il prompt dei comandi. Come si fa a evitare questo? Perché ho la netta impressione che finché non lo fai, l'installazione rimanga attiva.

Re: [WAPT 1.6.2][Errore] Creazione di un pacchetto Oracle 11

Pubblicato: 3 aprile 2020 - 15:07
di jlatieule
Upperm, proseguendo con il tuo lavoro (complimenti, tra l'altro), ecco un altro suggerimento che non utilizza file RSP per l'installazione e la disinstallazione. In più, non c'è bisogno di manipolare le chiavi di registro.

Fonti per l'assenza di file RSP: http://www.dadbm.com/oracle-database-cl...onse-file/

Il codice risulta quindi notevolmente semplificato.

Il processo di disinstallazione deve ancora essere testato quando vengono installati due client. Vengono disinstallati entrambi indiscriminatamente oppure no? Questo è il dilemma :shock: :D

P.S.: Nella struttura delle cartelle di Oracle, ho ripristinato la sottocartella "client" nella sua posizione originale negli archivi ufficiali di Oracle. Il codice deve essere modificato di conseguenza.

Codice: Seleziona tutto

# -*- 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)