/build/static/layout/Breadcrumb_cap_w.png

Quicktime 7.5 turning off updates - Help

For Quicktime 7.5 I'm having the hardest time getting my package to turn off auto updates under Edit\Preferences\Quicktime Preferences\Update tab for all users. For all past 7.4.x versions I've used this script below with no problem, but for some reason Quicktime 7.5 it wants to read the quicktime.qtp file from c:\documents and settings\username\appdata instead of all users\application data....

Has anyone been successful in turning this off for version 7.5? I saw a few notes on the package kb last week but it looks like they are gone now...either way I wasn't able to get it to work yet...

Thanks!

J.



Set objWMIService = GetObject("winmgmts://./root/cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'firefox.exe' or Name = 'iexplore.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
strPath = Wscript.ScriptFullName
Set objFile = objFSO.GetFile(strPath)
strFolder = objFSO.GetParentFolderName(objFile)
set WshShell = CreateObject("WScript.Shell")
'Wscript.Echo "msiexec /i " & strFolder & "\quicktime.msi /qb ALLUSERS=2 REBOOT=" & Chr(34) & "ReallySuppress" & Chr(34)
WshShell.Run "msiexec /i " & strFolder & "\quicktime.msi /qn ALLUSERS=2 REBOOT=" & Chr(34) & "ReallySuppress" & Chr(34),0,True
Wscript.Sleep(5000)
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'qttask.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
objReg.CreateKey HKEY_LOCAL_MACHINE, strKeyPath
ValueName = "QuickTime Task"
objReg.DeleteValue HKEY_LOCAL_MACHINE, strKeyPath, ValueName
strKeyPath = "SOFTWARE\Apple Computer, Inc.\QuickTime\ActiveX"
ValueName = "QTTaskRunFlags"
dwValue = 2
objReg.SetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, ValueName, dwValue
WshShell.Run strFolder & "\DoCmdForAllUsers.bat del .\applic~1\micros~1\intern~1\quickl~1\quick*.lnk",0,True
WshShell.Run strFolder & "\DoCmdForAllUsers.bat mkdir "".\application data\Apple Computer""",0,True
WshShell.Run strFolder & "\DoCmdForAllUsers.bat mkdir "".\application data\Apple Computer\QuickTime""",0,True
WshShell.Run strFolder & "\DoCmdForAllUsers.bat copy /y " & strfolder & "\QTPlayerSession.xml "".\application data\apple computer\quicktime\QTPlayerSession.xml""",0,True
on error resume next
objFSO.CopyFile strFolder & "\QuickTime.qtp", "C:\Documents and Settings\All Users\Application Data\Apple Computer\QuickTime\QuickTime.qtp", True
objFSO.DeleteFile "C:\Documents and Settings\All Users\Start Menu\Programs\QuickTime Player.lnk", True
objFSO.MoveFile "C:\Documents and Settings\All Users\Desktop\QuickTime Player.lnk", "C:\Documents and Settings\All Users\Start Menu\Programs\QuickTime Player.lnk"
objFSO.DeleteFolder "C:\Documents and Settings\All Users\Start Menu\Programs\QuickTime"
objFSO.CreateFolder "C:\Documents and Settings\installer\Application Data\Apple Computer"
objFSO.CreateFolder "C:\Documents and Settings\installer\Application Data\Apple Computer\QuickTime"

0 Comments   [ + ] Show comments

Answers (26)

Posted by: nheim 16 years ago
10th Degree Black Belt
2
Hi Bill,
certainly, i can't answer the the bad behavior of a lot of big SW vendors when it comes to mass deployment.
I sometimes tell the people, that good SW-engineers are hard to find and they don't "waste" them on installer development... ;-)

However, a workaround could be to just remove the dialog resource from "Quicktime.cpl"

Load it into ResHacker and remove all entries in the dialog resource "109".

Then you have to make sure, that every user gets a preconfigured "QuickTime.qtp".

There are exact step by step guides in this forum to do this.

Hope this gives you some more ideas.

Regards, Nick
Posted by: jjjwils 11 years ago
White Belt
0

I'm not sure if this might help anyone, but there is a HKCU registry key within the path:-

HKCU\Software\Apple Computer, Inc.\QuickTime\LocalUserPreferences

The value contained here is a file path to the .QTP file that QuickTime uses for it's settings.

This could help you prevent having to use the copying of multiple .QTP files to each users profile, by creating one wherever you like, perhaps in the "All Users" profile, and then using the HKCU registry value to point each user at this .QTP file.

For me personally the problem I'm having is even though I've customised the QTP file, if I overwrite it after initial delivery, when it loads, the settings tab does not reflect the new settings!!!!  I havn't noticed anyone else with the same problem!!!

Posted by: aogilmor 16 years ago
9th Degree Black Belt
0
Use active setup to distribute the qtp file. There are a couple good articles on using it on this site.
Posted by: AngelD 16 years ago
Red Belt
0
I would rely on self-healing instead.
Make sure quicktime.qtp is the keypath of its component.
Make sure the shortcut and any file assocation related to QT are advertised.

When the user launch QT in somehow through the shortcut or file extension a repair will occur and install the qtp file before the application is started.
Posted by: Packageitup 16 years ago
Yellow Belt
0
AngelD, I'm relatively new to packaging software so excuse my dumb questions...;)

How do you make sure quicktime.qtp is in the keypath of its component? I'm assuming I'll need to edit the msi with something like orca? I currently use Landesk for deployment/package building not sure if that helps with any packaging features or not...Thanks!
Posted by: R3N3GAD3 16 years ago
Yellow Belt
0
This is a VBS script that my boss cooked up, it copies the quicktime.qtp file from your server to each users app data folder.

Here it is:

Option Explicit
Dim WshShell, objFSO, SystemDrive, AllUsersProgramsPath, AllUsersDesktopPath

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
SystemDrive = WshShell.ExpandEnvironmentStrings("%Systemdrive%")
'AllUsersProgramsPath = SystemDrive & "\Documents and Settings\All Users\Start Menu\Programs"
'AllUsersDesktopPath = SystemDrive & "\Documents and Settings\All Users\Desktop"


SetPreferenceFiles


' Copies a shortcut to iTunes to prevent the MSI installer from being invoked for each user - which generates the desktop and Start menu icons again.
'If objFSO.FileExists ("\\<servername>\<sharename>\iTunes\iTunes.lnk") Then
'objFSO.CopyFile ("\\<servername>\<sharename>\iTunes\iTunes.lnk"), (AllUsersProgramsPath & "\Accessories\Entertainment\iTunes.lnk"), True
'End If

'Wscript.Quit



' SUBROUTINES ARE SHOWN BELOW
Sub SetPreferenceFiles
' Sets the needed preference files, creating the folder structure if it does not already exist.
Dim Subfolder, UserPaths

On Error Resume Next

' THIS SECTION DETERMINES WHICH FOLDERS TO COPY TO THEN CREATES APPLE FOLDERS IF THEY DO NOT EXSIST

Set UserPaths = objFSO.GetFolder(SystemDrive & "\Documents and Settings\").Subfolders

For Each Subfolder in UserPaths
If Subfolder = (SystemDrive & "\Documents and Settings\LocalService") Then
' Does nothing.
Else
If Subfolder = (SystemDrive & "\Documents and Settings\NetworkService") Then
' Does nothing.
Else
If Subfolder = (SystemDrive & "\Documents and Settings\All Users") Then
' Does nothing.
Else
If Not objFSO.FolderExists (Subfolder & "\Local Settings\Application Data\Apple Computer") Then
objFSO.CreateFolder (Subfolder & "\Local Settings\Application Data\Apple Computer")
End If
If Not objFSO.FolderExists (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime") Then
objFSO.CreateFolder (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime")
End If

If Not objFSO.FolderExists (Subfolder & "\Application Data\Apple Computer") Then
objFSO.CreateFolder (Subfolder & "\Application Data\Apple Computer")
End If
If Not objFSO.FolderExists (Subfolder & "\Application Data\Apple Computer\QuickTime") Then
objFSO.CreateFolder (Subfolder & "\Application Data\Apple Computer\QuickTime")
End If


'THIS SECTION COPIES THE PREF FILES



'LOCAL SETTINGS

' This file disables automatic updates.
If objFSO.FileExists ("\\<servername>\<sharename>\Quicktime\7.50.61.0\QuickTime.qtp") Then
If objFSO.FileExists (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp") Then
objFSO.CopyFile (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp"), (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime\OLDQuickTime.qtp"),

True
End If
objFSO.CopyFile "\\<servername>\<sharename>\Quicktime\7.50.61.0\QuickTime.qtp", (Subfolder & "\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp"), True
End If


'APPLICATION DATA

' This file contains the additional preference settings.
If objFSO.FileExists ("\\<servername>\<sharename>\Quicktime\7.50.61.0\QTPlayerSession.xml") Then
If objFSO.FileExists (Subfolder & "\Application Data\Apple Computer\QuickTime\QTPlayerSession.xml") Then
objFSO.CopyFile (Subfolder & "\Application Data\Apple Computer\QuickTime\QTPlayerSession.xml"), (Subfolder & "\Application Data\Apple Computer\QuickTime\OLDQTPlayerSession.xml"), True
End If
objFSO.CopyFile "\\<servername>\<sharename>\Quicktime\7.50.61.0\QTPlayerSession.xml", (Subfolder & "\Application Data\Apple Computer\QuickTime\QTPlayerSession.xml"), True
End If
End If
End If
End If
Next
End Sub

And that's it. You will probably only need to use the section for copying the preference file, but the other sections may be useful too. Please let me know if this is helpful or if you have any questions.

Have a nice day!
Posted by: Packageitup 16 years ago
Yellow Belt
0
R3N3GAD3,

Thank you!!!! This is EXACTLY what I was looking for, and it works great!
Posted by: R3N3GAD3 16 years ago
Yellow Belt
0
That's great, Packageitup!! Glad to help.

(Credit goes to my boss though :P )
Posted by: anonymous_9363 16 years ago
Red Belt
0
ORIGINAL: Packageitup
Thank you!!!! This is EXACTLY what I was looking for, and it works great!
It works *NOW* but how will the app self-heal if required?

You should always avoid hacks if at all possible and, in this case, it is eminently avoidable. The answer to your question about how to set a component's key path will be in your authoring tool's help, on Google, via AppDeploy's 'Search'....
Posted by: R3N3GAD3 16 years ago
Yellow Belt
0
VBScab,

Thanks for pointing that out. However, we have been sending out jobs using this script for a couple years now and have never seen a problem with a broken installation. There are about 150 PC's in our office, so it seems that if there were an issue we would have seen it by now. I hope that this doesn't become an issue for you, Packageitup, but if it does VBScab's post should help you out.

Thanks and have a nice day! [:)]
Posted by: ahcash 16 years ago
Orange Belt
0
ORIGINAL: aogilmor

Use active setup to distribute the qtp file. There are a couple good articles on using it on this site.


I used Active Setup and it works like a charm... Google it and you will find a few good articles on using it.
Posted by: makelley 16 years ago
Senior Yellow Belt
0
Adding my two cents.. Active Setup is my choice also... main reason is because if my users want to make changes with file assoc. they will be able to and the app will not self-heal. Also, it keeps the install running again when the user logs on for the first time if deploying thru SMS or others.

THE BIG question is.....
Is there a way to actually disable the Update button so there is not any options to update. We have the update site blocked thru the proxy.. but it would be great if the button could be "greyed" out and not active at all.....

Regards all!!!
Mike
FRB Dallas
Posted by: gmouse 16 years ago
Orange Senior Belt
0
We are seeking information directly from Apple (Case # 105914427) on how to create a "business" customized deployment package of 7.55.90.70, to deploy using SCCM to 80 K workstations. I've been on the phone for 3 hours, and, been transferred through 8 people. Not sure if the information is available.

Why is it so hard for Apple, Adobe, and, other "problem" vendors to understand business needs?
Posted by: Faylah 16 years ago
Yellow Belt
0
gmouse,

I'm very interested in what you find out. I need to roll this out to about 20k workstations, and I can't have the auto updates on for any users.
Posted by: fcspaul 16 years ago
Yellow Belt
0
gmouse,

Have you found anything out yet? I am looking for a way to disable the update mechanism through command switches passed to the msi. I would prefer that to having to deploy qtp and/or xml files. Even a registry setting would be preferable. I would even settle for an ini file ... at least then I could redirect it to the registry.

Paul
Posted by: gmouse 16 years ago
Orange Senior Belt
0
Apple has remained "resistant" towards giving me an answer.

Have never dealt with a vendor that refused to help before.
Posted by: andemats 16 years ago
2nd Degree Black Belt
0
Hi all!

Any news regarding how to disable the auto-update of QT on 7.55.90.70?
I want to keep the original MSI as far as possible and keep the installation as clean as possible. [8|]

gmouse; did you solve it or did you hear anyting from Apple?
Posted by: silo_mungus 16 years ago
Yellow Belt
0
The way I have turned off the updates was to copy the quicktime.qtp file in the \Documents and Settings\All Users\Application Data\Apple Computer\QuickTime\ and in the mst file added/merged the following keys from a reg file.

[HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\SystemPreferences]
"FolderPath"="C:\\Documents and Settings\\All Users\\Application Data\\Apple Computer\\QuickTime\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\LocalUserPreferences]
"FolderPath"="C:\\Documents and Settings\\All Users\\Application Data\\Apple Computer\\QuickTime\\"

Note: Make sure the install package is explicitly pointing to the path instead of a variable for the "Documents and Settings" folder.
Posted by: kwahaes 15 years ago
Yellow Belt
0
Good luck Gmouse. I have attempted on several occasions to get help from Apple, and after a few back and forth conversations, they just stop responding each time. I can't say that I blame them too much. I am trying to deploy to over 20K workstations too. But since my company does not pay for the "pro" version and insists on deploying the free one, I believe Apple just doesn't want to invest the time in helping.

We have used the active setup method once and it was pretty successful. The last deployment of 7.4.5 has been difficult because we brought in a Wise packager consultant who created it and he has since been let go. So now we are back to possibly doing the Active Setup method. I will have to figure out how I did that in the past, or try to figure out what the guy did in Wise to make it work with 7.4.5.

I keep hoping Apple will see how every one struggles with this product and actually do something right and fix it. But again, its free. I have actually been working toward getting our streaming media group to go back to Media Player. It is on all our machines and is easily patched via our WSUS servers. Patching these 3rd party products are much more difficult. If Apple would just release a patch compared to a reinstall, that would make it somewhat easier. We have a good patch testing procedure in place for WSUS patches and deployment is easy. Turning on the auto-update feature is one possible solution with this product, but our business units do not like things auto-updating without testing first. There is also the fear that at some point, the auto-update will install iTunes, Safari or some toolbar too. I am reasonably sure we will be moving away from Quicktime very soon if Apple doesn't do something in the very near future to make this easier to patch and deploy in a large scale environment.
Posted by: moyarsma 15 years ago
Yellow Belt
0
First off, Major thanks goes out to silo_mungus for tipping me off to QuickTime’s methodology. Until I tried his approach of directing the QuickTime app to a config file I thought it generated it on the fly. This is not the case. I did try Silo's approach and it works. I investigated it a little more and figured it all out. I posted my entire process in the notes section of QuickTime 7.x. Below is what I figured out for the config file. Starting on version 7.5.x Apple changed the location of the config file to be "per" user account and not per computer. This sucks for all of us who have to package. This means we have to cover not only every person that's logged into a computer but everyone that could log into the computer after QuickTime is installed. So those are the 2 challenges. Let's start with the easy one.
QuickTime creates a generic config file(Quicktime.qtp) during the installation process.(not in the .msi from what I can tell). It places it in every single user's profile folder(C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Apple Computer\QuickTime) and in the default user folder(C:\Documents and Settings\Default User\Local Settings\Application Data\Apple Computer\QuickTime). The way I did it was to install QuickTime. Make all configuration changes you want. Then navigate out to: C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Apple Computer\QuickTime and copy out the Quicktime.qtp from that folder. USERNAME obviously should correspond to whatever login ID you used to log into Windows with to configure QuickTime. Once you have the configured Quicktime.qtp file you are half way there. Use this in your package to over ride the generic one QT creates during its install.

Copy it to: C:\Documents and Settings\Default User\Local Settings\Application Data\Apple Computer\QuickTime.
This will take care of anyone that logs into the computer that didn't have a profile before QuickTime was installed(Windows profiles that get created after QT was installed).

Now comes the tricky part. How to copy the config file into all existing profile folders. I called cmd.exe with the following switch: /C DIR "C:\Documents and Settings\*." /AD /B > C:\temp\UserList.txt
This created a nice little txt file for me to read with my Wise script. You will have to build in an exclusion. It picks up accounts you don't need like Administrator, All Users, Default User, etc... From here your script just needs to read the other user accounts from the UserList.txt and plug them into the location below:
C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Apple Computer\QuickTime
Replace the Generic Quicktime.qtp QuickTime puts in each of these folders with the configured one you create. This will resolve the configuration issue... auto update being the most common issue.
Now if you are worried about any "self healing" or Un-installation cleanliness issues I wouldn't worry. The basic .msi installer from apple doesn’t remove the Application Data file anyway... so no loss there. You'd have to clean that up with a script anyway...

FYI… this works for 7.5.5 and 7.6.0…

--Mitch
Posted by: anonymous_9363 15 years ago
Red Belt
0
Ummmmmmmm....I can't help thinking that this would be an order of magnitude easier and simpler if one used Active Setup...
Posted by: ahcash 15 years ago
Orange Belt
0
Do it work on Vista?
Posted by: joedown 15 years ago
Third Degree Brown Belt
0
So far the best solution I have seen to this is to use an advertised shortcut and the duplicate files table. This will overwrite any existing quicktime.qtp qtplayersession.xml files and copy them over for any new users. Too bad this forum doesn't allow attachments or I would post my transform for version 7.6
Posted by: ahcash 15 years ago
Orange Belt
0
Joe,

I agree with you. I've done mine (http://itninja.com/question/gnu,-freeware-and-shareware-programs-to-cloning3896) the similiar way but using both Active Setup and advertise shortcut. I am pretty sure AS will take care of it, but just in case.

With the self healing and duplicate file, I find that the qtp file got replaced before the FinalCost. Must be one of the custom action component. I move the duplicatefile actions just before the finalcost to overwrite whatever been replaced. Not the best and cleaness solution but will do the trick for now.

Would you be able to send me a copy so that I can see how you do it? I will PM you. Thanks.
Posted by: nheim 15 years ago
10th Degree Black Belt
0
Hi Ray,
in this post, i have described the problem (and possible solutions):
http://www.appdeploy.com/messageboards/fb.asp?m=30536

Your approach is quite elegant, but nobody knows, what the side effects of this could be.

We currently have set the RO bit in the DuplicateFiles table and have a CA as very last deferred action, which removes the RO bit from quicktime.qtp.

Regards, Nick
Posted by: fritoz 15 years ago
Orange Belt
0
However, a workaround could be to just remove the dialog resource from "Quicktime.cpl"

Load it into ResHacker and remove all entries in the dialog resource "109".

Then you have to make sure, that every user gets a preconfigured "QuickTime.qtp".

There are exact step by step guides in this forum to do this.

Hope this gives you some more ideas.

Regards, Nick


Just used this technique and it works a treat! [:D] Rated the post as well.

Excellent advice Nick.

Regards,
Brian

Comments:
  • Fitoz: THANK YOU!!! Very much.

    Using ResHacker. I was able to remove the Update tab from Quicktime.cpl dialogue 109 tree. I was also able to remove "Update Existing Software" from the help menu from the quicktimeplayer.dll menu tree.

    After 2+ days of searching the Internets! This BUD's for you! I love you man! (assuming you're a man). That is all. - wutamess 12 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
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