How do I send a message direct? Sorry, I am new to the BigFix forum. What I did is download the ODT files, configure the XML and then setup the actionscript. But, the problem I have is that our Company has so many different versions of Office (Office 2010 Pro, Office 2010 Home and Business, Office 2013 Volume license, Office 2013 Business, Office 2016 KMS, etc. - you get the idea). So, I went ahead and setup the “Remove-PreviousOfficeInstalls.ps1” script with all the associated “OfficeScrub” scripts in the same folder as setup.exe and the ODT folder with the office installation. No matter what I do, I cant seem to get this to work on the target machine(s).
Let me detail my setup:
STEP 1: I downloaded the “Remove-PreviousOfficeInstalls.ps1” from here: github. com /OfficeDev/Office-IT-Pro-Deployment-Scripts/tree/master/Office-ProPlus-Deployment/Remove-PreviousOfficeInstalls, then set the parameter defaults in the script that I wanted (rather than passing the Parameters, as I was worried that was causing issues) and saved it to a folder I created called “Office 365.” I also saved all the associated “OffScrubXXXX” vbs scripts in the same directory - If you aren’t aware of this script, the “Remove-PreviousInstall.ps1” script acts as a master script to first detect the version(s) of Office installed, then make sure all Office programs are closed, and even does a quick windows explorer restart to clear any open handles on Office files so that the uninstall is successful. Once it does that, it proceeds to uninstall all versions of Office detected. This works great when running the script locally.
STEP 2:
I downloaded the Office Deployment Tool and configured it using this page: docs .microsoft. com/en-us/deployoffice/overview-of-the-office-2016-deployment-tool. All office files downloaded succesfully, and I configured my xml file. Running the "setup.exe /configure Install-Office365-32bit.xml” from the local machine works perfectly with my expected results.
STEP 3:
I then created a batchscript to run the 2 above processes one after the other (first uninstall script, then install office). This works beautifully every time without issue. I also tested this under the system account with PSEXEC and it worked beautifully. My quick and dirty batchscript containts just these 2 lines:
powershell.exe -ExecutionPolicy Bypass -Command .\Remove-PreviousOfficeInstalls.ps1
cmd.exe /C "setup.exe /configure Install-Office365-32bit.xml"
STEP 4:
I finally setup the package in BigFix using the Software Deployment wizard, and it uploaded all my scripts and office setup.exe along with my xml file and the ODT folder. I then got to the action script pane and used the following:
extract 636529b0226962734afa00f711c9d5c321acfcd1
// Disable wow64 redirection on x64 OSes
action uses wow64 redirection {not x64 of operating system}
wait { pathname of file ((it as string) of value "Path" of key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" of native registry) } -ExecutionPolicy Bypass -File .\Remove-PreviousOfficeInstalls.ps1
wait cmd.exe /C “__Download\setup.exe /configure Install-Office365-32bit.xml”
I used information from your forum posts along with many others to come to this point. For some reason the action says completed successfully on the office removal powershell script, yet nothing is removed, then it stays on “running” on the setup.exe portion and never installs! I eventually have to just kill it. Sometimes it even locks up the setup.exe file to where it cant delete it from the __downloads folder and my next test gets stuck with the error in the deployment log “Cannot empty _Download directory”. So I then manually kill the office setup via task manager and manually delete the file so I can run my next test deployment.
I am seriously hitting a wall here… and any help is greatly appreciated. I am normally the guy that chimes in on TechNet and Spiceworks to offer help, but I’ve never had to be a poster. I am running out of ideas to try and have no one else that knows BigFix well enough to help me in my network circle. I have tried to copy the scripts and files to the local c:\temp\ODT\ folder and run from there. I have tried different ways to call Powershell with execution policy bypass. I have tried different ways to call the setup.exe with the configure command.
My XML file has this configuration:
<Configuration ID="b2c27316-22bc-4863-9380-8bc8ec377ca5">
<Info Description="32 bit install of Office 365, ignore visio and project." />
<Add OfficeClientEdition="32" Channel="Broad">
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
<ExcludeApp ID="Access" />
<ExcludeApp ID="InfoPath" />
<ExcludeApp ID="Lync" />
<ExcludeApp ID="Project" />
<ExcludeApp ID="Publisher" />
<ExcludeApp ID="SharePointDesigner" />
<ExcludeApp ID="Skype" />
<ExcludeApp ID="Skypeforbusiness" />
<ExcludeApp ID="Visio" />
</Product>
</Add>
<Property Name="SharedComputerLicensing" Value="0" />
<Property Name="PinIconsToTaskbar" Value="TRUE" />
<Property Name="SCLCacheOverride" Value="0" />
<Property Name="AUTOACTIVATE" Value="0" />
<Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
<Property Name="DeviceBasedLicensing" Value="0" />
<RemoveMSI>
<IgnoreProduct ID="PrjPro" />
<IgnoreProduct ID="PrjStd" />
<IgnoreProduct ID="VisPro" />
<IgnoreProduct ID="VisStd" />
</RemoveMSI>
<AppSettings>
<Setup Name="Company" Value="USRES, Inc." />
<User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
<User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
<User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
</AppSettings>
<Updates Enabled="TRUE" Channel="Broad" />
<Display Level="Full" AcceptEULA="TRUE" />
<Logging Level="Standard" Path="%temp%" />
</Configuration>
Everything else is default, minus configuring default values in the remove office powershell script, which again - works perfectly when running locally, even under psexec as local system account.