Jump to content

Office 2007, Unattended Setup & Fine-tuning


Recommended Posts

(updated to reflect final RTM version)

Unattending or silently installing MS Office System, has now become easier than ever. There are two ways to unattend your setup:

--> Option A (use it only if you got Office2007 thru SoftwareAssurance, which comes with activation stripped out).

--> Option B is for all the others (retail/OEM/academic/trial/etc). Both are colored differently below.

Option A:

1. Ensure you have an actual VLK (some call it enterprise/corporate) disc & product-key.

2. Notably, o2k7 uses setup patches (*.MSP) for uA, rather than transforms which previous versions used (*.MST). The below instructions will give you an MSP file, which is not accepted by non-corporate versions of o2k7. If you ignored point1 above, then you will end up wasting 15 minutes of your life which I'm not responsible for.

3. Now at the command prompt, type: setup.exe /admin

4. Choose the product for which you want to make a customization-patch.

5. Then go through all steps in the customization wizard (to install the reqd apps & remove junk & change default settings).

6. Be sure to have "completion notice" turned on & "suppress modals" turned off (this is to get to see errors, if any exist). Once you're done with testing, go thru the customization again to modify the MSP to disable completion notice & enable suppress modals.

7. Save the resulting patch file in the same folder as o2k7 setup files.

8. Now just execute this command (thru any method) for silent install: setup.exe /adminfile CUSTOM.MSP

Or if you have the Office 2007 Enterprise VLK, you could even drop the CUSTOM.MSP file in the "Updates" folder & setup will pick it up automatically (without any switches being used). For this, ensure you have WindowsInstaller 3.1 already installed. You can add in further MSP files (extracted from SP1 update EXE) as well, to have updates applied during install.

*** For completely silent install, you MUST set the DisplayLevel to "none", either by MSP (accessible from step 6 above) or by xml, otherwise you'll get a confirmation dialog similar to the image shown in attachment below. (do this only AFTER testing, when you're sure it works)



Edited by prathapml
Link to comment
Share on other sites

Option B:

1. Go to the folder-path, "Office2007\Pro.WW" (or any ??????.WW folder for other editions such as standard/enterprise/etc)

2. Modify "config.xml", or copy it to somewhere else & modify it, using my posted code below as a sample.

3. If you modified it "in location", then setup will take up the changes automatically.

4. Otherwise, place the modified file in the same folder of setup.exe, as custom-uA.XML

5. This is the command to run setup with the customizations specified in custom-uA.XML: setup.exe /config custom-uA.XML

7. This method is also a great way to make changes to the defaults itself, so that you dont need to keep changing it upon every new time you install it. The sample XML here, makes setup fully silent, cuts down features rarely used by me, and reduces install footprint of Office 2007 Professional from 721 MB, to 303 MB (of course you can always add/remove components later); I've also removed lines that I found useless from it, you might like to keep many of the default lines & customize them. Also, be aware that the XML offers a way to chain updates & install them before or after o2k7 setup, but then you'll lose control over reboot parameters. By default, o2k7 setup wont cause an auto-reboot, so no need of "/noreboot" or "Reboot=ReallySuppress" properties. I intend this XML to be used for clean installs, with no previous version settings or profiles to be migrated. Use "start /wait" for silent installs. This file is for the main suite, you can modify it accordingly for the other component products, the options are commented with double-slashes. I obtained the OptionIds from setup.xml files, in each component folder.

Here's a tested/working config.xml file, to get you started with Option B:

(you need to put in your own key, and configuration-Product can be obtained from your current xml)

<Configuration Product="Pro">

<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />

<USERNAME Value="0wner" />
<COMPANYNAME Value="0wn Inc." />

<OptionState Id="ACCESSFiles" State="absent" Children="force" /> //access
<OptionState Id="OUTLOOKFiles" State="absent" Children="force" /> //outlook
<OptionState Id="PubPrimary" State="absent" Children="force" /> //publisher
<OptionState Id="AceRepl" State="absent" Children="force" /> //access db Engine replication
<OptionState Id="CAGFiles" State="Local" Children="force" /> //Clip Organizer
<OptionState Id="MSSOAP3" State="absent" Children="force" /> //SOAP toolkit
<OptionState Id="OsaNonBoot" State="Local" Children="force" /> //new,open office docu lnks
<OptionState Id="ProofingTools_1036" State="absent" Children="force" /> //french
<OptionState Id="ProofingTools_3082" State="absent" Children="force" /> //spanish
<OptionState Id="WISPFiles" State="absent" Children="force" /> //handwriting
<OptionState Id="DocServicesFiles" State="absent" Children="force" /> //docu update util
<OptionState Id="HTMLSourceEditing" State="absent" Children="force" /> //script editor
<OptionState Id="DocumentImagingUtils" State="absent" Children="force" /> //scanning,ocr,indexing
<OptionState Id="OISFiles" State="absent" Children="force" /> //picture manager
<OptionState Id="OSESupp" State="absent" Children="force" /> //sharepoint support
<OptionState Id="QueryFiles" State="absent" Children="force" /> //msQuery
<OptionState Id="VisioPreviewerFiles" State="absent" Children="force" /> //visio viewer
<OptionState Id="XDOCSFiles" State="absent" Children="force" /> //infopath

<!-- These are additionals from Enterprise RTM
<OptionState Id="GrooveFiles" State="absent" Children="force" /> //groove
<OptionState Id="OneNoteFiles" State="absent" Children="force" /> //onenote
<OptionState Id="RefIEBarFiles" State="absent" Children="force" /> //research explorer bar
<OptionState Id="WebDriveFiles" State="absent" Children="force" /> //hosted webs
<OptionState Id="VBAFiles" State="absent" Children="force" /> //VB for applications
<OptionState Id="OfficeDigitalSFiles" State="absent" Children="force" /> //vba certificates


The procedure is same for all other editions of Office 2007. The above is just a working sample, you'd need to put in an appropriate key & modify as per your needs.

If you downloaded a single SETUP.EXE (500-MB?) from MSDN, then you might need to extract it to some folder, to get the installation source.

setup.exe /extract:D:\o2k7

Edited by prathapml
Link to comment
Share on other sites

My only beef with this version (atleast in the current beta), is that there doesn't seem to be any way to disable creation of the LIS.

(LIS = local installation source, its the s*** that you see in the name of an "MSOcache" folder littering any of your HDD partitions at random).

If the LIS was disabled by default, the installation time could be reduced by 3 minutes approx, besides saving HDD space (because the last 3 minutes consists of copying files from CD to the LIS).

Here's what I've already tried in the config.xml, but both failed:


<CDCACHE Value="0" />

In both cases, setup refuses to use the XML.

Yes, I know that we could write a batch file to search all drives for the "MSOcache" folder & delete it if found, but it would be even better to disable LIS, in the first place. Does anybody know how to do this in o2k7?


Link to comment
Share on other sites

Do you maybe know a way to tell setup that I want a customized setup and keep my previous office 2003 installation ?
Hi Robert,

I believe what you want to do, is to have access to all dialogs, you basically want to just customize the setup defaults & go ahead normally from there on.

Here's how:

Go to the 2nd line in my example above. You see "Display Level="none"". Change it back to "full" instead of "none". That is all.


Thanks indeed. :) I just wish someone finds out how to disable the "MSOcache" facility in o2k7.....

Link to comment
Share on other sites

  • 1 month later...

Hi there,

after I found out, that I just have to execute my OPPLUS-DE.EXE and grab the contents after unpacking from my temp dir befor cancelling the installation, I was able to alter the config.xml file the way you suggested. ;-)

However, I still get a dialog window asking whether to install or to alter settings. Even with Display Level = "none". When I click install, the whole process takes place unattended as expected. When choosing to alter settings I see, that my changes in the config.xml are working.

Any ideas why I still get this dialog?



Link to comment
Share on other sites

However, I still get a dialog window asking whether to install or to alter settings. Even with Display Level = "none". When I click install, the whole process takes place unattended as expected. When choosing to alter settings I see, that my changes in the config.xml are working.


I have the same problem. The config.xml is obviously being used but I get the same dialog window.

By the way ... is there a way to tell Office in the config.xml to install ALL components, not just the default ones ?



Link to comment
Share on other sites

I didn't find an option that automatically selects all available features.

Regarding the Dialog Window:

I managed to create a script that can be integrated into an unattended setup to automatically click the button. The only problem is, that if you deploy Office 2007 with SMS 2003 for instance, the script won't work, since the gui will not be visible to the user. And this is basically my problem,... I can't get it to work with SMS 2003.

However, here is the script:

Dim objWSHShell, objExec
Set objWSHShell = WScript.CreateObject("WScript.Shell")

On Error Resume Next

' Wait for Uninstall
' --------------------------------------------------------------------------------
Set objExec = objWSHShell.Exec("setup.exe")
WScript.Sleep 500

' --------------------------------------------------------------------------------
waitForWindow "Microsoft Office Professional Plus 2007 (Beta)"
objWSHShell.SendKeys "{ENTER}" ' <install>
WScript.Sleep 500

' Wait for the setup to finish
Do While objExec.Status = 0
WScript.Sleep 500

' Quit this script

' Waits until the window appears or quits after 30 seconds
SUB waitForWindow( Title )
i = 0
bActive = objWSHShell.AppActivate( Title )
WScript.Sleep 1000
i = i + 1
LOOP UNTIL bActive = TRUE OR i > 30
WScript.Sleep 100

Link to comment
Share on other sites

Hi !

thanks for the script. Will try it soon !

Here´s an adapted config.xml that will install EVERYTHING except Japanese font and New/open document links.

<Configuration Product="Pro">

<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />

<USERNAME Value="0wner" />
<COMPANYNAME Value="0wn Inc." />

<OptionState Id="ACCESSFiles" State="local" Children="force" /> //access
<OptionState Id="OUTLOOKFiles" State="local" Children="force" /> //outlook
<OptionState Id="EXCELFiles" State="local" Children="force" /> //excel
<OptionState Id="PubPrimary" State="local" Children="force" /> //publisher
<OptionState Id="PPTFiles" State="local" Children="force" /> //Powerpoint
<OptionState Id="AceRepl" State="local" Children="force" /> //access db Engine replication
<OptionState Id="CAGFiles" State="Local" Children="force" /> //Clip Organizer
<OptionState Id="MSSOAP3" State="local" Children="force" /> //SOAP toolkit
<OptionState Id="WISPFiles" State="local" Children="force" /> //handwriting
<OptionState Id="DocServicesFiles" State="local" Children="force" /> //docu update util
<OptionState Id="HTMLSourceEditing" State="local" Children="force" /> //script editor
<OptionState Id="DocumentImagingUtils" State="local" Children="force" /> //scanning,ocr,indexing
<OptionState Id="OISFiles" State="local" Children="force" /> //picture manager
<OptionState Id="OSESupp" State="local" Children="force" /> //sharepoint support
<OptionState Id="QueryFiles" State="local" Children="force" /> //msQuery
<OptionState Id="VisioPreviewerFiles" State="local" Children="force" /> //visio viewer
<OptionState Id="XDOCSFiles" State="local" Children="force" /> //infopath

<OptionState Id="OsaNonBoot" State="absent" Children="force" /> //new,open office docu lnks



Hi again,

mhh, if I start your script with this line

wscript "path.to\script.vbs"

I get a Windows XP Setup message !! Maybe the path to the setup.exe is wrong. I have found these lines

Set FileSysObj = CreateObject("Scripting.FileSystemObject")
ScriptPath = FileSysObj.GetFile(WScript.ScriptFullName).ParentFolder

in some other script but they do not work in your script (and I am not good at vbs scripting at all) :P MAybe something else is wrong too because the same thing happens if I double click on the vbs ...

Thanks for your help,


Edited by midiboy
Link to comment
Share on other sites

Hi again,

I adapted some other script I found on the net. This one works for me:

dim WshShell, iLoopTimeWait
Set WshShell = CreateObject("WScript.Shell")
iLoopTimeWait = 800
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
ScriptPath = FileSysObj.GetFile(WScript.ScriptFullName).ParentFolder

Cmd = Chr(34) & "setup.exe"
WshShell.Run Cmd

Call Main()

Set WshShell = Nothing

Sub Main()
Connect2Window iLoopTimeWait, "Microsoft Office Professional Plus 2007 (Beta)"
WshShell.SendKeys ("{ENTER}")
End Sub

Function Connect2Window(iTime, sWindowName)
Do until WshShell.AppActivate (sWindowName)
WScript.Sleep iTime
End function

Edited by midiboy
Link to comment
Share on other sites

Very excellant post prathapml,

I recently installed Office 2007 on my machine and noticed that MSOCache folder is being created under my %HOMEDRIVE%. I went through ORK 2007 documentation and it suggestes that that location should be %PFiles%\Microsoft Office\Office 12\MSOCache.

prathapml, can I specify the LIS Location in config.xml in a such way, whenever setup will start cache it will cache only under dir mentioned in config.xml.

The config.xml file you have provided is very useful. However, I tried several ways to prevent Access and Visio installation using config.xml. Though I successed the same using .MSP I would like to do the same using config.xml. Can you please give me some tips on this?

Thanks a lot.

Edited by vilasshewale
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...