I have tried this out and it works. I forget where I got it from so apologies and acknowledgements to whoever wrote it. It does have the disadvantage of being a scripted install so if you want to uninstall you will need to use a scripted uninstall, it doesn't uninstall if you remove the machine from the influence of the group policy that you use to install it.
- Create a folder on the server called Office2007 and share as office2007$ with autheticated users having read access, Domain Admins and Admins have full control. (or use Office12$ or other suitable share)
- Inside this folder create a folder called logs and set it so that authenticated users have write access
- Copy the contents of the Office 2007 disc into the folder
- Go to the \\gateway\office2007$\ProPlus.WW folder (gateway is the name of the server in this case), rename the config.xml file and replace it with the following:
Code:
<Configuration Product="ProPlus">
<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
<Logging Type="standard" Path="%temp%" Template="Microsoft Office Professional Plus Setup(*).txt" />
<PIDKEY Value="XXXXXXXXXXXXXXXXXXXXXXXXX" />
<!-- <USERNAME Value="Customer" /> -->
<COMPANYNAME Value="Name of Primary, Town" />
<INSTALLLOCATION Value="%programfiles%\Microsoft Office" />
<!-- <LIS CACHEACTION="CacheOnly" /> -->
<SOURCELIST Value="\\gateway\office2007$" />
<DistributionPoint Location="\\gateway\office2007$" />
<!-- <OptionState Id="OptionID" State="absent" Children="force" /> -->
<Setting Id="Reboot" Value="IfNeeded" />
<!-- <Command Path="msiexec.exe" Args="/i "\\gateway\office2007$\ProPlus.WW\ProPlus.WW.msi" QuietArg="/q" ChainPosition="after" Execute="install" /> -->
</Configuration>
- Edit as appropriate ie add pid key and school name, alter location if necessary
- Use the following script as a startup script (edit the locations) in the top half. This script will work for W2k, XP and Vista, both 32 and 64-bit. It checks to see if Office 2007 is installed by doing a registry query, something you might want to use in scripts in future instead of checking/copying a text file.
Code:
setlocal
REM *********************************************************************
REM Environment customization begins here. Modify variables below.
REM *********************************************************************
REM Get ProductName from the Office product's core Setup.xml file.
set ProductName=ProPlus
REM Set DeployServer to a network-accessible location containing the Office source files.
set DeployServer=\\gateway\Office2007$
REM Set ConfigFile to the configuration file to be used for deployment REM (required)
set ConfigFile=\\gateway\Office2007$\ProPlus.WW\config.xml
REM Set LogLocation to a central directory to collect log files.
set LogLocation=\\gateway\Office2007$\Logs
echo %date% %time% Setup started with error code %errorlevel%. >> %LogLocation%\%computername%.txt
REM *********************************************************************
REM Deployment code begins here. Do not modify anything below this line.
REM *********************************************************************
IF NOT "%ProgramFiles(x86)%"=="" SET WOW6432NODE=WOW6432NODE\
reg query HKEY_LOCAL_MACHINE\SOFTWARE\%WOW6432NODE%Microsoft\Windows\CurrentVersion\Uninstall\%ProductName%
if %errorlevel%==1 (goto DeployOffice) else (goto End)
REM If 1 returned, the product was not found. Run setup here.
:DeployOffice
start /wait %DeployServer%\setup.exe /config %ConfigFile%
echo %date% %time% Setup ended with error code %errorlevel%. >> %LogLocation%\%computername%.txt
REM If 0 or other was returned, the product was found or another error occurred. Do nothing.
:End
Endlocal
- if there are problems with the install then check the logs folder and the %temp% folder on the workstation.
To restrict which machines Office is installed onto use an AD group and GPO filtering
I hope this is helpful to someone out there!