Page 1 sur 2
[WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 20 mai 2019 - 14:23
par upperm
Bonjour,
Je suis en train de créer un paquet pour installer Oracle 11.
Je rencontre un problème lors de l’exécution de l'installation. Pour l'installation silencieuse, le setup.exe doit être exécuté avec un fichier
.rsp. Pas de soucis jusqu'à la. Le problème est que le setup.exe exécute le processus oui.exe qui lui effectue l'installation (et donc le setup.exe se ferme directement). De ce faite, WAPT constate une erreur puis termine sa procédure le tout en générant des erreurs.
Du coup, est-il possible de faire en sorte que temps que le processus oui.exe est en cours, WAPT attende pour procéder à la suite de l'installation ?
setup.py
Code : Tout sélectionner
# -*- 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')
Logs :
Code : Tout sélectionner
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
Merci d'avance !
Matthieu.
Re: [WAPT 1.6.2][RESOLU] Création d'un paquet Oracle 11
Posté : 20 mai 2019 - 20:08
par upperm
Problème "résolu" !
Je passe par un fichier .bat que évite de me renvoyer une erreur. C'est sans doute pas la meilleure des méthodes mais ça marche.
J'ai aussi réussi a gérer la désinstallation.
Si des personnes cherche donc à déployer Oracle 11 (32bits) voici ce que j'ai fait :
Structure du paquet :
Le dossier Oracle contient les fichiers d'installation ainsi que les fichiers pour l'installation et la déinstallation.
Le fichier
install.rsp
Code : Tout sélectionner
###############################################################################
## 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=
Le fichier
remove.rsp
Code : Tout sélectionner
[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=
Le fichier
install_oracle.bat
Code : Tout sélectionner
start /wait Oracle/install/oui.exe -responseFile C:\Windows\Temp\install.rsp -silent -nowait
Le fichier
setup.py
Code : Tout sélectionner
# -*- 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')
Matthieu.
Re: [WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 20 mai 2019 - 21:50
par htouvet
Normalement la commande "run" de wapt attend que le processus appelé se termine.
Dans votre code, le principal problème est l'absence de 'r' dans les chaînes de caractères alors qu'elles comportent des "\" (caractère qui associé à celui qui suit est interprété en python de façon spéciale, sauf si on met un 'r' au début de la châine pour dire 'raw', chaîne "brute").
Ce qui explique les erreurs étranges "IOError: [Errno 2] No such file or directory: 'C:\\Oracle11\\product\t.2.0\\client_1\network\x07dmin'"
Code : Tout sélectionner
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][Erreur] Création d'un paquet Oracle 11
Posté : 21 mai 2019 - 11:40
par upperm
Oui merci j'avais remarqué après !
Par contre l'installation ne fonctionne pas lors de lancement avec wapt. J'ai l'impression que c'est le compte System qui pose problème car lorsque je lance l'installation depuis PyScripter tout fonctionne correctement.
Oracle me revoit une erreur de permissions :
Code : Tout sélectionner
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.
Même en changeant le répertoire de base (%tmp% utilisateur) pour un autre (C:\Temp, C:\Windows\Temp) l'erreur survient.
Re: [WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 21 mai 2019 - 15:28
par htouvet
peut être mon erreur de typo (Oracler) dans le chemin ..; ?
def install():
print ('Installation clef registre')
registry_setstring(HKEY_LOCAL_MACHINE, "SOFTWARE\\Oracle",'ImagePath',makepath(programfiles32,'Oracle','Inventory'), type=REG_EXPAND_SZ)
...
Re: [WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 22 mai 2019 - 15:15
par upperm
J'ai continué mes tests, l'installation se fait bien correctement maintenant, plus de soucis. Par contre, j'ai une erreur lorsque WAPT tente de tuer le processus j'ai l'impression :
AccessDenied: psutil.AccessDenied (pid=6328)
Voici le setup.py à jour
Code : Tout sélectionner
# -*- 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'))
Voici les logs :
Code : Tout sélectionner
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][Erreur] Création d'un paquet Oracle 11
Posté : 24 oct. 2019 - 09:59
par Ado
Je commençais à désespérer, merci pour ton partage
upperm
J'ai fais comme toi, en exécutant directement oui.exe et ça fonctionne correctement. En revanche je n'ai pas compris pourquoi il ne voulais pas exécuter le .rsp directement depuis le dossier WAPT alors que j'arrive à copier le tnsnames ...
Petite question : en fin d'installation (ou désinstall), il demande d'appuyer sur entrée pour fermer l'invite de commande. Comment tu fais pour contourner ? Car du coup, j'ai bien l'impression que tant que tu ne le fais pas, l'installation reste active
Re: [WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 24 oct. 2019 - 10:19
par upperm
Salut !
Pour ma part pas de soucis à ce niveau là.
Fichier setup
Code : Tout sélectionner
# -*- 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'))
Fichier de réponse pour l'installation (install.rsp)
Code : Tout sélectionner
###############################################################################
## 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=
Fichier de réponse pour la déinstallation (remove.rsp)
Code : Tout sélectionner
[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][Erreur] Création d'un paquet Oracle 11
Posté : 24 oct. 2019 - 11:43
par Ado
Je crois que j'ai parlé trop vite ...
Via PyScripter, l'installation s'est faite sans problème maintenant que j'exécute directement oui.exe
En revanche, en balançant le package de façon classique, je tombe sur la même erreur que toi : AccessDenied: psutil.AccessDenied (pid=11056)
EDIT: Malgré l'erreur que je cite au dessus, l'installation se fait correctement... J'ai essayé avec un plus gros timeout ou même avec accept_returncodes=[0,1601,3] (car j'ai un Exit code: 3) mais rien de plus ...
EDIT2: J'ai réussi à contourner ce problème en lançant l'installateur via une invite de commande
Re: [WAPT 1.6.2][Erreur] Création d'un paquet Oracle 11
Posté : 02 avr. 2020 - 11:30
par jlatieule
Bonjour,
Après essai, le code retourné n'est pas 3 mais -4
Fait un essai avec accept_returncodes=[0,-4]
Ado a écrit : ↑24 oct. 2019 - 11:43
Je crois que j'ai parlé trop vite ...
Via PyScripter, l'installation s'est faite sans problème maintenant que j'exécute directement oui.exe
En revanche, en balançant le package de façon classique, je tombe sur la même erreur que toi : AccessDenied: psutil.AccessDenied (pid=11056)
EDIT: Malgré l'erreur que je cite au dessus, l'installation se fait correctement... J'ai essayé avec un plus gros timeout ou même avec accept_returncodes=[0,1601,3] (car j'ai un Exit code: 3) mais rien de plus ...
EDIT2: J'ai réussi à contourner ce problème en lançant l'installateur via une invite de commande