Seite 2 von 3
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:20 Uhr
von fludo67
Ich habe zwei Routinen: eine für Office 365 und eine für Office-Add-Ins (dies ist mir auf mehreren Rechnern mit Office 2007 passiert: #error -2146368439)
Code: Alle auswählen
def uninstall_office_modules():
print('Suppression des anciens modules office..')
check_installed_soft = installed_softwares('Microsoft Office System')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
def uninstall_office365():
print('Suppression Office 365')
check_installed_soft = installed_softwares('office 365')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
Es gäbe vielleicht eine elegantere Lösung, indem man alle Routinen in einer for-Schleife zusammenfasst, aber ich habe mich für den einfachsten Ansatz entschieden.
Meine Definitionsinstallation sieht folgendermaßen aus:
Code: Alle auswählen
def install():
msoname = 'Microsoft Office Standard 2016'
msoversion='16.0.4266.1001'
check_installed_mso = installed_softwares(msoname)
if not check_installed_mso:
killsoft()
uninstall_office_modules()
uninstall_office365()
print('Installation de Microsoft Office 2016')
install_exe_if_needed('setup.exe',silentflags='/adminfile "silent.msp"',min_version=msoversion,key=None,timeout=1200)
check_installed_out = installed_softwares(softname)
if not check_installed_out:
error('End audit did not find the software.')
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:27 Uhr
von Killian
fludo67 schrieb:Ich habe zwei Routinen: eine für Office 365 und eine für Office-Add-Ins (dies ist mir auf mehreren Rechnern mit Office 2007 passiert: #error -2146368439)
Code: Alle auswählen
def uninstall_office_modules():
print('Suppression des anciens modules office..')
check_installed_soft = installed_softwares('Microsoft Office System')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
def uninstall_office365():
print('Suppression Office 365')
check_installed_soft = installed_softwares('office 365')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
Es gäbe vielleicht eine elegantere Lösung, indem man alle Routinen in einer for-Schleife zusammenfasst, aber ich habe mich für den einfachsten Ansatz entschieden.
Meine Definitionsinstallation sieht folgendermaßen aus:
Code: Alle auswählen
def install():
msoname = 'Microsoft Office Standard 2016'
msoversion='16.0.4266.1001'
check_installed_mso = installed_softwares(msoname)
if not check_installed_mso:
killsoft()
uninstall_office_modules()
uninstall_office365()
print('Installation de Microsoft Office 2016')
install_exe_if_needed('setup.exe',silentflags='/adminfile "silent.msp"',min_version=msoversion,key=None,timeout=1200)
check_installed_out = installed_softwares(softname)
if not check_installed_out:
error('End audit did not find the software.')
Danke, mein Code sieht so aus, was meinst du?
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
def install():
def uninstall_office_modules():
print('Suppression des anciens modules office..')
check_installed_soft = installed_softwares('Microsoft Office System')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
def uninstall_office365():
print('Suppression Office 365')
check_installed_soft = installed_softwares('office 365')
if check_installed_soft:
for uninstall in check_installed_soft:
key=uninstall['key']
if installed_softwares(uninstallkey=key):
cmd = WAPT.uninstall_cmd(uninstall['key'])
run(cmd)
def killsoft():
for soft in ('WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'):
if isrunning(soft):
print ("closing %s" % soft)
killalltasks(soft)
softname = 'Microsoft Office Professionnel Plus 2016'
check_installed_out = installed_softwares(softname)
print('installing Office 2016')
if not check_installed_out:
cmd = '"setup.exe" /adminfile "silent.msp"'
else:
cmd = 'msiexec.exe /p silent.msp'
killsoft()
uninstall_office_modules()
uninstall_office365()
run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])
check_installed_out = installed_softwares(softname)
if not check_installed_out:
error('End audit did not find the software.')
def uninstall():
fichier = open("%s\silent.xml" % programfiles32, "w" )
fichier.write('<Configuration Product="ProPlus"> \n')
fichier.write('<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" /> \n')
fichier.write(' <Setting Id="SETUP_REBOOT" Value="NEVER" /> \n')
fichier.write('</Configuration> \n')
fichier.close()
run('"%s\Common Files\microsoft shared\OFFICE16\Office Setup Controller\Setup.exe" /uninstall ProPlus /config "%s\silent.xml"' % (programfiles32,programfiles32),timeout=1200)
remove_file(r'%s\silent.xml'% programfiles32)
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:36 Uhr
von fludo67
Sie müssen die von Ihnen definierten Funktionen aufrufen und diese nach killsoft() einfügen
Code: Alle auswählen
print('installing Office 2016')
if not check_installed_out:
cmd = '"setup.exe" /adminfile "silent.msp"'
else:
cmd = 'msiexec.exe /p silent.msp'
killsoft()
uninstall_office_modules()
uninstall_office_365()
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:37 Uhr
von Killian
fludo67 schrieb:Sie müssen die von Ihnen definierten Funktionen aufrufen und diese nach killsoft() einfügen
Code: Alle auswählen
print('installing Office 2016')
if not check_installed_out:
cmd = '"setup.exe" /adminfile "silent.msp"'
else:
cmd = 'msiexec.exe /p silent.msp'
killsoft()
uninstall_office_modules()
uninstall_office_365()
Ja, ich habe meinen Fehler gerade bemerkt und meinen vorherigen Beitrag daher korrigiert
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:42 Uhr
von Killian
Die Installation wurde mit dem Code aus dem vorherigen Beitrag abgeschlossen:
Code: Alle auswählen
installing Office 2016
Suppression des anciens modules office..
Suppression Office 365
EWaptSetupException: Fatal error : End audit did not find the software.
Folgender Fehler tritt auf: Obwohl Office auf dem Remotecomputer ordnungsgemäß installiert ist, wie kann ich diesen Fehler vermeiden?
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 16:59 Uhr
von fludo67
Dies hängt höchstwahrscheinlich mit der Variable `softname = 'Microsoft Office Professional Plus 2016'` zusammen.
Ihr Skript prüft nach der Installation, ob die Software vorhanden ist. Wird sie nicht gefunden, wird dieser Fehler generiert. Ist in der Anwendungsliste von Windows Office Professional Plus als installierte Version aufgeführt? (Überprüfen Sie dies unter Systemsteuerung → Programme → und vergewissern Sie sich, welche Office-Version installiert wurde: Standard, Professional usw.)
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 17:01 Uhr
von Killian
fludo67 schrieb:Es hängt wahrscheinlich mit der Variable `softname = 'Microsoft Office Professional Plus 2016'` zusammen.
Ihr Skript prüft nach der Installation, ob die Software vorhanden ist. Falls sie nicht gefunden wird, wird dieser Fehler generiert. Ist Office Professional Plus in der Liste der installierten Anwendungen unter Windows aufgeführt? (Überprüfen Sie dies unter Systemsteuerung → Programme → und prüfen Sie, welche Office-Version installiert ist: Standard, Professional usw.)
Nein, es ist Standard
Betreff: OFFICE 2016 Paket
Veröffentlicht: 3. Mai 2017 - 17:04 Uhr
von fludo67
Sie müssen die Variable „softname“ an die Version von Office anpassen, die Sie installieren.
In diesem Fall lautet sie:
softname="microsoft office standard 2016".
Betreff: OFFICE 2016 Paket
Veröffentlicht: 4. Mai 2017 - 8:48 Uhr
von Killian
fludo67 schrieb:Sie müssen die Softname-Variable an die Version von Office anpassen, die Sie installieren.
In diesem Fall lautet sie:
softname="Microsoft Office Standard 2016".
Vielen Dank! Das Problem ist gelöst

Betreff: OFFICE 2016 Paket
Veröffentlicht: 5. Mai 2017 - 13:59 Uhr
von Killian
Guten Morgen,
Ich bringe das Thema erneut zur Sprache, weil ich Office 2016 gerne über die WAPT-Konsole deinstallieren möchte
Hier ist mein Code
Code: Alle auswählen
def uninstall():
fichier = open("%s\silent.xml" % programfiles32, "w" )
fichier.write('<Configuration Product="ProPlus"> \n')
fichier.write('<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" /> \n')
fichier.write(' <Setting Id="SETUP_REBOOT" Value="NEVER" /> \n')
fichier.write('</Configuration> \n')
fichier.close()
run('"%s\Common Files\microsoft shared\OFFICE16\Office Setup Controller\Setup.exe" /uninstall ProPlus /config "%s\silent.xml"' % (programfiles32,programfiles32),timeout=1200)
remove_file(r'%s\silent.xml'% programfiles32)