Changes
ITunes
,Updated to ITunes 10.5, updated configuration section, removed Quicktime
= General Information =
Apple iTunes is primarily a program to play different types of media, but it is also required if you want to backup an IPhone or sync your emails, notes, bookmarks etc over USB with your PC. ITunes comes bundled with multiple sub programs that are all automatically installed when running the regular ITunes setup wizard. However depending on your use case you don't actually need all of them. Therefore this page is divided into two subparts: On the one hand a full blown ITunes installation (excluding Apple Software Update) when you actually want to use ITunes and Quicktime as an audio and video player, image viewer, podcast streamer, etc and on the other hand a minimal ITunes installation if you only want to use it to sncsync/backup an IPhone.
ITunes is one of the programs that are more difficult to package, since Apple is using it as a vehicle to distribute their other software. To get rid of at least some of those "extra" programs additional configuration steps are necessary to perform. Please read the instructions carefully, because some things here dont work as you would assume. Don't blindly copy and paste the XML code.
= Pre-Setup Process =
* Download the ITunes setup file from Apple (usually called iTunesSetup.exe)
* Open the file with 7zip or another file archiver
* Extract iTunes.msi, QuickTime.msi, AppleApplicationSupport.msi and AppleMobileDeviceSupport.msi
== Notes ==
* Starting with ITunes version 10.5, Quicktime is not part of the setup package anymore and also not necessary any longer to run ITunes. The installation instructions were therefore removed from this page.* Apple Mobile Device Support is only necessary if you want to connect an Ipod or IPhone. Quicktime and Apple Application Support are is mandatory to be able to run ITunes.
* Each sub-application has its own version. When a new version for ITunes comes out, you will need to extract the MSI packages from the EXE installer, right click on the MSI files and check their version to see which sub-applications have updated. Each sub-applications has its own WPKG package definition with separate install, upgrade and uninstall commands.
* To also get the latest available version of Apple Application Support you'll have to download every installer from the Apple website and check which one contains the latest version of the Apple Application Support.
* Apple sometimes updates the MSI packages inside the EXE installer '''without''' changing the version number on the website. So do not take it for granted that there are no new packages available just because the version number on the website is still the same.
* Apple is also known to sometimes modify the setup packages of their programs even at minor version changes, so do not blindly assume that a new ITunes installer will work the same way as the old one did!
= Full iTunes 10.4.0.80 installation in VBS =
'Copy this to notepad++ or anoter editor, save as *.vbs :-)
= Full ITunes installation 10.45.0.80 142 =''If you update this code, please remember the uninstall GUIDs change on each new version installed!''
Deploy File/Folder Structure
%SOFTWARE%\itunes\iTunes.msi
%SOFTWARE%\itunes\AppleMobileDeviceSupport.msi
%SOFTWARE%\itunes\AppleApplicationSupport.msi
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<package id='appleapplicationsupport' name='Apple Application Support' revision='2.0.1%PKGVER%' reboot='false' priority='10'> <variable name='PKGVER' value='2.1.5' /> <check type='registryuninstall' condition='equalsversiongreaterorequal' path='HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{6A3F9D74-BB80-4451-8CA1-4B3A857F1359}\DisplayVersionApple Application Support' value='1.5.2%PKGVER%' />
<install cmd='msiexec /i "%SOFTWARE%\itunes\AppleApplicationSupport.msi" /passive /norestart' timeout='300'>
<exit code='3010' reboot='postponed' />
</install>
<upgrade cmd='msiexec /i "%SOFTWARE%\itunes\AppleApplicationSupport.msi" /passive /norestart' timeout='300'>
<exit code='0' />
</upgrade>
<remove cmd='msiexec /x{6A3F9D74A83279FD-BB80CA4B-44514206-8CA19535-4B3A857F135990974DE76654} /passive /norestart' timeout='300'>
<exit code='0' />
<exit code='1605' />
</package>
<package id='applemobilesupport' name='Apple Mobile Device Support' revision='3.4.1.2%PKGVER%' reboot='false' priority='10'> <variable name='PKGVER' value='4.0.0.96' /> <check type='registryuninstall' condition='equalsversiongreaterorequal' path='HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C23CD6DA-1958-43A5-ADD0-59396572E02E}\DisplayVersionApple Mobile Device Support' value='3.4.1.2%PKGVER%' />
<install cmd='msiexec /i "%SOFTWARE%\itunes\AppleMobileDeviceSupport.msi" /passive /norestart' timeout='300'>
<exit code='3010' reboot='postponed' />
</upgrade>
<exit code='0' />
<exit code='1605' />
</package>
<package id='itunes' name='Apple iTunes' revision='%PKGVER%' reboot='false' priority='9'>
<depends package-id='appleapplication' />
<package id='itunes' variable name='Apple iTunesPKGVER' revisionvalue='10.45.0.80' reboot='false' priority='9142'/> <check type='uninstall' condition='existsversiongreaterorequal' path='iTunes' value='%PKGVER%' /> <!-- Check if automatic updates have been disabled (value: 256) and settings have been locked (value: 1) --> <check type='fileregistry' condition='versiongreaterorequalequals' path='%PROGRAMFILES%HKLM\iTunesSOFTWARE\iTunesApple Computer, Inc.exe\iTunes\Parental Controls\Default\AdminFlags' value='10.4.0.80257' />
<install cmd='msiexec.exe /i "%SOFTWARE%\itunes\iTunes.msi" SCHEDULE_ASUW=0 /passive' timeout='300'>
<exit code='3010' reboot='postponed' />
</install>
<!-- Disable automatic update of ITunes via parental controls and lock the settings, see below for more info -->
<install cmd='reg add "HKLM\SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default" /v "AdminFlags" /t REG_DWORD /d "0x101" /f' timeout='60' />
<upgrade cmd='reg add "HKLM\SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default" /v "AdminFlags" /t REG_DWORD /d "0x101" /f' timeout='60' />
<remove cmd='msiexec.exe /x{C73CA64629ED20C9-73B35E15-4AEF4969-A1369279-C3750574517425BF3727A3DA} /passive /norestart' timeout='300'>
<exit code='0' />
<exit code='1605' />
</source>
= Minimal ITunes installation 10.45.0.80 142 =
The goal of this setup is to get
# a working installation of ITunes which allows you to activate, backup and sync an IPhone or Ipod, download and install new iOS versions and optionally get songs/apps from the Apple Store, # but does otherwise interfere with the PC as little as possible. Specifically this means: No Quicktime browser plugins, no Quicktime Java libraries, no automatic update checks, no desktop shortcuts, no automatic file type associations with Quicktime or ITunes, no ITunes CD grabbing, no unecessary background services, no or autostart entries, no Quicktime picture viewertraybar icons, no task iconsWindows firewall modifications.These package definitions are suited for someone who has to roll out ITunes in a corporate environment because the employees are using IPhones, but otherwise has no use case for ITunes and/or Quicktime at all. Of course all steps in this section is optional, if you don't want to leave a certain feature out, then simply omit the corresponding step.
== Configuration ==
* Open iTunes.msi, select ''New Transform'' from the main menu.
* Drop the component ''itms.js'' from the table ''Component''. This file is responsible for registering ITunes as a trusted application in Firefox.
* Drop the argument actions ''Launch_iTunesHelper'' in and ''WixSchedFirewallExceptionsInstall'' from the table ''ControlEventInstallExecuteSequence''. This prevents iTunesHelper.exe from being started after the setup finishesand ITunes.exe from being added as an internetwide exception to the Windows Firewall. ITunes Helper is responsible for automatically starting ITunes when an iPhone or iPod is being connected to the PC.
* Open the table ''Registry'' and drop the keys ''Registry415'' (adds iTunesHelper.exe to the Windows autorun) and ''Registry835'' to ''Registry843'' (adds the ITunes detector plugin to Firefox and other browsers). Of course the registry IDs may change in future ITunes versions, you can instead search for ''CurrentVersion\Run'' and ''MozillaPlugins'' in the column ''Key'' of the ''Registry'' table.
* Drop the file ''ITDetector.ocx'' from the table ''SelfReg''. This prevents the ITunes detector ActiveX component from being registered, which is otherwise added as a plugin to Internet Explorer.
* Click ''Generate Transform'' and save the resulting file into the same folder as the MSI.
=== Apple Application Support ===* Open AppleApplicationSupport.msi, select ''New Transform'' from the main menu.* Drop the action ''WixSchedFirewallExceptionsInstall'' from the table ''InstallExecuteSequence''. This prevents WebKit.dll being added as an internetwide exception to the Windows Firewall.* Click ''Generate Transform'' and save the resulting file into the same folder as the MSI. You can disable certain ITunes features via the registry. Apple has a list of almost everything that you can disable: [http://support.apple.com/kb/ht2102 How to manage iTunes control features] (kParentalFlags_DisablePing = 0x00800000 is missing in Apple's list). In the XML code below, only the update check in ITunes is disabled. If you want to disable other features too, look up their hexadecimal numbers at the above link, add them up and write the result as a DWORD value to ''HKLM\SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminFlags''. Be aware that you always need to include the "Locked" flag (1) for the settings to take effect. Also don't forget to change the <check> statement, if you modify the value in the registry.Be aware that disabling automatic updates in ITunes also stops the user from being able to download updates for Appstore apps in ITunes. Also ITunes does not recognize IPhones in DFU mode anymore. If the registry key for parental controls already exists in the HKCU hive, the ITunes seems to ignore the HKLM entries.
After ITunes is removed, it does not delete the files in ''%APPDATA%\Apple Computer\iTunes'', ''%USERPROFILE%\Local Settings\Application Data\Apple Computer\iTunes'' and ''%ALLUSERSPROFILE%\Anwendungsdaten\Apple Computer\iTunes''. If you want to remove those directories, you have to specify additional remove commands for WPKG. The same is true for the registry key ''HKCU\Software\Apple Computer, Inc.\iTunes''. The backups of IPhones, songs and applications from the Apple Store are stored outside of those directores!
== Package definitions ==
=== Apple Application Support and Apple Mobile Device Support ===Copy the package definitions definition from the full ITunes installation above and use the original MSI files as extracted from iTunesSetup.exe. These packages don't require any modifications.
=== ITunes Apple Application Support ===
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<package id='itunesappleapplicationsupport' name='Apple iTunesApplication Support' revision='10.4.0.80%PKGVER%' reboot='false' priority='110'> <depends package-idvariable name='appleapplicationsupportPKGVER' /> <depends package-idvalue='quicktime2.1.5' />
<check type='uninstall' condition='existsversiongreaterorequal' path='iTunesApple Application Support' /> <check type='file' condition='versiongreaterorequal' pathvalue='%PROGRAMFILESPKGVER%\iTunes\iTunes.exe' value='10.4.0.80' /> <!-- DESKTOP_SHORTCUTS=0: Don't create desktop shortcuts MEDIA_DEFAULTS=0: Don't make ITunes the default program for Audio CDs and various audio filetypes SCHEDULE_ASUW=0: Don't create a scheduled task to automatically search for ITunes updates REENABLEAUTORUN=0: Don't try to re-enable Windows autorun feature for CDs OUTLOOK_LOAD_BEHAVIOR=0: Don't load ITunes-Calendar-Addin in Outlook --> <install cmd='msiexec.exe /i "%SOFTWARE%\itunes\iTunesAppleApplicationSupport.msi" TRANSFORMS="%SOFTWARETEMP%\itunessoftware\itunesapplication-transform-from-above.mst" DESKTOP_SHORTCUTS=0 MEDIA_DEFAULTS=0 SCHEDULE_ASUW=0 REENABLEAUTORUN=0 OUTLOOK_LOAD_BEHAVIOR=0 /passive /norestart' timeout='300'>
<exit code='0' />
<exit code='3010' reboot='postponed' />
</install>
<exit code='0' />
<exit code='3010' reboot='postponed' />
</upgrade>
<exit code='0' />
<exit code='1605' />
</source>
=== Quicktime ITunes ===The Quicktime installer package is grouped into multiple features (categories). For reasons that are left to the imagination of the reader, Apple prevents the user from deselecting any of those features through the GUI. However by using the ''ADDLOCAL'' switch, it is possible to specify which features should be installed. To use the audio and video playback capabilites of Quicktime, only the feature ''QuickTimeEssentials'' is necessary.The other features as of version 7.70 are: QuickTimeInternet, QuickTimeImage, QuickTimeEffects, QuickTimeMusic, QuickTimeAuthoring, QuickTimeCapture, QuickTimeForJava, QuickTimeProResDecoder. None of them is necessary to run ITunes, therefore they are all excluded. Be aware that ''QuickTimeInternet'' includes the Quicktime plugin for the Internet Explorer (see above for possible security implications when installing this feature). Do not use Quicktime 7.69.80.9 which is bundled in the installation package of Itunes 10.4.0.80 because it contains [http://support.apple.com/kb/HT4826 known security flaws]
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<package id='quicktimeitunes' name='Apple QuickTimeiTunes' revision='7.70.80.34%PKGVER%' reboot='false' priority='21'> <chain depends package-id='quicktimesettingsappleapplicationsupport' /> <variable name='PKGVER' value='10.5.0.142' /> <check type='uninstall' condition='versiongreaterorequal' path='iTunes' value='%PKGVER%' /> <check type='registry' condition='equals' path='HKLM\SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default\AdminFlags' value='257' />
<check type!-- DESKTOP_SHORTCUTS=0: Don'uninstall' conditiont create desktop shortcuts MEDIA_DEFAULTS=0: Don'exists' patht make ITunes the default program for Audio CDs and various audio filetypes SCHEDULE_ASUW=0: Don'QuickTime' />t create a scheduled task to automatically search for ITunes updates <check typeREENABLEAUTORUN=0: Don'file' condition='versiongreaterorequal' path='%PROGRAMFILES%\QuickTime\QuickTimePlayer.exe' value='7.70.80.34' />t try to re-enable Windows autorun feature for CDs <!-- ADDLOCALOUTLOOK_LOAD_BEHAVIOR=QuickTimeEssentials0: Only install the main feature of Quicktime Don't load ITunes-Calendar-Addin in Outlook --> <install cmd='msiexec .exe /i "%SOFTWARE%\itunes\QuickTimeiTunes.msi" TRANSFORMS="%SOFTWARE%\itunes\quicktimeitunes-transform-from-above.mst" ADDLOCAL=QuickTimeEssentials DESKTOP_SHORTCUTS=0 MEDIA_DEFAULTS=0 SCHEDULE_ASUW=0 REENABLEAUTORUN=0 OUTLOOK_LOAD_BEHAVIOR=0 /passive /norestart' timeout='300'>
<exit code='0' />
<exit code='3010' reboot='postponed' />
</install>
<exit code='0' />
<exit code='3010' reboot='postponed' />
</upgrade>
<upgrade cmd='reg add "HKLM\SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default" /v "AdminFlags" /t REG_DWORD /d "0x101" /f' timeout='60' />
<remove cmd='msiexec .exe /x{C9E1440229ED20C9-36315E15-41824969-B3779279-6B0DFB1C033925BF3727A3DA} /passive /norestart' timeout='300'>
<exit code='0' />
<exit code='1605' />
</remove>
</package>
</source>
[[Category:Silent Installers]]