/build/static/layout/Breadcrumb_cap_w.png

Deploying QuickTime 7.5.5 to Vista

[font="trebuchet ms"]Hi All,
[font="trebuchet ms"]
[font="trebuchet ms"]Was wondering if anyone here managed to deploy QuickTime 7.5.5 player to Windows Vista Machines.
[font="trebuchet ms"]
[font="trebuchet ms"]I know there are a lot of thread here regarding to customising QuickTime 7.5.5 before deployment with the QTP and XML file, using ActiveSetup to distribute the 2 files to local profiles when user login.
[font="trebuchet ms"]
[font="trebuchet ms"]Here are my questions and wondering how do you go about solving this?
[font="trebuchet ms"]
[font="trebuchet ms"]1. The active setup doesn't quick work very well with user without admin access. The UAC will prompt user when running activesetup job.
[font="trebuchet ms"]
[font="trebuchet ms"]2. Anyone uses Installshield to install QT7.5.5 without the need to use ActiveSetup?
[font="trebuchet ms"]
[font="trebuchet ms"]Any help will be appreciated.

0 Comments   [ + ] Show comments

Answers (19)

Posted by: piyushnasa 12 years ago
Red Belt
1

Follow below link for packaging latest version of Quicktime on Windows 7

http://msiworld.blogspot.com.au/2012/06/re-packaging-apple-quicktime-7728056.html

Posted by: ahcash 15 years ago
Orange Belt
1
[left]OK. I was hoping to get this running in the direct edit mode before document all the settings and creare a MST file for it.

After reading this post, http://itninja.com/question/how-do-you-roll-out-new-machines?7774&mpage=1&key= and several other post in the forum regarding to QuickTime deployment, I have to say it's nearly there.. I would appreciate it anyone can make some comments or point out if I have miss something.

ActiveSetup part seems to be working but the self healing doesn't seems to work. I am still working on this..

I've done the following in InstallShield 2009 in Direct MST mode this time. QUICKTIME 7.6.

In Summary:

1. Create a new Feature called “UserSettings”

2. Make the QuickTimeEssentials feature under the UserSettings feature

3. Create “_User” and “UserSettingsVista” component under the UserSettings feature.

4. In _User component, copy 2 customise files (quicktime.qtp & qtplayersession.xml) to [INSTALLDIR]_User. These 2 files will be in a data1.cab

5. In UserSettingsVista Component.
a.) Create a new registry key and set this to key path
HKCU\Software\Classes\Software\Apple Computer\UserSettingsInstalled = ‘1’ Key

b.) Duplicate File
FileKey = Filekey1
Component = UserSettingsVista
File_ = qtplayersession.xml
DistFolder = Directory4 (directories are populated as below)

FileKey = FileKey2
Component= UserSettingsVista
File_ = quicktime.qtp
DistFolder = Directory7 (directories are populated as below)

6. Directory Table: (Directory | Directory_Parent | DefaultDir)
--- I reserved all the default key name created in the MST.therefore, sorry about the naming---
(Directory1 | CurrentUserFolder | AppData)
Directory1 property. Its value is 'C:\Users\Peter\AppData\'.

(Directory2 | Directory1 | Local)
Directory2 property. Its value is 'C:\Users\Peter\AppData\Local\'.
(Directory 3 | Directory 2 | APPLEC~1|Apple Computer)
Directory3 property. Its value is 'C:\Users\Peter\AppData\Local\Apple Computer\'.

(Directory 4 | Directory3 | QUICKT~1|QuickTime)
Directory4 property. Its value is 'C:\Users\Peter\AppData\Local\Apple Computer\QuickTime\'.

(Directory5 | Directory1 | LocalLow)
Directory5 property. Its value is 'C:\Users\xm5f\AppData\LocalLow\'.

(Directory6 | Directory 5| APPLEC~1|Apple Computer)
Directory6 property. Its value is 'C:\Users\Peter\AppData\LocalLow\Apple Computer\'.

(Directory7 | Directory 6 | QUICKT~1|QuickTime)
Directory7 property. Its value is 'C:\Users\Peter\AppData\LocalLow\Apple Computer\QuickTime\'.

7. Under QuickTimeFessential Feature, Quicktime.qts component. Add the following registry
HKLM\Software\Microsoft\ActiveSetup\{Product GUID}\
Make it as String
ComponentID = [ProductName] User Setup
Version = 7,6
StubPath= MSIEXEC /fup {Product ID} /qn

8. Modified the following in ‘InstallExecuteSequence’ table. Set the conditionfor Action "Launch_QTTask" to nothing

9. Deleted the following in 'ControlEvent' table. "SetupCompleteSuccess | ConfigureTypesBtn | DoAction | Launch_QuickTimeCpl"

10. In InstallExecuteSequence & InstallUISequence, Set the CurrentUserFolder to "%USERPROFILE" only. (This is because at one stage, when self healing, it duplicate the 2 files to C:\Current User\Local Settings instead. which joe experienced in http://itninja.com/question/how-do-you-roll-out-new-machines?7774&mpage=1&key=)

And the following Property table
Property Table:
ALLUSERS=1
DESKTOP_SHORTCUTS=0
QTTaskRunFlags=0
QTINFO.BISQTPRO=1
SCHEDULE_ASUW=0
[/left][left]
Notes: [/left][left] [/left][left]As stated (below) previously by nick in the thread mentioned above, Nick has already provided some solution below to overcome this problem. [/left][left] [/left]
Hi folks,
finally got the time to down track the annoying error, that the 'Quicktime.qtp' file is somehow being changed after it is copied to the profile.
The problem is the 'QuickTimePostInstallMSIProc_deferred' Custom Action in the 'InstallExecuteSequence'.
This CA writes a default 'Quicktime.qtp' file or if it is already there, it writes some default value to it.
This explains, why several people (including myself) experienced a partly change of their well crafted 'Quicktime.qtp' settings file.
To overcome this, one could simply delete this CA. But this is no real option, because it writes the file associations to the registry.
An other possibility would be, to copy the file with the DuplicateFile action and then set the 'Read Only' Bit.
A further one could use a own CA and copy this file as the very last action before 'InstallFinalize' and overwrite the existing file.
Hope this enlighten the things a bit and creates some ideas...
A lot easier approach would of course be, if Apple would provide the deployment people with this things implemented as admin options!
Regards, Nick




Posted by: aogilmor 15 years ago
9th Degree Black Belt
0
good question, you know first Apple should have wised up by now and released a standard machine-level settings quicktime without the need for all that active setup junk. That sucks even on XP; sure we all love to show off our XP and packaging knowledge but it's a pain to do.

Having said that, maybe a shim would work? [:D] See the thread on shims for some resources.
Maybe there is a "white list" of sorts that can be used for Windows Vista that'll get around UAC?
Posted by: turbokitty 15 years ago
6th Degree Black Belt
0
You can't get around UAC with shims if Active Setup needs elevated privileges as a general rule.

I haven't packaged for Vista yet, will an advertised shortcut also kick off UAC? If not, go that route. I packaged QT for XP that way and it worked fine.
Posted by: ahcash 15 years ago
Orange Belt
0
Ya. Looks like Advertise Shortcut might be the way to go.. I can only see one problem to this route.

I did a manual installation and make all the customisation. The customise xml and qtp are store in these location.
QuickTime.qtp -- C:\Users\<UserID>\AppData\LocalLow\Apple Computer\QuickTime
QTPlayerSession.xml -- C:\Users\<UserID>\AppData\Local\Apple Computer\QuickTime

The problem is with the taget path: Ref: http://msdn.microsoft.com/en-us/library/aa372057.aspx
Should I use the following??

[LocalAppDataFolder]LocalLow\Apple Computer\QuickTime
[LocalAppDataFolder]Local\Apple Computer\Quicktime


Posted by: turbokitty 15 years ago
6th Degree Black Belt
0
No idea. You should probably:
-install QT on a clean Vista machine
-take a snapshot with InstallWatch or some such tool
-make the pref changes in QT
-take another snapshot

Then you'll have an idea where the files go.
Posted by: nheim 15 years ago
10th Degree Black Belt
0
Hi AH,
don't know how you built your Active Setup.
We are using this method for years now on locked down XP and Vista without any problem.
If you need admin rights for this, your package is just not authored very well enough.
Copying two files to the users profile will not trigger UAC, but most likely that are not the only things your action really does!

And: If this doesn't work with AS, it will not work with any other method too!

You have to log the AS portion of the setup and find the problem.

Regards, Nick

Check this thread for instructions: http://itninja.com/question/how-do-you-roll-out-new-machines?7774
Posted by: gtw 15 years ago
Yellow Belt
0
FYI: 7.5 is vulnerable to a security issue. 7.6 is teh new 7.5

http://support.apple.com/kb/HT3403
Posted by: ahcash 15 years ago
Orange Belt
0
ORIGINAL: nheim

Hi AH,
don't know how you built your Active Setup.
We are using this method for years now on locked down XP and Vista without any problem.
If you need admin rights for this, your package is just not authored very well enough.
Copying two files to the users profile will not trigger UAC, but most likely that are not the only things your action really does!

And: If this doesn't work with AS, it will not work with any other method too!

You have to log the AS portion of the setup and find the problem.

Regards, Nick

Check this thread for instructions: http://itninja.com/question/how-do-you-roll-out-new-machines?7774


Hi nheim,

We used SMS Installer EXE to copy the 2 files to user profiles for the Active Setup. Vista prompt for UAC for the EXE file.. I suppose I should just issue a "msiexec /i [ProductCode] REINSTALL=UserSettings REINSTALLMODE=up /qn" in the active setup..

I checked your above post and should I follow the steps below? Would you be able to help me out below...
I will document everything and share with our fellow forumers if everything works..


1. Create a new top level feature, we call it 'UserSettings'. Make 'QuickTimeEssentials' a sub feature of it.


I have this in my "Setup Design" view in InstallShield.

UserSettings
+------ QuickTimeEssentials feature
+------ UserSettingsRepair component
+------ com.apple.QuickTime.plist component
+------ _User component.


2. Add the components 'com.apple.QuickTime.plist', 'UserSettingsRepair' + '_User'
2. Add 3 files: 'com.apple.QuickTime.plist' + 'QTPlayerSession.xml' + 'QuickTime.qtp' to the file table.
The later 2 belong to the _User component (see the post above).

We install 'QTPlayerSession.xml' + 'QuickTime.qtp' to a new directory called '_User' below INSTALLDIR.


I added the 2 files QTPlayerSession.xml and QuickTime.qtp (MSI CAB File) to the _User component and the Destination path is [INSTALLDIR]\_User. Did a test run. Cool. I can see the 2 files in the C:\Program Files\QuickTime\_User after installation.

3. Create a line in the 'DuplicateFile' table.
Something like this: DupFile1 UserSettingsRepair QTPlayerSession.xml QuickTime


what's the purpose of the DuplicateFile Table?

My Table in the Direct Editor Mode will look like this. Now, my question is the QuickTime DestFolder, I might have to populate my Directory Table right? I need the file to go into %UserProfile%\Local\Apple Computer\QuickTime.. how would my table looks like?

FileKey Component_ File_ DestName DestFolder
DupFile1 UserSettingsRepair QTPlayerSession.xml QuickTime


4. We then use a VBS Custom Action to put a second line in there at runtime to copy 'QuickTime.qtp' to its final destination.
This is conditioned by the OS, because it needs to go to:
'\All Users\Application Data\Apple Computer\QuickTime' on pre Vista OS'.
And: '%USERPROFILE%\AppData\LocalLow' on Vista.


Do you have an example of the vb script?


5. The 'UserSettingsRepair' component has a Registry key.
We create a new 'UserSettingsInstalled' key at: SOFTWARE\Apple Computer, Inc.\QuickTime and set it to '1'.


Can you explain what's the purpose of this Regkey?
Posted by: nheim 15 years ago
10th Degree Black Belt
0
Hi AH,
cool you made some real progress.
However, you need to understand this things, otherwise you almost certain will never get to the target.
Please read this post from John McFadyen carefully:
http://itninja.com/question/distribution-message21
This is the guide for stuff like this.
And then, you can answer most of your questions by yourself.
Regards, Nick
Posted by: aogilmor 15 years ago
9th Degree Black Belt
0
thanks for clarifying that, first thing he says in that article is don't try it with vendor apps, just repackaging. I was a bit suspicious that AS should cause such problems as I've never seen them, but then again I haven't packaged for Vista. This is a good article which is in text format, a little easier to follow and good for active setup. I've found the advertisement and all this user profile stuff to be tricky and full of gotchas esp. with vendor apps. following Windows Installer standards for the installation won't do any good if apple decides that last thing it does is overwrite everything with its own brilliant settings - have encountered that before too. In such cases active setup is the more practical solution IMHO.
Posted by: nheim 15 years ago
10th Degree Black Belt
0
Hi Owen,
that's a good article too, in a field where not much samples are around.
But: It covers only the mere AS technique.

Most of the problems in this field arise from another corner:
If one has to copy files to the profile, the hole file base is being checked and has to be available.
One incorrect version info or a missing file hash can act as show stopper here.

And second, the problem with making a unique component key. See part II of John's instructions.

So in short: It doesn't matter if you use "self healing" or "Active Setup" to install stuff to each profile!
First hint: Always use registry keys as component keys!
And if files come into play, it is a good solution to install them to a central directory and distribute them from there to each profile with "DuplicateFiles".

When do we use "Self healing" and in which scenario is AS better?
For self healing to do its job we have to guarantee, that there are only advertised entry points. A standard shortcut circumvents the Windows Installers checking mechanisms and no self healing will occur.
This is exactly the case with QT. In our setup, we have several branches, where we install QT with shortcuts in programs menu, on the desktop and in quick launch. And another thing: If someone with adminstrator privileges alters the "program access and defaults" settings for quicktime, the advertised shortcut in programs menu is gone and substituted with a standard shortcut! Self healing gone!
This are the reasons, why we use AS for QT (and others).
Hope, this clarifies this topic a bit.
Regards, Nick
Posted by: ahcash 15 years ago
Orange Belt
0
Hi Owen,

The article in your previous post was good but not as great for Vista - there is where I ran into issue. I've got a SMS Installer EXE file which I run in the active setup and works fine in XP. However, Vista UAC is having issue with the EXE and prompt for UAC when execute. That's why I created this post to seek advice from more experience packager to see how they do this.

nheim, I will have a look at http://itninja.com/question/distribution-message21 today and see if I have missed anything. I am heading towards the duplicate files and activesetup to repair 'msiexec /i {PRODUCT GUID} REINSTALL=UserSettings REINSTALLMODE=up'. All I have to do is to make sure all the directory tree works and that it go accordingly to the condition. I hope I can get it to work for xp and vista if I put the condition in.

One thing I want to get clarification. If I use the duplicate files and AS. I am assuming I don't have to put in a custom action to copy the files to local user profiles where the msiexec repair does the same thing? Am I right?

Thanks again for all the great advice.

Ray.
Posted by: ahcash 15 years ago
Orange Belt
0
Thank you so much for all the assistance. I think I got it to work on both xp and vista.
I had the Active Setup done and works like a charm.
I also had the self healing part done and it fixes itself if it couldn't find the 'key' registry key in the component. Cool.

I will document all these and share if anyone needed.

Only one slight problem here. I try to do this to another package (autodesk design review 2009) who writes a whole bunch of registry keys to the HKCU, but this time the self-healing doesn't work. I had a separate component with a registery key as master and then update the HKCU with necessary registery keys if the master is missing. For a test, I delete the master key and I launch the application, and the self healing didn't initiate. I wonder why.

I might create another post for this and see if anyone can shed some lights.
Posted by: nheim 15 years ago
10th Degree Black Belt
0
Hi Ray,
good to hear it worked.
About the new problem: Are we talking self healing or AS?
If it is self healing, check for entry-points! That means advertised shortcuts, file associations or COM registrations.
Regards, Nick
Posted by: turbokitty 15 years ago
6th Degree Black Belt
0
ORIGINAL: ahcash

I try to do this to another package (autodesk design review 2009)


I hope you're not repackaging that app. It's an MSI already. Also, there's a service pack (MSP) available for download on their site.
Posted by: ahcash 15 years ago
Orange Belt
0
Turbokitty, I am not repackaging. I am adding to the original MSI to take care of activesetup and self healing..

nheim, I should have checked that.. yup, you are right. There are no entry point. The shortcut is not advertised. I have changed that to advertised and now the self healing works. Cheers.

I do have another issue. The application vendor suggested to create an admin installation point and patch it with service pack 1. The installation source have restricted access, so when a normal user logon, what will happen? Athought the healing is only modifying 3 HKCU registry key, will it need access to the installation source?
Posted by: aogilmor 15 years ago
9th Degree Black Belt
0
ORIGINAL: ahcash
Turbokitty, I am not repackaging. I am adding to the original MSI to take care of activesetup and self healing..
nheim, I should have checked that.. yup, you are right. There are no entry point. The shortcut is not advertised. I have changed that to advertised and now the self healing works. Cheers.

I do have another issue. The application vendor suggested to create an admin installation point and patch it with service pack 1. The installation source have restricted access, so when a normal user logon, what will happen? Athought the healing is only modifying 3 HKCU registry key, will it need access to the installation source?

what vendor, apple? not sure how much credibility they have, having created this monstrosity of an installation. also, not sure what's going on where you are but you don't want your installation source to be restricted. Domain Users:rx is a common permission on such sources, for example in dfs. If SMS is doing it, no worries, the source is by definition accessible either on the machine or the dist. server.
btw, now there's 7.6 (of course to address vulnerabilities found in 7.5.5) so we get to start again. O joy....[:@]
Posted by: anonymous_9363 15 years ago
Red Belt
-1
Turbokitty, I am not repackaging. I am adding to the original MSI to take care of activesetup and self healing..
I *really* hope you mean that you're building a transform for the MSI and that you're not actually "adding to the original MSI." It's an almost universally accepted convention that editing vendor-supplied MSIs (even those 'hidden' inside set-up executables) is A Bad Idea.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
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