[UPDATED] Adobe Reader 9/X Clean Deployment

What I wrote about Adobe Reader MSI patching has a major flaw: you cannot under any circumstances update Adobe Reader after installing it with the modified MSI. I had to find another way…
Good news, it’s a lot easier now.
  • First of all obtain the latest Adobe Reader Installer from this page: http://get.adobe.com/reader/
  • Extract the contents of the downloaded archive using the following command: InstallerName.exe -nos_ne which will extract the contents to: %userprofile%\AppData\Local\AdobeReader 9.0\Setup Files\READER9 for Reader 9 and C:\ProgramData\Adobe\Setup… for Reader X.
  • Optional for X (since Adobe seems to have caught up): download updates from this page, then add them to the default install by editing the setup.ini file with the following line in the [Product] section:
    PATCH=AdbeRdrUpd932_all_incr.msp;AdbeRdrUpd933_all_incr.msp;AdbeRdrUpd934_all_incr.msp
    This should allow you to install Adobe Reader in its most up to date version without too much headache.
  • Download the Adobe Customization Wizard for 9 or Adobe Customization Wizard for X and set the settings you like, make sure an AcroRead.mst file is created next to the MSI. That will enable you to run setup.exe without switches in a completely unattended mode.
Namaste.

How to set the network adapter order from the command line.

You will notice that now matter how you install your operating system, the network adapters order is very likely to be wrong, usually with the wireless adapter at the top.

How to find out:
  • Open the Control Panel.
  • Open “Network and Sharing Center”.
  • On the left pane, click on “Change Adapter Settings”.
  • Press the Alt key on your keyboard then on the menu bar that appears, click Advanced > Advanced settings.
  • On the first tab, “Adapters and Bindings” check what connection is at the top.
Now, there’s a way to automate this for enterprise deployment: Hyper-V Network VSP Bind Application.
This utility is not intended to be used on client Operating Systems but indeed works great. All the info is here: http://code.msdn.microsoft.com/nvspbind
Simply copy the executable to a known location and execute the following command:
nvspbind /++ “Local Area Connection” *
Where /++ puts the adapter named “Local Area Connection” at the top for all protocols with *
Namaste.

Add a domain user as the local admin with a script.

If you need to automate the attribution of local admin rights, use the following script, that will save you quite a few clicks:

Dim DomainName
Dim UserAccount
Set net = WScript.CreateObject(“WScript.Network”)
local = net.ComputerName
DomainName = “CONTOSO”

set group = GetObject(“WinNT://”& local &”/Administrators”)

UserAccount = InputBox( “Please enter the username (first.last) of the local admin or cancel (the user must exist in AD)” )

on error resume next
group.Add “WinNT://”& DomainName &”/”& UserAccount &”"
CheckError

sub CheckError
if not err.number=0 then
set ole = CreateObject(“ole.err”)
MsgBox ole.oleError(err.Number), vbCritical
err.clear
else
MsgBox “User added to the local Admin Group”
end if
end sub

Namaste.

MDT 2010 & 2012: Make the local admin password optional.

If you want to be able to set the local admin password but also leave the possibility to make it blank, edit the following file scripts\DeployWiz_Validation.vbs in MDT 2010 and scripts\DeployWiz_AdminPassword.vbs in MDT 2012:

Function ValidatePassword

ValidatePassword = ParseAllWarningLabels

NonMatchPassword.style.display = "none" If Password1.Value <> "" then
If Password1.Value <> Password2.Value then
ValidatePassword = TRUE
NonMatchPassword.style.display = "inline" 
End if
End if
ButtonNext.Disabled = not ValidatePassword 
End Function

Namaste.