cleptomanix
Goto Top

Office 2010 deinstallieren und gegen 365 ersetzen

Hallo,

wir befinden uns aktuell kurz vor der Umstellung von Office2010 auf Office365 ProPlus.

Wir haben hierfür ein Installationsscript geschreiben, welches die alte Office Anwendung deinstallieren soll. Das Funktioniert auch in 95 Prozent der Fällen.
Bei ein paar Kollegen, die sich zum testen zur Verfügung gestellt haben, wird das Office jedoch so beschädigt, dass der PC beim aufrufen von der setup.exe von Office 2010 neustartet.

Eine einfache deinstallation ist anschließend auch nicht mehr möglich, und kann nur noch über das FixIt Tool von MS gemacht werden.
Vielleicht steht jemand vor einem ähnlichen Problem bzw. hat für die Deinstallation einen besseren Ansatz. Das Script wird beim Herunterfahren aufgerufen und sieht wie folgt aus:

@echo off


echo %time% Batch wurde gestartet >> C:\officeupgrade.log

::Check if machine is LT or P
echo %COMPUTERNAME% | find "V" >NUL  
if not errorlevel 1 (
	echo Target Machine is Server. Exiting...
	ping -n 4 127.0.0.1 >NUL
	exit
)

::check for running outlook process
for /f %%i in ('"tasklist | findstr OUTLOOK"') do set outlook=%%i  

IF "%outlook%"=="OUTLOOK.EXE" (  
	taskkill /IM OUTLOOK.EXE
	ping 127.0.0.1 -n 3 >NUL
	) else (
	echo outlook not running
)
msg * "Das Herunterfahren kann sich verzögern, da dass neue Office installiert wird."  
ping 127.0.0.1 -n 7 >NUL
::myPBX schließen:
for /f %%j in ('"tasklist | findstr myPBX"') do set mypbx=%%j  

IF "%mypbx%"=="myPBX.exe" (  
	taskkill /IM myPBX.exe
	ping 127.0.0.1 -n 3 >NUL
	) else (
	echo myPBX not running
)

::uninstall Office 2010 Standard

if exist "C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE" (  
	echo alte Office Version vorhanden
	"\\**Netzwerkpfad**\setup.exe" /uninstall Standard /config "\\**Netzwerkpfad**\Standard.WW\uninstall.xml"  
	echo %time% Alte Outlook Version vorhanden >> C:\officeupgrade.log
) else (
	echo Alte Outlook Version nicht vorhanden
	echo %time% Alte OfficeVersion nicht vorhanden >> C:\officeupgrade.log
)

::Install Office 365

if exist "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE" (  
	echo Neue OfficeVersion gefunden
) else (
	echo Neue Office Version nicht vorhanden
	echo %time% Neue Office Version noch nicht vorhanden >> C:\officeupgrade.log
	"\\**Netzwerkpfad**\Office365\setup.exe" /configure "\\**Netzwerkpfad**\Office365\Configuration.xml"  
	echo %time% Office wurde installiert >> C:\officeupgrade.log
	echo %computername% >> "\\**Netzwerkpfad**\Office365\Installiert auf.txt"  
	msg * "Office wurde installiert und kann nach dem Hochfahren wieder verwendet werden."  
	ping 127.0.0.1 -n 10 >NUL
)

Wie zu sehen ist, wird zum deinstallieren unser altes Office 2010 "Image" verwendet. Über diesen Aufruf wird das Office2010 deinstalliert
In der uninstall.xml findet sich folgender Code:

<Configuration Product="Standard">  
   <Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />  
   <Setting Id="SETUP_REBOOT" Value="NEVER" />  
</Configuration>

Vielleicht hat jemand ja eine schlankere Methode das ganze zu deinstallieren. Die Installation läuft dann normalerweise Reibungslos. Aber eventuell besteht ja die Möglichkeit auf die setup.exe zum deinstallieren auf der Netzwerkfreigabe zu verzichten.

Achja, die entsprechenden Netzwerkfreigaben können natürlich über den Machine Account erreicht werden.

Viel Dank vorab schonmal face-smile

Content-ID: 491523

Url: https://administrator.de/contentid/491523

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

Pjordorf
Pjordorf 04.09.2019 um 15:49:08 Uhr
Goto Top
Hallo,

Zitat von @ClepToManix:
Wir haben hierfür ein Installationsscript geschreiben, welches die alte Office Anwendung deinstallieren soll. Das Funktioniert auch in 95 Prozent der Fällen.
Funktioniert es zu 100% wenn es manuell aufgerufen wird?

Das Script wird beim Herunterfahren aufgerufen und sieht wie folgt aus:
Nun fragt sich welche evtl. Dienste usw. schon beendet sind wenn das skript endlich dran kommt. Nicht das ihm dann schon essentielles fehlt.

Aber eventuell besteht ja die Möglichkeit auf die setup.exe zum deinstallieren auf der Netzwerkfreigabe zu verzichten.
Nach Lokal C:\Temp kopieren? Dein ping -n4 127.0.0.1 > NUL ist zwar toll, aber eine weitere Zeile in dein C:\officeupgrade.log wäre evtl. hilfreicher, und sicher das du im Root deiner C:\ wirklich frei schreiben wilst, ein C:\Temp\....log wäre evtl. hilfreicher. Auch ein Admin hat manchmal beschränkungen.

Gruß,
Peter
ClepToManix
ClepToManix 04.09.2019 aktualisiert um 16:52:34 Uhr
Goto Top
Hallo,

danke für die schnelle Antwort.
Also bei allen Personen, bei denen ich es von Hand aus installiert habe, ging es auch. Das Script an sich ist aufjedenfall lauffähig.

Wir hatten das Script erst beim starten drin, jedoch haben manche Leute Outlook oder unseren PBX Client im Autostart, welcher dafür sorgt, dass Outlook im Hintergrund geöffnet wird. Beim Herunterfahren wird der krempel geschlossen und zusätzlich prüfen wir nochmal ob die beiden Programme nicht doch noch laufen.

Mit dem C Temp ist ein guter Tipp. Da unsere Clients sowieso einen Install Ornder unter C haben, werde ich einfach mal zur Sicherheit diesen auch verwenden.

Ich habe doch noch eine Möglichkeit gefunden auf die Netzwerkressource zu verzichten.
Unter
%CommonProgramFiles%\Microsoft Shared\Office14\Office Setup Controller\
legt MS zusätzlich nochmal das komplette Paket mit ab.

Ich habe das Script soweit angepasst und werde es nochmal unauffällig bei unserem Praktikanten testen ;)
Ich berichte sobald ich neue Erkenntnisse habe
Pjordorf
Pjordorf 04.09.2019 um 17:06:30 Uhr
Goto Top
Hallo,

Zitat von @ClepToManix:
Unter
%CommonProgramFiles%\Microsoft Shared\Office14\Office Setup Controller\
legt MS zusätzlich nochmal das komplette Paket mit ab.
Das Komplette Paket? Bei mir sind es nur 12 MB dort.

Gruß,
Peter
farddwalling
farddwalling 04.09.2019 um 21:51:02 Uhr
Goto Top
Du kannst in der configuration.xml auch den Zusatz removeMSI nutzen:

https://docs.microsoft.com/de-de/deployoffice/upgrade-from-msi-version

Funktionierte bei mir mit 2013 und 2016 ganz gut. Soll auch mit 2010 gehen.