Silent install Quick time for all users


I'am triying to install the last version of quick time; i installed the msi and i've done all modifications, after that i copied the file Quick Time.qtp in the msi but the file is not correctly copied, but when i copied the file. qtp manually in the LocalLow it works fine.
My questions are: there is any one who have a correct method to deploy this application? where we have to put exactelly the file QTP in installshield? there are others configurations to desactivate the updates? How to install it for all users?

Please Help me to found the correct method.
Thanks for all.

0 Comments   [ + ] Show comments

Answers (3)

Posted by: EdT 9 years ago
Red Belt
There are different ways to do this. The method I favour is to create a user feature and make it the parent of all other features. You then add entries to the file/component/featureComponent/msifilehash/directory tables to install the configuration files from the source location during self healing, and you add a HKCU registry entry to trigger self healing, all in the user folder. I normally do this via ORCA
The obvious alternative is to deploy the configuration files to a custom folder added to the main program install location, and use active setup to install for each user.
There is no solution for ALL USERS.

  • Thanks for your answer, i'm looking for more details - Asker 9 years ago
Posted by: Asker 9 years ago
Second Degree Green Belt
Any more answers please!

To create the MST, i  copied the file 'quick time.qtp' in USERPROFILE\Appdata\LocalLow\Apple Computer\QuickTime ,but when i deploy the application, it is installed in c:\APPdata\LocalLow\Apple Computer\QuickTime.
where i've to put the QTP file in installshild to have it in c:\users\%username%\appdata\locallow\apple computer\quicktime ??

LocalLow\Apple Computer\QuickTime
LocalLow\Apple Computer\QuickTime

  • Let me have your email and I will send you a word document with all the necessary information - EdT 9 years ago
    • This is my adress mail: askera230@gmail.com
      Thank you - Asker 9 years ago
      • You have mail - EdT 9 years ago
    • Hi EdT, QuickTime is driving me bonkers. Could you send me the email also please? ChinoZ32 @ gmail dot com. Thank you! - chino 9 years ago
    • I'm sure it would be helpful to everyone coming to this site looking for how to silent install Quicktime the best way. Do you mind posting this word doc as a blog post or paste it directly to this post? Thanks. - bens401 9 years ago
Posted by: Asker 9 years ago
Second Degree Green Belt














QuickTime Player 7.7.4




1      Application / Package Information



QuickTime Player



Apple Inc.

Product Key(s)


License Type

Freely downloadable from Apple with distribution agreement in place.

Vendor’s Installation

Multiple msi files in self extracting EXE.

WPS Project Process

(ICTST) Vendor’s MSI based package

Package Type

2 of vendors msi + transform on main QuickTime msi, called by GInstaller.

Product Code(s)

AppleApplicationSupport.msi:  {5D09C772-ECB3-442B-9CC6-B4341C78FDC2}

QuickTime.msi:                        {B67BAFBA-4C9F-48FA-9496-933E3B255044}


Help Desk Incident #


GInstaller.vbs version


Package / Installation Outline Notes

Requires installation of AppleApplicationSupport.msi and QuickTime.msi.


QuickTime774.mst configured to deliver the following customisations:

-       Custom QuickTime.qtp to uncheck as default: auto updates, show icon in system tray, notification of file type association changes.

-       Custom QTPlayerSession.xml to not display HotPicks at start-up.

-       Active Setup keys and UserSettingsCopy.vbs to ensure custom settings apply to all logging on users.

-       Remove all shortcuts except main program shortcut, and place it under Start / Programs / Accessories.


CopyPrefsToLoggedonUsersProfiles.vbs created to copy config files directly into the profile of any logged in accounts (also writes reg keys to prevent Active setup re-run).


Quicktime sample files for testing purposes: http://support.apple.com/kb/HT1425


2      Integration

2.1    Method



Notepad, ORCA, Wise Package Studio



Removed via QuickTime774.mst:

     Start / Programs / QuickTime / PictureViewer

     Start / Programs / QuickTime / Uninstall QuickTime

     Start / Programs / QuickTime / About QuickTime

     Start / Programs / QuickTime <folder>

     Desktop / QuickTime Player


Moved from:   Start / Programs / QuickTime / QuickTime Player

to:                   Start / Programs / Accessories / QuickTime Player


Registry Keys

Active Setup registry values applied via QuickTime774.mst:


[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\QuickTime User]

@=”[IT Services] QuickTime 7.7.4 User Settings”


“StubPath”=”WScript.exe //B \"[INSTALLDIR]_ICTST_Custom\UserSettingsCopy.vbs\"”





Vendor’s, plus custom files below (copied to [INSTALLDIR]\_ICTST_Custom):








Custom ini, xml, Config Files


NOTE: The AppleApplicationSupport.msi can return 1603 if a newer version is installed. This can happen if a user has installed the latest version of iTunes. For this reason, 1603 is entered as a successful return code in the GInstaller.ini.




Vendor compressed .exe downloaded from http://www.apple.com/uk/quicktime/download/. QuickTime.msi and AppleApplicationSupport.msi extracted using 7zip. 


QuickTime774.mst created with the following customisations:


New Feature: ICTST_Custom made parent of QuickTimeEssentials


Components: ICTST_ActiveSetup and ICTST_UserPrefs


Custom Action:  ICTST_CustomUserPrefs – Condition: NOT REMOVE=”ALL”  – placed just before InstallFinalize in deferred sequence.  This action runs the script to copy into place the custom config files for the installing user.


QuickTime shortcut moved under Accessories so that it does not clog up the Start / Programs menu as very few people actually start QuickTime from the program icon.


The above is saved then the package installed using the new MST and configuration files from the previous package to capture the updated user files below:


Generation of custom config files QuickTime.qtp and QTPlayerSession.xml:


  • Run QuickTime Player:

-       Edit / Preferences / Player Preferences:

General Tab:  Untick 'Show Content Guide at startup' and click OK.

-       Edit / Preferences / QuickTime Preferences:

Update tab:  Untick ‘Check for updates automatically’.

File Types tab:  Untick 'Notify me if other applications modify these associations'.

Advanced tab:  Untick ‘Install QuickTime icon in system tray’ and click OK.


  • Close QuickTime Player and harvest the two files. 


  • Add files to "[INSTALLDIR]\_ICTST_Custom" folder using WPS.



  • The MST is updated with the file sizes and MSIFileHash values of the harvested files, and the added component GUIDs are changed to ensure the components get installed during an upgrade.



Active Setup runs UserSettingsCopy.vbs to copy in the custom config files above to keep login fast – previous packages that performed an MSI repair at logon via Active Setup took over 30 seconds to complete. Now it is less than one second. 


The script CopyPrefsToLoggedOnUsersProfiles.vbs is included to further avoid unnecessary Active Setup operations by copying the configuration files to the profile(s) of any logged on user(s). It detects which OS Architecture is in use and copies the config files to the relevant locations under the users profile.



2.2    Deployment





2.2.1    Command Line(s)






Msiexec /x {B67BAFBA-4C9F-48FA-9496-933E3B255044}


Apple Application Support (Note this is also required by iTunes):

Msiexec /x {5D09C772-ECB3-442B-9CC6-B4341C78FDC2}










APPENDIXIV - CopyPrefsToLoggedOnUsersProfiles.vbs


'# EdT 18/06/2012 based on iTunes scriptby D.Collins - 13:24 14/10/2011

'# EdT updated 05/03/2013 for 64 bitsupport

'# Copies 2 x Quicktime config files intologged on users profiles

'# PhilW updated 24/05/2013 for Quicktime7.74.80.86

'# D.Collins - 17:08 29/05/2013 -QuickTime-specific x64 fixes



Option Explicit



'    Setup Error Handler


'# Error Exception Handler.

Class QuitErrorlevelOnRuntimeError

   Private Sub Class_Terminate()

       '# If Err.Number = 0 Then wscript.quit will return -2147155971.

       '# If the script just ends with no WScript.Quit, Err.Number will = 0

       If Err.Number <> -2147155971 And Err.Number <> 0 Then

            Set wshShell =CreateObject("WScript.Shell")

            wshShell.LogEvent 1, "FATAL ERROR- Fatal error in '" & WScript.ScriptFullName & "'process.  Error " & Err.Number& " - " & Err.Source & " - " &Err.Description

            WScript.Quit Err.Number

       End If

  End Sub

End Class

Dim wshShell, qeloreObj : Set qeloreObj =New QuitErrorlevelOnRuntimeError



'   Main Script



Const HKEY_CLASSES_ROOT   = &H80000000

Const HKEY_CURRENT_USER   = &H80000001

Const HKEY_LOCAL_MACHINE  = &H80000002

Const HKEY_USERS          = &H80000003



Dim fso, strLog, objReg, strKeyPath,arrSubKeys, arrSIDList, strSIDList, strSID, strPath, strPathList, arrPathList,arrKeys, strKey

Dim strSourcePath, strPath1, strPath2,bits


Set wshShell =CreateObject("WScript.Shell")

Set fso =CreateObject("Scripting.FileSystemObject")

bits = CSI_GetBitness("OS")

strLog =wshShell.ExpandEnvironmentStrings("%LOG_FILE%")


If bits = 999 Then

   WLog Now() & " - ERROR: CSI_GetBitness function in script'" & WScript.ScriptName & "' returned 999 - prefs notcopied"

   WScript.Quit 114015

End If


Set objReg =GetObject("winmgmts:{impersonationLevel = impersonate}!\\.\root\default:StdRegProv")



objReg.EnumKey HKEY_USERS, "",arrSubKeys


If IsNull(arrSubKeys) Then

   '# Nothing found under HKU

   WLog Now() & " - ERROR: No Reg Keys found under HKU"

   WScript.Quit 114001

End If


strSIDList = ""

For Each strKey In arrSubKeys

   If Left(strKey, 8) = "S-1-5-21" And Right(strKey, 8) <>"_Classes" Then

       strSIDList = strSIDList & strKey & "|"

   End If



'# MsgBox strSIDList


If strSIDList = "" Then

   '# No logged on profiles found

   WLog Now() & " - No Logged on user profiles found."

   WScript.Quit 0

End If


strKeyPath ="SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"

objReg.EnumKey HKEY_LOCAL_MACHINE,strKeyPath, arrSubKeys


If IsNull(arrSubKeys) Then

   '# Nothing found under HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList

   WLog Now() & " - ERROR: No Reg Keys found underHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"

   WScript.Quit 114001

End If


arrSIDList = Split(strSIDList,"|")

strPathList = ""

For Each strKey In arrSubKeys

   For Each strSID In arrSIDList

       If strKey <> "" And strKey = strSID Then

            '# Msgbox "Match found -looking in: " & strKeyPath & "\" & strKey

            '# Found a SID match, now collectthe profile path

            objReg.GetExpandedStringValueHKEY_LOCAL_MACHINE, strKeyPath & "\" & strKey,"ProfileImagePath", strPath

            strPathList = strPathList &strPath & "|"

       End If




If strPathList = "" Then

   '# No logged on profiles found

   WLog Now() & " - No Logged on user profile paths found,although logged on user SID's *were* found."

   WScript.Quit 0

End If


'# MsgBox strPathList

If bits=32 then strSourcePath =wshShell.ExpandEnvironmentStrings("%ProgramFiles%\QuickTime\_ICTST_Custom\")

If bits=64 then strSourcePath =wshShell.ExpandEnvironmentStrings("%ProgramFiles(x86)%\QuickTime\_ICTST_Custom\")

If Not fso.FolderExists(strSourcePath)Then

   WLog Now() & " - ERROR: QuickTimePrefs.xml source path notfound:  " & strSourcePath

   WScript.Quit 114019

End If


arrPathList = Split(strPathList,"|")

For Each strPath In arrPathList

   If strPath = "" Then Exit For

   If bits = 32 Then

       strPath1 = strPath & "\Application Data\AppleComputer\QuickTime"

       strPath2 = strPath & "\Local Settings\Application Data\AppleComputer\QuickTime"


       strPath1 = strPath & "\AppData\Local\AppleComputer\QuickTime"

       strPath2 = strPath & "\AppData\LocalLow\AppleComputer\QuickTime"

   End If

   On Error Resume Next





   On Error Goto 0


   WLog Now() & " - Executing Copy of QuickTime prefs FROM:'" & strSourcePath & "QTPlayerSession.xml' TO: '" &strPath1 & "\QTPlayerSession.xml'"

   fso.CopyFile strSourcePath & "QTPlayerSession.xml",strPath1 & "\QTPlayerSession.xml"

   WLog Now() & " - Executing Copy of QuickTime prefs FROM:'" & strSourcePath & "QuickTime.qtp' TO: '" &strPath2 & "\QuickTime.qtp'"

   fso.CopyFile strSourcePath & "QuickTime.qtp", strPath2& "\QuickTime.qtp"



'# Now write reg value to prevent ActiveSetup rerunning the Copy for the logged on users.


For Each strSID In arrSIDList

   If strSID = "" Then Exit For

       Ifbits=32 then

   objReg.CreateKey HKEY_USERS, strSID &"\Software\Microsoft\Active Setup\Installed Components\QuickTimeUser"

   objReg.SetStringValue HKEY_USERS, strSID &"\Software\Microsoft\Active Setup\Installed Components\QuickTimeUser", "Locale", "EN"

   objReg.SetStringValue HKEY_USERS, strSID &"\Software\Microsoft\Active Setup\Installed Components\QuickTimeUser", "Version", "7,74,80,86"

       ElseIfbits=64 then

       objReg.CreateKeyHKEY_USERS, strSID & "\Software\Wow6432Node\Microsoft\ActiveSetup\Installed Components\QuickTime User"

   objReg.SetStringValue HKEY_USERS, strSID & "\Software\Wow6432Node\Microsoft\ActiveSetup\Installed Components\QuickTime User", "Locale","EN"

   objReg.SetStringValue HKEY_USERS, strSID &"\Software\Wow6432Node\Microsoft\Active Setup\InstalledComponents\QuickTime User", "Version", "7,74,80,86"

   End If




'   Subs & Functions


Sub WLog(sTxt)

   Dim ts, sErrTxt

   On Error Resume Next

    Set ts = fso.OpenTextFile(strLog, 8, True)

   ts.WriteLine sTxt


   If Err.Number Then

       If Not fso.FileExists(strLog) Then

            sErrTxt = WScript.ScriptName &" - ERROR: Unable to write to log file '" & strLog & "'- Error " & Err.Number & " - " & Err.Description& vbCrlf & vbCrlf & "Log Entry: " & sTxt

            wshShell.LogEvent 1, sErrTxt

            WScript.Quit 114031

       End If

       WScript.Sleep 100


   End If

   On Error Goto 0

   Set ts = Nothing

End Sub


Function CSI_GetBitness(Target)

'CSI_GetBitness Function - updates athttp://csi-windows.com.

' All bitness checks in one function


 Select Case Ucase(Target)



     CSI_GetBitness = GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'").AddressWidth


   Case "HW", "HARDWARE"

     CSI_GetBitness =GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'").DataWidth


   Case "PROCESS", "PROC"

     'One liner to retrieve process architecture string which will reveal ifrunning in 32bit subsystem

     ProcessArch =CreateObject("WScript.Shell").Environment("Process")("PROCESSOR_ARCHITECTURE")

     If lcase(ProcessArch) = "x86" Then

       CSI_GetBitness = 32


       Ifinstr(1,"AMD64,IA64",ProcessArch,1) > 0 Then

         CSI_GetBitness = 64


         CSI_GetBitness = 0 'unknown processor architecture

       End If

     End If

    Case Else

      CSI_GetBitness = 999 'unknown Target item (OS, Hardware, Process)

 End Select


End Function


Sub MakeDir(dir)

   Dim sTxt

   If Not fso.FolderExists(dir) Then

       wshShell.Run "cmd /c MD """ & dir &"""", 0, True

   End If

   If Not fso.FolderExists(dir) Then

       sTxt = "ERROR: unable to create directory: " & dir

       WLog Now() & " - " & sTxt

   End If

End Sub

APPENDIX V – UserSettingsCopy.vbs




'#EdT 18/06/2012 based on script by D.Collins - 17:11 19/07/2010

'#D.Collins - 16:36 29/05/2013 - Amended to make x64 compliant.

'#Copies to the user profile: QuickTime.qtp and QTPlayerSession.xml.

'#Designed to run from Active Setup - much quicker than using the msi self-repairvia active setup.


SetwshShell = CreateObject("WScript.Shell")

Setfso = CreateObject("Scripting.FileSystemObject")


'#Get OS Architecture

blTestArch= (wshShell.ExpandEnvironmentStrings("%ProgramFiles(x86)%") ="%ProgramFiles(x86)%")  '#Note, if this var is populated, then this must be an x64 OS.

strOSArch= "x64"

IfblTestArch = True Then strOSArch = "x86"


strUserProfile  =wshShell.ExpandEnvironmentStrings("%USERPROFILE%")


'#Set up architecture-specific variables

IfstrOSArch = "x64" Then

    strProgramFiles =wshShell.ExpandEnvironmentStrings("%ProgramFiles(x86)%")

    strTarget1 = wshShell.ExpandEnvironmentStrings("%LOCALAPPDATA%\AppleComputer\QuickTime\")

    strTarget2 = strUserProfile &"\AppData\LocalLow\Apple Computer\QuickTime\"


    strProgramFiles =wshShell.ExpandEnvironmentStrings("%ProgramFiles%")

    strTarget1 = strUserProfile &"\Application Data\Apple Computer\QuickTime\"

    strTarget2 = strUserProfile &"\Local Settings\Application Data\Apple Computer\QuickTime\"






fso.CopyFilestrProgramFiles & "\QuickTime\_ICTST_Custom\QTPlayerSession.xml",strTarget1

fso.CopyFilestrProgramFiles & "\QuickTime\_ICTST_Custom\QuickTime.qtp",strTarget2




    If Not fso.FolderExists(sDir) Then

        wshShell.Run "cmd /c MD""" & sDir & """", 0, True

    End If






This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ