SCCM+2012

This page should be used for SCCM 2012 information. I thought just having one page for it at this time (4-5-12) would be ok since 2012 is not released yet and Osseo is "exploring the possibilities" available in 2012. As 2012 topics evolve, we can create 2012 topic-specific pages as needed. JD

I (Jay) decided to put this information here rather than on the file page. This info is from Now Micro and was part of the presentation at the MEMO Conference in St. Cloud on 10/11/12. I also attached the original file below.

Each and every scenario is different! This process requires a significant amount of analysis in order to achieve high degrees of success and to prevent problems. When researching what other people have done, you must be a discerning consumer of information. Your environment and requirements may be very different, they could be working with a different version, and they could just be wrong – take nothing for granted. These guidelines are generic; there are always exceptions. Your installer should be only as complicated as it **has** to be – start simplistic and get more complicated only if necessary: single command line < basic batch file < vbscript < powershell. Installation must be silent, meaning it requires no user interaction even when there is an installer error. While there are many similarities, each installer is different and can even change between versions of the software. - Try the setup executable with “-?” or “/?” - Search for vendor provided documentation about administrative installations/enterprise deployments - Try looking on ITninja.com [] - Google! If you search for ‘MySoftware Silent Install’ you will likely find something Your installation should configure the system as much as possible eliminating manual configuration steps. Remember, pretty counts! - Include common default settings so user does not have to manually enter them. - Disable any auto updaters if the end user is prompted by them (especially if they can’t run it!), ie Oracle JRE. Leave on any auto updaters that happen silently in the background without bugging the user, ie Google Chrome. - Remove system tray icons and shortcuts that do not provide any significant value. - Turn of first run wizards if they are not particularly helpful, ie Windows Media Player. Consider what happens if an older version of the application is already present. Try to use the same package for clean install and upgrade if possible. Do not hard code local/remote paths (“\\myserver\share\myapp\install.msi”) in scripts unless absolutely necessary. Batch files can use the environment variable %~dp0 to reference the place they were called from (“%~dp0install.msi”). There are ways to do the same thing in vbscript and powershell. This means that you could change the share name or run locally using the same script without modification. You should have a VM or a dedicated test machine that you can regularly reimage. Using a VM lets you snapshot and restore. Consider grabbing a workstation, adding RAM, and installing Hyper-V Server 2008 R2 on it for a cheap VM environment you can share with colleagues. Be sure to test on both clean installations and machines that reflect your current environment. Run apps as a standard (non-administrative user). The installer must be tested as the Local System account (which is different than a typical fully logged in user) and must be tested in this context. Try using ‘PSEXEC.exe –S cmd’ to launch a command shell as SYSTEM.
 * General Tips for Enterprise Software Distribution** (from Nash Pherson, Now Micro) entered by Jay Durbin, 11/27/12
 * Creating a Silent Software Installation**
 * Testing Your Silent Software Installation**


 * This is the original file from Nash:**

entered by Jay Durbin 11/27/12
 * Scripting an Install** (Eric Evenson, Osseo Area Schools, presented at MEMO Conference 2012)

How does the application behave or install – Answer these questions Launch the EXE and check this location **C:\Users\%username%\AppData\Local\Temp**
 * Scripting an Install **
 * Does it unpack files?**


 * (the file below has an image of what you should see here)**

//*Sometimes when using an MSI extracted from a Setup.exe, your installation fails. This is mostly likely caused by a prerequisite like .Net needing to be installed first. Check for additional files that may be part of the install.//

If it does include a script like this to delete it. Del /Q “C:\Users\Public\Desktop\**Appname.LNK**”
 * Does it put a shortcut on the desktop?**

Install the driver once – harvest from C:\Windows\System32\DriverStore\FileRepository – check which one it is by the Date and Time stamp of the folder. Copy the folder to your network share. Use DPinst, PNPUtil or Devcon to install
 * Does it load drivers?**

Example: //setup.**msi ALLUSERS=1 /qb /noestart** OR **setup.msi ALLUSERS=2 /qb /noestart**// []
 * Does it install for ALL users or only the current user ?**


 * (the file below has an image of what you should see here)**

InstallShield – may support an answer file SETUP.ISS use –R switch to record VISE – Mindvision – may support answer file .INI – use –r switch to record and –p to play INNO – SILENT or VERYSILENT and may be case sensitive ??? Google the type of Packager for command line installs
 * What Installer package does it use?**

Create a Silent install Google the application to see if someone has shared their install []

Our current iTunes install format is one we have been using since XP. We had determined through Web Resources that Quicktime **was a prerequisite**
 * iTunes and QuickTime**
 * We did NOT want to install Bonjour so we left that out.**
 * We found that there was a SEQUENCE to the install as well and that the iTunes.MSI needed to be the last thing to install.**


 * Test Install and confirm desired behavior**
 * We found that some versions of iTunes needed to be removed first before new version was installed.**
 * We also found that a RESTART was initiated during the install so we suppressed with a /NORESTART switch**
 * Once a restart is initiated by the end user or ??? SCCM client checks in and queries for the install and will continue from where it left off**

Quicktime no longer appears to be a prerequisite for iTunes but we are using this as an opportunity to update Quicktime at the same time using it as a Dependency in the Application for iTunes.

Using SCCM we were able to gather ALL the UNINSTALL strings and develop a simple batch file to remove the existing version and then install the new version.
 * SCCM 2012**

Below are examples of the script we are using:


 * QuickTime**
 * Runs Uninstall strings until if finds a match

MsiExec.exe /X{F07B861C-72B9-40A4-8B1A-AAED4C06A7E8} /qn /norestart MsiExec.exe /X{1838C5A2-AB32-4145-85C1-BB9B8DFA24CD} /qn /norestart MsiExec.exe /X{216AB108-2AE1-4130-B3D5-20B2C4C80F8F} /qn /norestart MsiExec.exe /X{216AB108-2AE1-4130-B3D5-20B2C4C80F8F} /qn /norestart MsiExec.exe /X{216AB108-2AE1-4130-B3D5-20B2C4C80F8F} /qn /norestart MsiExec.exe /X{216AB108-2AE1-4130-B3D5-20B2C4C80F8F} /qn /norestart MsiExec.exe /X{216AB108-2AE1-4130-B3D5-20B2C4C80F8F} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{1451DE6B-ABE1-4F62-BE9A-B363A17588A2} /qn /norestart MsiExec.exe /X{57752979-A1C9-4C02-856B-FBB27AC4E02C} /qn /norestart


 * paths

SET inst=%~dp0


 * install

"%inst%QuickTime.msi" /qn /norestart

Del "C:\Users\Public\Desktop\QuickTime Player.lnk"


 * iTunes**
 * Runs through the uninstall strings until a match is found

MsiExec.exe /X{2CE5A2E7-3437-4CE7-BCF4-85ED6EEFF9E4} /qn /norestart MsiExec.exe /X{FAE36873-1941-4076-A9A5-48812B5EA0B7} /qn /norestart MsiExec.exe /X{AAD47011-8518-4608-9656-951DA35B587B} /qn /norestart MsiExec.exe /X{77B8B4A5-EE79-4907-A318-2DA86325B8D7} /qn /norestart MsiExec.exe /X{9545E9DB-6F4C-4404-BF25-E221BE8B44C5} /qn /norestart MsiExec.exe /X{2A697B53-0DE3-42DA-B41D-C3F804B1C538} /qn /norestart MsiExec.exe /X{F59A9E08-A6A4-4ACF-91F2-D0344956C30B} /qn /norestart MsiExec.exe /X{18155797-EF2E-4699-9A16-FE787C4C10DB} /qn /norestart MsiExec.exe /X{F5011D7D-0DC2-4669-8B7F-52064D40CCEC} /qn /norestart MsiExec.exe /X{7E6066E6-8B5B-4100-B0FA-1D9E9B663CBA} /qn /norestart MsiExec.exe /X{28D73032-5DAA-4F83-B154-85105DBCCB92} /qn /norestart MsiExec.exe /X{B613A9BB-2B34-4824-A4BE-2427653D59D6} /qn /norestart MsiExec.exe /X{997C9EC4-B53D-479D-81B7-0AEC8D174BA1} /qn /norestart MsiExec.exe /X{69995C7A-062A-4A90-A4DF-8C22895DF522} /qn /norestart MsiExec.exe /X{9CD0F7D3-B67F-4BF8-8784-D73AD229FF1E} /qn /norestart MsiExec.exe /X{6CFB1B20-ECAE-488F-9FFB-6AD420882E71} /qn /norestart MsiExec.exe /X{D66F0C3C-24F2-4463-9E2F-4381E5C40A26} /qn /norestart MsiExec.exe /X{F6D6B258-E3CA-4AAC-965A-68D3E3140A8C} /qn /norestart MsiExec.exe /X{5E11C972-1E76-45FE-8F92-14E0D1140B1B} /qn /norestart MsiExec.exe /X{4BDE7544-0A08-4AD9-8A8F-4B7944471C36} /qn /norestart MsiExec.exe /X{CF8FFD12-602B-422D-AF1D-511B411E7632} /qn /norestart MsiExec.exe /X{23B8A91D-680B-462B-87AD-3D70F7341731} /qn /norestart MsiExec.exe /X{840A3BAA-4C68-4581-9C7A-6F8D6CF531B9} /qn /norestart MsiExec.exe /X{1493B2AE-0261-47D2-B1AA-F4DAD0F6C48B} /qn /norestart MsiExec.exe /X{E3FEE4E7-4488-4A3F-A6BD-13745936EADB} /qn /norestart MsiExec.exe /X{C26B06A9-27BB-45B0-9873-9C623EC2BA38} /qn /norestart MsiExec.exe /X{F439D7AF-03F3-4F8E-AEC4-571BFE977C61} /qn /norestart


 * paths

SET inst=%~dp0


 * install

MSIEXEC /I "%inst%AppleApplicationSupport.msi" /qn /norestart MSIEXEC /I "%inst%AppleMobileDeviceSupport64.msi" /qn /norestart MSIEXEC /I "%inst%iTunes64.msi" /qn /norestart DEL /S /Q "C:\Users\Public\Desktop\iTunes.lnk" REG DELETE "HKLM\Software\wow6432NODE\Microsoft\Windows\CurrentVersion\Run" /v "iTunesHelper" /f


 * This is the original file from Eric:**