We're just doing our yearly image refresh and are hitting a problem in the multi-user environment with the quicktime install. The preferences file we copy appears to be ignored.

We install on a reference machine Quicktime 7.2, configure the player (to turn off automatic updates, notifications etc..) and save the preferences file to package folder. We install on our target workstations with the following script,

start /wait msiexec /i QuickTime.msi ALLUSERS=1 QTINFO.BISQTPRO=1 REGSRCH_INSTALL_ASU=0 DESKTOP_SHORTCUTS=0 /qn
REM QTINFO.BISQTPRO=1 Removes Quicktime Pro nag
REM REGSRCH_INSTALL_ASU=0 Removes Apple Software Updater
REM DESKTOP_SHORTCUTS=0 Removes desktop shortcuts

reg We dont like QTtask.exe
delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "QuickTime Task" /f

mkdir "C:\Documents and Settings\All Users\Application Data\Apple Computer"
mkdir "C:\Documents and Settings\All Users\Application Data\Apple Computer\QuickTime"
copy QuickTime.qtp "C:\Documents and Settings\All Users\Application Data\Apple Computer\QuickTime"


The problem is new users get the mime-type association prompt and have the default settings.. autoupdates turned on etc..

What we have noticed is that 7.2 differs from 6.5.2 (the last version of quicktime we had deployed) in that 7.2 has a HKCU setting to reference a prefs file in LocalSettings\Application Data\Apple Computer\Quicktime. It seems this preference file does not like being copied between user accounts. Configuring this prefs and copying to a new account causes Quicktime to overwrite it with default settings.

Anyone else had deployment headaches in the multi-user environment?

Kind Regards,
Ian./
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
0
i had the same issues, I think we ended up moving to 7.4 or 7.14 cant remember the exact version but found it to be a bug in the version. Im sure it was 7.4 that was ok.
Answered 08/08/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Why can't software just be nice??!?

But I guess, if it were, AppDeploy wouldn't be here right? ;-)

Kind Regards,
Ian./
Answered 08/09/2007 by: ianatkin
Senior Yellow Belt

Please log in to comment
0
Hi John,
could you please clarify the version you work with.
7.2.0.240 is as of now the latest version.
We were just about to move to this version.
Regards, Nick
Answered 08/09/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
sorry I am no longer on the site I had these issues. I would assume based on the latest being 7.2 that the issues I had was resolved in 7.14.

I will try to hold of one of the guys still onsite to clarify versions for you.

Cheers,

John
Answered 08/09/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Did anyone find a work around? Quick Time still did not release an update to 7.2.0.240
Answered 08/29/2007 by: theoneandonly
Yellow Belt

Please log in to comment
0
We use Quicktime pretty extensively in our Music Department here, and we've had no problems with 7.2. We copy the following files to Documents and Settings:

\All Users\Application Data\Apple Computer\QuickTime\com.apple.QuickTime.plist - mostly just registration information if you have the pro version
\<Current User>\Application Data\Apple Computer\QuickTime\QTPlayerSession.xml - lots of options
\<Current User>\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp - binary preferences file

What I did was install this fresh on a computer, made all the changes in my profile, then copied the above files off to the network. You can either put them in a distribution script, or slip them into a transform. In our case the systems are all frozen with DeepFreeze, so all I did was copy the user-specific files into Default User and every new user every day gets the files. The way I've got it set up, it goes straight into the player - no nags, no ads, no media center, nothing.
Answered 08/29/2007 by: tmountjr
Senior Yellow Belt

Please log in to comment
0
Hi folks,
we change quite a lot of things on the 'Quicktime.msi' to make it mass-deployable.

Important: Be aware, that the config files lay on other places in Vista!
'QuickTime.qtp' in %USERPROFILE%\AppData\LocalLow
'QTPlayerSession.xml' in %USERPROFILE%\AppData\Roaming\Apple Computer\QuickTime
'com.apple.QuickTime.plist' in C:\ProgramData\Apple Computer\QuickTime

Therefore, you either make two releases for Vista and pre Vista or implement conditions to handle this stuff.
We went the second route and use a custom action to alter the 'DuplicateFile table' according to the OS.
We use the the 'DuplicateFile table' to install 'QTPlayerSession.xml' + 'QuickTime.qtp'.
This installs this files to a subdir on INSTALLDIR and copies them over to the profile each time a user logs into his profile the first time after the installation.
With this, there is no access to a cab file and the source and you have much quicker installs for the user settings in each profile.
The profile part is triggered by an 'Active Setup' entry with version info.

Regards, Nick
Answered 08/29/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
nheim,

can you please expand on what you 'triggered' in Active Setup? A repair, a script, or a .exe to copy the settings files?

We are trying something similar to copy the QT settings across new and even existing user profiles (harder!), and at the moment using the DuplicateFiles table to copy those 2 files from AllUsers to CurrentUser and an ActiveSetup to run a VBS to copy files to new user profiles at log on.

Worried we may be over-complicating things, but then this ver of QT makes it a requirement! [:@]
Answered 09/02/2007 by: aPacker
Senior Yellow Belt

Please log in to comment
0
Hi Craig,
this are the most important steps, we do:
1. Create a new top level feature, we call it 'UserSettings'. Make 'QuickTimeEssentials' a sub feature of it.
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.
3. Create a line in the 'DuplicateFile' table.
Something like this: 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.
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'.
6. We create an Active Setup entry with this line:
msiexec /i [ProductCode] REINSTALL=UserSettings REINSTALLMODE=up /qn
7. With this steps, the package could just self heal in each profile.
We use AS, because we also have the (conditioned) possibility to put a shortcut to each users quick launch toolbar.
Such shortcuts can't be advertised and therefore provide no entry point for self healing.
With this in mind, AS is the only way for us to make sure the settings are there, when the user starts QT player for the first time.

Hope this helps a bit.
Regards, Nick
Answered 09/03/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Thanks Nick, it does help!

So, with your technique are you able to get away with a repair without it looking for the MSI source as it writes the files from the _User dir using the cached source?

I presume you add the top level feature aka the 'jmcfadyen technique' I've seen before.

As you probably know (just correcting for others), the location for the qtp file for each user pre-Vista is as 'tmountjr' says above:
\<Current User>\Local Settings\Application Data\Apple Computer\QuickTime\
not as you noted:
'\All Users\Application Data\Apple Computer\QuickTime' on pre Vista OS'.
Maybe others can confirm but I think this is a change from the location of the qtp settings file from previous vers (e.g. 7.1.5)?

Cheers for the help.
Craig.
Answered 09/03/2007 by: aPacker
Senior Yellow Belt

Please log in to comment
0
Hi Craig,
yes the additional feature uses John's technique.
With the Acitve Setup thing, i not even have a repair.
It does a reinstall of just this top featue, which contains only the things, which go to the profile.
Sorry about the path: Apple changed this in Version 7.2. But its good change.
This package is getting better, slowly, but they are making some progress :-)
Hope this clarifies it.
Regards, Nick
Answered 09/04/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Thanks Nick,
got it working except for the 'Quicktime.qtp' file, which on REININSTALL=Usersettings for a new user, wont copy that one file to the path:
'...\<Current User>\Local Settings\Application Data\Apple Computer\QuickTime\'
I've set up the SystemFolderProperty 'LocalAppDataFolder' in the Dir Table and in the MSIlog it resolves that correctly for the current user, BUT when it resolves its subdirs in the Dir Table: 'Apple Computer' and 'Quicktime', it changes the paths, replacing <Current User> with <TheOriginalInstallerUser>! And because the CurrentUser doesnt have access to the OrigUser profile it fails to copy.

Im lost as to why. Tried using standard components to install these files, also DuplicateFiles after installing to _User as per your method, same result in any case. Funny that the .xml works fine and copies to AppData, but the .qtp gets stuck copying to LocalAppData!? Just tried another file and the same result , so its LocalAppData that is the prob somehow.

Im v close to just VBscripting it I think (still learnt a lot in this process though!).


Log excerpt (user IDs replaced):

MSI (s) (14:60) [15:41:01:676]: Dir (target): Key: LocalAppDataFolder , Object: C:\Documents and Settings\<CurrentUserHere>\Local Settings\Application Data\
MSI (s) (14:60) [15:41:01:676]: Dir (target): Key: APPLE_COMPUTER , Object: C:\Documents and Settings\<OriginalInstallerUserHere>\Local Settings\Application Data\Apple Computer\
MSI (s) (14:60) [15:41:01:676]: Dir (target): Key: QUICKTIME , Object: C:\Documents and Settings\<OriginalInstallerUserHere>\Local Settings\Application Data\Apple Computer\Quicktime\
Answered 09/04/2007 by: aPacker
Senior Yellow Belt

Please log in to comment
0
Hi Craig,
your allmost there! Everything has its price. :-)
Don't VBS this, because this is a common thing, you will need quite often in the future. Believe me!
(Although, maybe some VBS will be needed later on..)

The problem here is, that 'Local Settings' is not among the automatically resolved User Shellfolders in a MSI.
Therefore you need to construct the hole directory tree for yourself.
Fortunately, Apple did the main part already. The path to the current Users Profile is set with the Custom Action 'Set_CurrentUserFolder'.
It sets the directory property 'CurrentUserFolder' to the actual path.
You can see it being called in 'InstallExecuteSequence' and 'InstallUISequence' between the 'CostInitalize' and the 'CostFinalize' actions.
With this, you can set up the further path, you need like this:
LocalSettings CurrentUserFolder LOCSET~1|Local Settings
LS_AppData LocalSettings APPLIC~1|Application Data
LS_Apple_Comp LS_AppData APPLEC~2|Apple Computer
LS_Apple_Comp_QuickTime LS_Apple_Comp QUICKT~2|QuickTime

And finally, in 'DuplicateFile' you set the 'DestFolder' entry to 'LS_Apple_Comp_QuickTime'

Regards, Nick
Answered 09/05/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Nick,
I had found and used 'CurrentUserFolder' the other day and then constructed the rest of the tree, and I still had the same problem - but now I see why!
I had still been using names like 'APPLE_QUICKTIME' and 'QUICKTIME' for the Dir IDs (default assignments from previous workings) where you used "LS_Apple_Comp" "LS_Apple_Comp_QuickTime" respectively. My IDs must've been in use elsewhere and so messing up the resolution of the paths? As soon as I changed these to custom IDs like yours and modified the DuplicateTable to suit, it worked!! (so simple when you step back and are shown it [8|] !)

Nick, you're a job saver, thanks from the other side of the world!

Craig.
'Look Ma! No VBscript!'
Answered 09/05/2007 by: aPacker
Senior Yellow Belt

Please log in to comment
0
Hi Craig,
glad to see it worked out.
Do you use it only on XP? If yes you're done now.
If you need it for Vista too, you have to be aware, that 'quicktime.qtp' lies in:
'%USERPROFILE%\AppData\LocalLow'
Regards, Nick
Answered 09/06/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
This would be very useful to me with other applications as well but I'm getting stuck on adding the 3 components in step #2.

2. Add the components 'com.apple.QuickTime.plist', 'UserSettingsRepair' + '_User'

What do I put for the directory for each of the components? I'm using Orca.
Answered 09/06/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
good question.
You have to consider what this components jobs will be.
To stay with this QT stuff:
'com.apple.QuickTime.plist' puts a file to a folder in the 'All Users' profile (or ProgramData Folder in Vista). --> Directory is the destination of this file.
'UserSettingsRepair' installs a regkey to the users profile and files indirectly via the 'DuplicateFile' table. --> We use a regkey here. Directory can be anything useful.
'_User' installs config files into folder below the INSTALLDIR folder. --> Directory is the destination of this files.

Of course, you have to author some of this directories in the 'directory table'.
Hope, this clarifies it.
Regards, Nick
Answered 09/06/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Anyone successfully added the two settings files to the msi using ORCA? Would you be able to send me the modified MSI or screenshots of the modified tables? It would help me to better understand this process by looking at it.
Answered 09/10/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,

Here is the receipt to include the 3 config files in the MSI and load the configuration automatically into each profile on the first logon after the installation.
This is part of the documentation we created during our changes.
It also demonstrates the use of some Installer-SDK tools.

We create a new feature for the user settings, which will be installed by self healing or Active Setup into each user profile.
The 3 files for the settings have to placed into different directories on Vista and XP/W2k
Directories for 'com.apple.QuickTime.plist'
Vista: C:\ProgramData\Apple Computer\QuickTime\
XP: C:\Documents and Settings\All Users\Application Data\Apple Computer\<QuickTime\

Directories for 'QTPlayerSession.xml'
Vista: %USERPROFILE\AppData\Local\Apple Computer\QuickTime\
XP: %USERPROFILE\Local Settings\Application Data\Apple Computer\QuickTime\

Directories for 'QuickTime.qtp'
Vista: %USERPROFILE\AppData\LocalLow\Apple Computer\QuickTime\
XP: %USERPROFILE\Application Data\Apple Computer\QuickTime\


We don't want this files being loaded from the source-cabinet, if a AS-install or self healing in a profile occurs.
The solution is to use 'DuplicateFile' action for this purpose.
During the main installation process, we install this files into a folder in the programs directory.
The 'DuplicateFile' action is then used to copy this files to their final destination.


Nessecary steps:
Insert new feature 'UserSettings' as top level feature.
add this line to the feature table:
UserSettings UserSettings 1 1 16
change this line in the feature table:
QuickTimeEssentials UserSettings QuickTime Essentials 2 1 INSTALLDIR 16


add this lines to the Component table:
com.apple.QuickTime.plist {40F04B7A-61DB-4590-821D-1237913B7345} QUICKTIMECOMMONAPPDATAFOLDER 0 com.apple.QuickTime.plist
_User {BE32CBB8-9113-4F0F-A558-D50E56AA1612} UserSet 0 QTPlayerSession.xml
UserSettingsRepair {758895DA-A013-4AC1-99D3-6027960DDD94} QuickTime 4 VersionNT < 600 RegUser1
UserSettingsRepairVista {F7570262-0BE0-4AC6-8903-9A1CC6430813} QuickTime 4 VersionNT >= 600 RegUser1Vista

add this lines to the FeatureComponents table:
QuickTimeEssentials _User
UserSettings UserSettingsRepair
UserSettings UserSettingsRepairVista

add this lines to the Directory table for the .qtp/.xml files on Vista:
AppData CurrentUserFolder AppData
Local AppData Local
Local_Apple_Comp Local APPLEC~2|Apple Computer
Local_Apple_Comp_QuickTime Local_Apple_Comp QUICKT~2|QuickTime
LocalLow AppData LocalLow
LL_Apple_Comp LocalLow APPLEC~2|Apple Computer
LL_Apple_Comp_QuickTime LL_Apple_Comp QUICKT~2|QuickTime

add this lines to the Directory table for the .qtp/.xml files on XP:
Apple_Computer AppDataFolder APPLEC~2|Apple Computer
QuickTime Apple_Computer QUICKT~3|QuickTime
LocalSettings CurrentUserFolder LOCSET~1|Local Settings
LS_AppData LocalSettings APPLIC~1|Application Data
LS_Apple_Comp LS_AppData APPLEC~2|Apple Computer
LS_Apple_Comp_QuickTime LS_Apple_Comp QUICKT~2|QuickTime

add this lines to the Directory table for the .plist file:
APPLECOMMONAPPDATAFOLDER CommonAppDataFolder APPLEC~1|Apple Computer
QUICKTIMECOMMONAPPDATAFOLDER APPLECOMMONAPPDATAFOLDER QUICKT~1|QuickTime

add this line to the Directory table for the .qtp/.xml DuplicateFile:
UserSet INSTALLDIR UserSet

change this line in the InstallExecuteSequence and InstallUISequence tables:
Set_CurrentUserFolder %USERPROFILE 907

To generate the configuration files, Quicktime has to be installed straight forward.
After that, start Quicktime and configure the settings you need.
Like: Disable Update, Register the Pro version, Disable the content guide at startup and so on.
This settings will be stored like this:
QTPlayerSession.xml (Basic settings)
com.apple.QuickTime.plist (Username/Serial#)
QuickTime.qtp (Disable Update + generic settings)

harvest this files and copy them to a directory.
make a file called 'config.ddf' in it and copy the following lines into it:
----config.ddf begins here-------
.Set CabinetName1=config.cab
.Set DiskDirectoryTemplate=.
.Set CompressionType=MSZIP
.Set Compress=ON
.Set Cabinet=ON
com.apple.QuickTime.plist com.apple.QuickTime.plist
QTPlayerSession.xml QTPlayerSession.xml
QuickTime.qtp QuickTime.qtp
----config.ddf ends here-------

now generate the 'config.cab':
makecab /f config.ddf

If we want to embedd this CAB into the MSI with a MST, we need to store it in a table.
We use the 'Binaray' table for this because it already exists. Embedd the file with this command:
cscript WiStream.vbs QuickTime.msi config.cab Binary.config.cab

add this line to the Media table:
2 595 2 #Binary.config.cab DISK2

add this lines to the Registry table:
RegUser1 1 SOFTWARE\Apple Computer, Inc.\QuickTime UserSettingsInstalled 1 UserSettingsRepair
RegUser1Vista 1 SOFTWARE\Apple Computer, Inc.\QuickTime UserSettingsInstalled 1 UserSettingsRepairVista
RegHKLM3 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] [ProductName] User Setup QuickTime.qts
RegHKLM2 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] Version 7,2,0 QuickTime.qts
RegHKLM1 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] Stubpath msiexec /i [ProductCode] REINSTALL=UserSettings REINSTALLMODE=up /qn QuickTime.qts

add this lines to the File table:
com.apple.QuickTime.plist com.apple.QuickTime.plist COMAPP~1.PLI|com.apple.QuickTime.plist 498 0 593
QTPlayerSession.xml _User QTPLAY~1.XML|QTPlayerSession.xml 1594 0 594
QuickTime.qtp _User QUICKT~1.QTP|QuickTime.qtp 12805 0 595

add this lines to the DuplicateFile table:
DupFile1 UserSettingsRepair QTPlayerSession.xml QuickTime
DupFile2 UserSettingsRepair QuickTime.qtp LS_Apple_Comp_QuickTime
DupFile11 UserSettingsRepairVista QTPlayerSession.xml Local_Apple_Comp_QuickTime
DupFile12 UserSettingsRepairVista QuickTime.qtp LL_Apple_Comp_QuickTime

This new files are unversioned. Therefore we need to generate entries in the 'MsiFileHash' table for this files.
See: http://blogs.msdn.com/astebner/archive/2005/08/30/458295.aspx
Make a copy of the 'Quicktime.msi' file and name it '1.msi'.
Load 1.msi into ORCA and sort the file table after the sequence.
Delete all lines, but new last tree.
Save it.
Make sure 1.msi and the 3 config files are present in the working directory.
Update 1.msi with this command:
cscript WiFilVer.vbs 1.msi /U /H
Now, 1.msi should contain update Filesizes and Hashes.
Copy them over to 'Quicktime.msi'

Note: All the scripts and ORCA are part of the Installer SDK. Makecab is part of XP and Vista.
If you copy this post to Notepad, search for ' ' (4 spaces) and replace them with a tab.
Then you should be able to paste the lines into ORCA with Ctrl-Shift-V

That's it. Have fun.
Regards, Nick
Answered 09/11/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
This has been a big help but I don't quite have it working yet. When running validation Orca complains about the _User component and I don't understand why the key path is QTPlayerSession.xml. Why would we not also reference Quicktime.qtp? Is that because the install already creates the folders for the location of the Quicktime.qtp file?

I'm not sure what's wrong at this point but the folders never get created for the location of where the QTPlayerSession.xml file should go during install.

I don't wish to put the three files in a cab file since I have an admistrative install point. Is there any changes I need to make to the msi? I have the two files located in the install point under Program Files\QuickTime\UserSet. That is the location where the wifilver.vbs script was looking for the files.
Answered 09/12/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
did you copy the lines from my post above?
If yes, check the GUID from 'UserSettingsRepairVista' component. It was accidently a duplicate of the 'UserSettingsRepair' GUID.
It is corrected now.
To your first question: I use only one component ( _User) for the installation of 'QTPlayerSession.xml' + 'Quicktime.qtp' to its base location. Therefore, only one of them can be the key file for the component. You can change it to 'Quicktime.qtp', but this doesn't make a difference at all.
What is the error you get for the '_User' component on validation?
Using an admin installation should work. The folder seems ok to me.
Regards, Nick
Answered 09/12/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I copied the lines above. I left out the Vista stuff since we don't have Vista and we are not using the pro version of QT so I left out the entries for the .plist file. I went through the whole process 3 times to try and be sure I wasn't making an error.

The error I receive is Component:'_User' does not belong to any feature.

Setting aside the two files I'm trying to add, I'm not even to the point where the installation complains about not being able to find the two files. It's as if all the modifications are being ignored?

Here is my modifications:

Feature
QuickTimeEssentials UserSettings QuickTime Essentials 2 1 INSTALLDIR 16
UserSettings UserSettings 1 1 16

Component
_User {BE32CBB8-9113-4F0F-A558-D50E56AA1612} UserSet 0 QTPlayerSession.xml
UserSettingsRepair {758895DA-A013-4AC1-99D3-6027960DDD94} QuickTime 4 VersionNT < 600 RegUser1

FeatureComponents
UserSettings UserSettingsRepair

Directory
LocalSettings CurrentUserFolder LOCSET~1|Local Settings
Apple_Computer AppDataFolder APPLEC~2|Apple Computer
QuickTime Apple_Computer QUICKT~3|QuickTime
UserSet INSTALLDIR UserSet
LS_AppData LocalSettings APPLIC~1|Application Data
LS_Apple_Comp LS_AppData APPLEC~2|Apple Computer
LS_Apple_Comp_QuickTime LS_Apple_Comp QUICKT~2|QuickTime

Registry
RegUser1 1 SOFTWARE\Apple Computer, Inc.\QuickTime UserSettingsInstalled 1 UserSettingsRepair
RegHKLM3 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] [ProductName] User Setup QuickTime.qts
RegHKLM2 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] Version 7,2,0 QuickTime.qts
RegHKLM1 2 SOFTWARE\Microsoft\Active Setup\Installed Components\[ProductCode] Stubpath msiexec /i [ProductCode] REINSTALL=UserSettings REINSTALLMODE=up /qn QuickTime.qts

File
QTPlayerSession.xml _User QTPLAY~1.XML|QTPlayerSession.xml 1706 1033 8192 594
QuickTime.qtp _User QUICKT~1.QTP|QuickTime.qtp 12856 1033 8192 593

DuplicateFile
DupFile1 UserSettingsRepair QTPlayerSession.xml QuickTime
DupFile2 UserSettingsRepair QuickTime.qtp LS_Apple_Comp_QuickTime
Answered 09/12/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
oh this error is quite clear!
There is something missing.
Add this line to the FeatureComponents table:
QuickTimeEssentials _User

That should do the trick
Answered 09/12/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
That is much better! Now it does install the quicktime.qtp file but not the qtplayersession.xml file. It does copy it to C:\Program Files\Quicktime\UserSet though.

I will continue looking at this.

Thanks
Answered 09/12/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
you're almost there...
Check the logfile and search for duplicatefile action from the bottom up.
Make sure, all your directory, file, duplicatefile table entries are correct.
Regards, Nick
Answered 09/13/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Got it! I had one letter that was the wrong case [:@]

Almost finished. When a new user logs in it appears active setup does its thing and deploys the two files but the quicktime.qtp file gets deployed to C:\Current User\Local Settings\Application Data\Apple Computer\Quicktime

Logging the reinstall I noticed that the CurrentUserFolder property is being set to C:\Current User instead of C:\Documents and Settings\

Following through the process I checked the condition for Set_CurrentUserFolder in the InstallExecuteSequence table and noticed it's set to NOT Installed and %USERPROFILE I changed it to just %USERPROFILE This seems to work but I hope I haven't broken anything while fixing it.

One more question, this method uses active setup to accomplish this task right? Is this easier than using an advertised shortcut to do the same thing?
Answered 09/13/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
but you got a new insight into MSI, didn't you ;-)
The 'CurrentUserFolder' thing was my fault. Was missing from my receipt (corrected it now).
But do it on the 'InstallUISequence' also.

To your question about AS:
Yes this method uses AS, but it works also with Self Healing.
You can test this, if you remove the 3 AS lines from the registry table.
Use the Quicktime shortcut in the Menu to test it. This one is already advertised by default.
I use AS on my method, because i give our administrators the possiblity to install a QuickLaunch and/or Desktop shortcut.
At least the QL SC can't be advertised and if the user starts the app with it for the first time, all the efforts to give the users our default preference are useless.
Regards, Nick
Answered 09/13/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
One more question; how can I force setup to overwrite either of the files if they already exist? For instance during an upgrade the files may already exist in multiple profiles and I want to ensure that the new files overwrite the existing ones. Would this be something with versioning?
Answered 09/13/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Hi Joe,
actually, you have to nothing more.
But it's a very interesting question.
The 'DuplicateFiles' action which copies this files over to the profile seems to lack any version checking at all.
So, it will always overwrite any existing file.
That behavior limits its use quite a bit.
Maybe some other folks know more about this.
Regards, Nick
Answered 09/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
As Nick mentioned, files installed by the DuplicateFiles action will always overwrite existing files.
The duplicate file will be installed if the original file (the file it duplicates) is installed, so the file versioning rules lies in the original file instead.

If you don't use the DuplicateFile table for a certain file located in the user's profile but rely on the self-healing you could first remove the existing file by adding the file to the RemoveFile table in which the file will first be deleted and then installed by the InstallFiles action.
Answered 09/14/2007 by: AngelD
Red Belt

Please log in to comment
0
Hi folks,
my previous post was inaccurate as hell :-(.
Did some more testing.
It looks like 'DuplicateFiles' does all the version testing, except that no Hash can be provided to unversioned files.
That means: All the rules mentioned here:
http://blogs.msdn.com/astebner/archive/2005/08/30/458295.aspx
apply. That means, if the existing files has newer date than the one we try to install, the existing file is kept.
Joe, that means to your question: To make it bulletproof, you have to go the route AngelD suggested.
Kim, thanks for the suggestion with the remove table. Nice idea.
Hope this clarifies it a bit.
Regards, Nick
Answered 09/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi Nick,

I gott abit confused [:D], but are you saying that the file version of the original file is used for the file versioning rule to determine if the duplicate file should overwrite an existing file?
Answered 09/14/2007 by: AngelD
Red Belt

Please log in to comment
0
Looking at the RemoveFile table it looks pretty straight forward except that I'm not sure about the Component column.

Here is what I have so far:

QTPlayerSession.xml ? QTPlay~1.xml|QTPlayerSession.xml QuickTime 3
QuickTime.qtp ? Quick~1.qtp|QuickTime.qtp LS_Apple_Comp_QuickTime 3
Answered 09/14/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Have a look at the description for the the InstallMode column in the RemoveFile table http://msdn2.microsoft.com/en-us/library/aa371201.aspx
As it seems that you have understood this table I guess you easy can figure out the meaning of the Component_ column using the description info.
Answered 09/14/2007 by: AngelD
Red Belt

Please log in to comment
0
Hi Kim,
did some more testing today. This are 6 lines (wrapped) from a log of a prepared Quicktime.MSI:
MSI (s) (48:74) [12:54:13:930]: Executing op: FileCopy(SourceName=QuickTime.qtp,,DestName=QuickTime.qtp,Attributes=0,FileSize=9474,PerTick=0, _ IsCompressed=0,VerifyMedia=0,,,,,CheckCRC=0,,,InstallMode=262144,,,,,,,)
MSI (s) (48:74) [12:54:13:930]: File: C:\Documents and Settings\Administrator\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp; _
Won't Overwrite; Won't patch; Existing file is unversioned but modified
MSI (s) (48:F4) [12:36:47:441]: Executing op: FileCopy(SourceName=QuickTime.qtp,,DestName=QuickTime.qtp,Attributes=0,FileSize=9474,PerTick=0, _ IsCompressed=0,VerifyMedia=0,,,,,CheckCRC=0,,,InstallMode=262144,,,,,,,)
MSI (s) (48:F4) [12:36:47:457]: File: C:\Documents and Settings\Administrator\Local Settings\Application Data\Apple Computer\QuickTime\QuickTime.qtp; _ Overwrite; Won't patch; Existing file is unversioned and unmodified - no source file hash provided to compare
MSI (s) (48:74) [12:54:13:930]: Executing op: FileCopy(SourceName=QTTask.exe,,DestName=QTTask.exe,Attributes=0,FileSize=286720,PerTick=0, _ IsCompressed=0,VerifyMedia=0,,,,,CheckCRC=0,Version=7.2.0.240,Language=1033,InstallMode=262144,,,,,,,)
MSI (s) (48:74) [12:54:13:930]: File: C:\Documents and Settings\Administrator\Local Settings\Application Data\Apple Computer\QuickTime\QTTask.exe; _
Won't Overwrite; Won't patch; Existing file is of an equal version

When the line which complains about no "file hash" was generated, this file actually had an entry in the 'MsiFileHash' table for the Filekeys in the File table AND the DuplicateFile table.

This lead me to the conclusion, that all the rules apply, but the one with hashes.

Regards, Nick
Answered 09/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I have a question related to Quicktime Pro licensing. We have already repackaged and distributed the free version of Quicktime 7.2 to our computer labs at my university. Now one of the labs has purchased licenses for PRO and wants the serial number applied on all the computers in his lab.
I have been trying to locate where on the machine the license key is stored but I have had no luck finding it. It doesn't seem to be anyplace inthe registry or in a file that I can find. I've even installed QT, ran Repack, launched QT and entered the license key, ran Repack again and examined the output and it did not pick up any license key. Can anyone share their insights?
Thanks

Tom
System Administrator
University of Southern California
Answered 09/14/2007 by: Trota
Yellow Belt

Please log in to comment
0
I guess I'm not understanding the removefile table as well as I thought. The files I've requested to be removed do not get overwritten even though the ones I want copy over are newer than the existing ones on the test PC.

Here is what I have in my RemoveFile table:

QTPlayerSession.xml _User QTPlay~1.xml|QTPlayerSession.xml QuickTime 3
QuickTime.qtp _User Quick~1.qtp|QuickTime.qtp LS_Apple_Comp_QuickTime 3

Note to Trota:

I think the license is stored in the com.apple.QuickTime.plist file
Answered 09/14/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Use UserSettingsRepair as the component as you're using this component for determine if the duplicate files should be installed or not.

FileKey = DelFile1
Component_ = UserSettingsRepair
FileName = QTPLAY~1.XML|QTPlayerSession.xml
DirProperty = QuickTime
InstallMode = 3

FileKey = DelFile2
Component_ = UserSettingsRepair
FileName = QUICKT~1.QTQ|QuickTime.qtp
DirProperty = LS_Apple_Comp_QuickTime
InstallMode = 3
Answered 09/14/2007 by: AngelD
Red Belt

Please log in to comment
0
Hi Tom,
ORIGINAL: Trota
I have been trying to locate where on the machine the license key is stored but I have had no luck finding it.


The registration is in the file 'com.apple.QuickTime.plist' in the folder:
"C:\Documents and Settings\All Users\Application Data\Apple Computer\Quicktime\"

If you go up to post #19 in this tread, you can see everything you need to deploy this file.

Regards, Nick
Answered 09/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi folks,
in this thread: http://itninja.com/question/migrate-2000-professional-workstation-snmp061
John McFadyen brought up an very important and interesting aspect of this self healing user profile stuff.
The so far proposed way for doing this, has a flaw when we have to self heal a file from the "<UserProfile>\Local Settings\" directory and are using roaming profiles.
Because the "Local Settings" branch of the profile is not going to the server, it won't be available, when a certain user logs in for the first time on a new machine.
It's just not part of the profile which is downloaded from the roaming profiles share. And the package is not going to sense this, because the component key is a
registry key in the users profile. And this regkey is certainly being roamed because it is stored in the ntuser.dat hive file. This means the component key is being roamed and no self heal will be triggered on the new machine.
John suggested, to use a script to work around this.
There is maybe an easier, more elegant way to overcome this:

What about using a registry hive for storing the components key, that is also not being roamed?

Yes, there is actually a quite seldom mentioned registry hive, called 'UsrClass.dat', which is stored in: "<UserProfile>\Local Settings\Application Data\Microsoft\Windows\" which is not part of the roaming profile. This hive is mounted to: "HKEY_CURRENT_USER\Software\Classes". This branch is merged
with "HKEY_LOCAL_MACHINE\SOFTWARE\Classes" and togheter, they make up the virtual "HKEY_CLASSES_ROOT" tree in the registry.
The idea is to create a separate component for the file(s), that have to go to the "<UserProfile>\Local Settings\" directory. And then we create a registry key as the
components key in "HKEY_CURRENT_USER\Software\Classes\Software\<AppName>".
With this, the components key will not being roamed and therefore will not be available, when a certain user logs on to machine, he was never before.
This will trigger the self healing of the package and the 'DuplicateFiles' action will copy the file(s) to its destination.
All this should work in Vista too, as this part of the system hasn't changed much.
Tested this behavior in the las few days and it seems to work. However, i would like you folks to review this and come up with things and aspects, which i may have overlooked.
Regards, Nick
Answered 09/15/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi Nick,

Very interesting thought!
I havn't tested your approach but in theory that should work as you expect.

Roaming profiles are most used in TS (terminal server) environment and for mobile users (laptop) as they may be out of office quite often. Have in mind that though "HKCU\Software\Classes" is not roamed by default it can be set to roam..

(In a TS environment users are not allowed to trigger msiexec for any actions such as a repair.)

One side note:
Why it is not recommended to use a file as keypath under user profile is due to failing to find broken components for admin-users as they have access to other user's (local) profile directory. So when windows installer is checking for broken components it will find an existing keypath under another user's profile instead if any and therefore not repair. Yet as this doesn't apply for normal users you could still set a file under user profile as keypath meaning, a repair will occur for any non-admin user.
Answered 09/15/2007 by: AngelD
Red Belt

Please log in to comment
0
This works great! Thanks for your help on this. I'll be able to put this to use with other applications. One last question. Is there any offered classes that deal with learning about MSIs? I know Novell and some other groups offer classes on repackaging software but I'd like something a little more specific in dealing with MSIs.
Answered 09/17/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
Why not ask John (jmcfadyen) if you're near Australia as he's holding classes regarding packaging.
Answered 09/17/2007 by: AngelD
Red Belt

Please log in to comment
0
I'm in Oregon, USA. My employer has never let me attend training outside of Oregon and I'm pretty sure that Australia is out of the question but it's nice to know that someone is actually offering MSI training.
Answered 09/18/2007 by: joedown
Second Degree Brown Belt

Please log in to comment
0
http://learn.altiris.com/eCommerce/index.cfm?FuseAction=ShowSKUDesc&SKUID=30&AddPopularity=1&currency=USD&region=1

$2K...ouch! El Segundo looks closest for an official course. Maybe there are other, non-Altiris affiliated courses available locally...
Answered 09/18/2007 by: VBScab
Red Belt

Please log in to comment
0
Argh. I'm dealing with this issue right now and I really wish Apple would have given me a nice easy registry key to add to force QuickTime to look in one location for all users. Instead it's hoop-jumping time! But thanks, everyone, for making it as painless as possible.
Answered 09/19/2007 by: JubalHarshaw
Senior Yellow Belt

Please log in to comment
0
I've been banging on this package for days. This guild has definitely helped bit I can't seem to get rid of the File Associations window notification on first launch. I have made sure to configure QuickTime prior to copying and using the config files as per this awesome guide. Does anyone know how to disable the file association prompt. Thanks.
Answered 10/18/2007 by: blueboy
Orange Senior Belt

Please log in to comment
0
Hi blueboy,
load the MSI into ORCA and naviagate to the 'ControlEvent' table.
The dialog is called by the line:
SetupCompleteSuccess ConfigureTypesBtn DoAction Launch_QuickTimeCpl 1 1
You can simply delete it, if you never need it.
Or a better way: set a condition with a public property or the 'UILevel' property.
See: http://msdn2.microsoft.com/en-us/library/aa372096.aspx
Hope, this solves this.
Regards, Nick
Answered 10/18/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi guys,

I am a complete noob at the msi thing and have just enjoyed the heck outta playing with orca and the sdk on the apple install. I everything went smoothly untill the last step regarding the binary hash. It will create the hash and correct the filesize on the com.apple... file but not the other two. I can't seem to figure out why. Any enlightenment would be helpful I have spent just under 8 hours on this (not just moding the msi but reading the background info).

Thanx,
Richard
Answered 10/18/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Hello,

i don´t want to disapoint you guys -- but this is much faster and has all the whistles i need:

1. run quicktimeinstaller
2. go to user temp ( dos box -> set -> look at var temp ....)
3. search for quicktime.msi & copy it
4. the changers:
ALLUSERS=1
DESKTOP_SHORTCUTS=0 --> who needs a Q on yer desk
QTTaskRunFlags=0 --> no more tray
QTINFO.BISQTPRO=1 --> no more pro nags
SCHEDULE_ASUW=0 --> no more software update

you find the switches after you open the msi with msidiff ( http://dennisbareis.com/index.htm )

msiexec /i QuickTime.msi /qn ISSETUPDRIVEN=0 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No

[8|] Otherwise i like the thread alot, especialy the self healing function et al[8|]

now to my question, where can i download orca without all the clutter ...
alternatively a link to a download and a "strip" instruction would also be good
Answered 10/19/2007 by: alfm
Yellow Belt

Please log in to comment
0
Hi Richard,
have you exactly done this?
Make a copy of the 'Quicktime.msi' file and name it '1.msi'.
Load 1.msi into ORCA and sort the file table after the sequence.
Delete all lines, but the new last 3 (that means: the file table contains only the lines: 'com.apple.QuickTime.plist', 'QTPlayerSession.xml' + 'QuickTime.qtp').
Save it.
Make sure 1.msi and the 3 config files are present in the working directory.
Update 1.msi with this command:
cscript WiFilVer.vbs 1.msi /U /H
Now, 1.msi should contain update Filesizes and Hashes.
Copy them over to 'Quicktime.msi'

That should do the trick.
Regards, Nick
Answered 10/19/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi Alf,
it's ok, if this is working for you like this.
But this thread is mainly about, how to include the preference files with the MSI.
And this i a little bit more complex then just calling a few properties on the command line...

Here is a link to ORCA 3.1: http://astebner.sts.winisp.net/Tools/Orca.zip

Regards, Nick
Answered 10/19/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
That is exactly what I did. I am going to start from scratch today to see if it was a process error on my part. And to alfm the reasoning behind all my efforts has to do with compatibilty with firefox. During our test deploy on our test network we experenced an illegal operation crash when loding a quicktime vid. During research it was found that un-checking the directdraw boxes in the advanced tab (under the directx heading) cured the problem. We really don't need tons of support calls on this so I am trying to cure the problem in deploy rather than with support calls.

I'll let you know how it goes....

BTW, I like alfm's idea too... I have always hated the Q on the desktop thing.... I didn't relize that there was a switch for it...

Thanx,
Richard
Answered 10/19/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Ok,
Not sure what I did last time but it worked this time... got all the hashes
Answered 10/19/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Has anyone followed up on Nick's suggestion about using a locally stored registry hive for storing the components key? We have roaming profiles on our network (not my idea) and I'd like to avoid having Quicktime go through the self heal process everytime a new user logs onto a PC with Quicktime.

If you have followed up on this, can you provide "cookbook" instructions for Nick's great post on 9/11/07? I would really love to see this.

Thanks

Cliff
Answered 11/05/2007 by: ccook13
Senior Yellow Belt

Please log in to comment
0
I am not sure what you mean by "cookbook" but I started with no experence with msi files at all and his instructions are very step by step and I had no trouble following them (thanx again nick). As for the roaming profiles thing, we use roaming here (and I like them) and the initial setup is no worse then the IE "configuring preferences" thing that pops up with a new user. It lasts about 10 sec. (max) and it should not worry you. We have deployed the msi with the special settings for Firefox to our customers. The only thing that I ran into that was not in the guide was the chineese language thing (it would not initially deploy).

Richard
Answered 11/05/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
I think that you've answered my question - the self heal install is trivial. As for Firefox, what settings did you deploy? I encourage my folks to use FF instead of IE.

BTW, Apple released Quicktime 7.3 today I think. I'm off to fool around with the install to see if settings files are put in the same places as 7.2.
Answered 11/05/2007 by: ccook13
Senior Yellow Belt

Please log in to comment
0
I gotta do one for 7.3 too.... I didn't know it came out... But for firefox compatibility un check the 3 direct draw boxes under "DirectX" in Edit>Preferences>Quicktime Preferences...>Advanced tab. The settings will be saved when you pull the three settings files. Those DirectDraw boxes crashed firefox on most of my dev lab computers. I don't know why and searches on the internet did not give any reasons execpt "just do it". It seems to work ok with out the boxes checked.

Richard
Answered 11/05/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
By the way, Apple seems to have fixed the firefox issue with directDraw...

Richard
Answered 11/07/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Ok, I ran into an error on the last step and i am not sure what it means "CostInitialize failed, returned 3" after running the " cscript WiFilVer.vbs 1.msi /U /H" line... I am going to go back over everything and double check it but any clue might be useful... This is on the 7.3 msi btw, and i am using the exact same instructions as before...

EDIT: execpt i changed the ver from 7,2,0 to 7,3,0

EDIT: Nevermind... I found the error.....

Richard
Answered 11/07/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Ok,

Now I really have a problem... Local install is fine but when i try to deploy via AD it errors out saying that there is a newer version already installed.... that is odd...

Richard
Answered 11/07/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Hi Richard,
what does the logfile tell you?
If you are installing per machine, the log lies in the windows\temp folder.
Regards, Nick
Answered 11/07/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
here are the logs.. <removed>

Richard
Answered 11/07/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
I didn't have the time to dig into this fully, but it looks like they changed the command in their launch conditions that look for newer installations. In 7.2, the condition is called NOT QTINFO.BNEWERQTISINSTALLED. In 7.3, it's NOT BNEWERPRODUCTISINSTALLED. Looks like the older one was using a function of qtinfo.exe. On a whim, when I generated my transform I just renamed the Launch Condition to the one used in 7.2 and it worked like a charm. I'm still very new to this, so I don't know if I'm creating more problems than I'm solving, but so far it's working fine.
Answered 11/07/2007 by: MrH
Orange Belt

Please log in to comment
0
Hi Richard,
this looks kind of weird to me.
The showstopper is this line: 'NOT BNEWERPRODUCTISINSTALLED' in the 'LaunchCondition' table.
The property is set by the CA 'PreventDowngrade'. But it must be triggered by something.
Does this occur on a clean machine too with just QT 7.2.0.240 installed?
If nothing helps, you could try to remove this condition.
Regards, Nick
Answered 11/07/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hello,

I have been trolling this thread for the past few days as I have been trying to get Quicktime 7.3 packaged. I have managed to get everything working except for two little annoyances. I have so far been unable to prevent the pop-up message warning that some of the file types assocated with quicktime are currently associated with other applications. Blueboy posted something about this a while back and I tried nheims suggestion to delete the " SetupCompleteSuccess ConfigureTypesBtn DoAction Launch_QuickTimeCpl 1 1" line under the ControlEvent table but that didn't seem to do the trick for me.

I also tried the suggestion from this thread: http://itninja.com/question/quicktime-7.0.2---file-extension-problems
ORIGINAL: meastaugh1

When you try and add some entries to the Registry table they don't actually get written. After a couple of hours trying to figure it out, I found that one of QT's CustomActions (QTPluginInstaller_QTInstallProc) clears out the registry. I assume this is to remove registry entries created by previous versions of Quicktime. Re-ordering this CustomAction in the InstallExecuteSequence table allows registry entries entered in the Registry table to be created. I sequenced it at 4990, so it's before WriteRegistryValues.


7.3 didn't seem to have the custom action so just to test I set "QuickTimePostInstallMSIProc_immediate" to 4990 and "QuickTimePostInstallMSIProc_deferred" to 4991 either way it didn't seem to make a difference.

I also noticed that under Quicktime Preferences when you go to the MIME settings under the browser tab the box "Notify me if other applications modify these association" is still checked even though I had unchecked it during the initial install.

Any ideas?

Here is a quick bit on info of what I have done so far. (Disclaimer: I am new to packaging so some of my terminology might be wrong.)
  1. Installed Quicktime and selected all preferences.
  2. Copied the .qtp file
  3. Created a Transform for Quicktime.msi
  4. Created a custom component called QicktimePrefs.qtp
  5. Added the .qtp file to the component with directory path set to Windows\Profiles\Local Settings\Application Data\Apple Computer\QuickTime
  6. Added custom registry key to trigger active setup and copy the .qtp file to directory listed above
  7. Set Active Setup stubpath to execute "msiexec.exe /fu [ProductCode] /qb when a new user logs in.
  8. Add the HKLM Active X keys AlwaysReclaimAssociations set to 0 and QTTaskRunFlags set to 0
  9. Set Desktop Shortcuts property to 0 and Schedule_Asuw to 0
  10. Compiled and installed.
  11. See Question at beginning of post. ;)
Answered 11/07/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Hi Aron,
this is, most likely, done by the very last sequence in the 'InstallExecuteSequence'.
Set it to a condition, which is never true.
Installing it silently with the "/qn" switch should also do the trick.
Regards, Nick
Answered 11/07/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
You are quick! I didn't even have a chance to finish editing my post. :)

The last task I have "InstallExecuteSequence" is Launch_QTTask with the Condition "Launch_QTTask","$QTTask.exe>2 OR (?QTTask.exe>2 AND NOT $QTTask.exe=2)"

I will try your suggestion and see how it goes.

Thanks again,

Aaron
Answered 11/07/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
I removed the Launch condition and everything works.... I'll let you all know if we see any other problems...

Richard
Answered 11/07/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
nheim, I tried your suggestion but still no luck. I noticed that the QT Task bar launched after I made that change so I reverted it back to the original settings and the QT Task bar no longer launched but either way I still get the File association prompt. I am going to dig back in and see what else I can find. I appreciate all your help.

Aaron
Answered 11/08/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
ORIGINAL: alfm

Hello,

i don´t want to disapoint you guys -- but this is much faster and has all the whistles i need:

1. run quicktimeinstaller
2. go to user temp ( dos box -> set -> look at var temp ....)
3. search for quicktime.msi & copy it
4. the changers:
ALLUSERS=1
DESKTOP_SHORTCUTS=0 --> who needs a Q on yer desk
QTTaskRunFlags=0 --> no more tray
QTINFO.BISQTPRO=1 --> no more pro nags
SCHEDULE_ASUW=0 --> no more software update

you find the switches after you open the msi with msidiff ( http://dennisbareis.com/index.htm )

msiexec /i QuickTime.msi /qn ISSETUPDRIVEN=0 DESKTOP_SHORTCUTS=0 QTTaskRunFlags=0 QTINFO.BISQTPRO=1 SCHEDULE_ASUW=0 REBOOT_REQUIRED=No

[8|] Otherwise i like the thread alot, especialy the self healing function et al[8|]

now to my question, where can i download orca without all the clutter ...
alternatively a link to a download and a "strip" instruction would also be good



I am replying in response to alfm. When I try to modify those properties that he mentions I don't even see the 2 properties that I highlighted in red. Can someone please enlighten me. Do I have to add those properties?
Answered 11/08/2007 by: mreusguy
Senior Yellow Belt

Please log in to comment
0
Hi Aron,
didn't read your previous post exactly enough. :-(
This setting is stored in the 'Quicktime.qtp' preference file.
So, you have to figure out, what going on with it.
Regards, Nick
Answered 11/08/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
nheim,

As a test, after active setup installs the quicktime.qtp file in the current user profile and before I launch quicktime for the first time, I copy the exact same .qtp file over the top of the one active setup installs. I notice that even though they are supposed to be the same file the one active setup copies over is 11.3k and the original is 10.9k. I then launch Quicktime and everything works as I would like it to. I am not sure what is changing the .qtp file before it is copied over to the current user profile but it sure is annoying. :) As an alternative test I removed the file from the custom component I had made and instead I created a custom action that would execute a wyse script I created to copy the file over right before the install finalized is run. This stopped the file association pop up but when I go into quicktime preferences under the MIME settings it still has the option checked to prompt when associated with other apps, but all my other preferences are still set correctly. Is there some registry key that I am missing that would cause this? I am tearing what little hair I have left out of my head. ;)

Aaron
Answered 11/08/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Hi Aron,
indirectly, you are saying, that your qtp-file is being modified by the 'DuplicateFile' action of Windows Installer during deployment.
Never say never, but this seems a very long shot to me...
Please check everything on a clean system.
Be aware of the overwriting rules, which have been discussed earlier in this thread.
For the registry part: Have you tried to monitor the changes with a tool like ARM (active registry monitor)?

Regards, Nick
Answered 11/12/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Howdy folks,

I am struggling with the file association popup that comes the first time users launch QuickTime 7.2. I was looking for a regkey to push to the workstation to quiet the prompt so the user does not see it. I have looked through this thread a few times and I'm not seeing the answer to that.

Thanks in advance for any help or suggestion you might have to offer.
Answered 11/12/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
nheim,

I have been doing all my testing on a clean VMWare snapshot and rollback between each test. I did see your post about ARM earlier and I did try it out but didn't spend much time with it. I should have some time later today to do some tests and let you know what I find out.

Thanks again for all your help!
Answered 11/12/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Hi Ed,
you should read the last few posts from Aron and me.
There, we discuss exactly this settings...
If there isn't a regkey for this, you probably search a long time...
Regards, Nick
Answered 11/13/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Thanks for the reply Nheim.

I was able to find the *.QTP file and that seems to hold the settings for the prompt. I copied that file out and then have set my push to copy that file into a new install. That seems to quell the prompt. However I had it working yesterday but today I re-imaged my test box and pushed my install to the system that includes the files I copied off from yesterday were to the proper locations but when I opened QuickTime the stupid prompt was there. I then re-saved the XML and the QTP files out. Re-imaged my test system, re-pushed the install and it worked then. I am pushing the files to the "%USERPROFILE%\Application Data" or %USERPROFILE%\Local settings\Application Data folders. I saw a referense to the all user's folder. Would that make more sense to push it to the alluser's folder, or what is your thought on a date issue?

Thanks in advance for your help
Answered 11/13/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
Okay, I finally have success! My problems I had yesterday were completely user error. My custom action that launches right before "Installfinalize" was pointing to my old wyse exe with the wrong qtp file inside. Once I updated the name in the MSI Script and recompiled everything worked as it should. Just in case someone else is having the same problem here is a very breif overview of what I did to get it work. I might have missed a couple steps here but hopefully this is enough to get people pointed in the right direction.

DISCLAIMER: This is just a process that worked for me and may or may not be the best way for others. I claim no responsibility if the process below does not work or breaks something. Some of these steps may be redundant and not needed.
  1. Installed Quicktime and selected all preferences.
  2. Copied the .qtp file
  3. Created a Transform for Quicktime.msi
  4. Created a custom component called QicktimePrefs.qtp (name can be different)
  5. Added custom registry key to trigger active setup on new user login. Example: HKCU\Software\T2\Quicktime\[ProductVersion]
  6. Set Active Setup stubpath to execute "msiexec.exe /fu [ProductCode] /qb when a new user logs in. You can find information on Active Setup here: http://www.etlengineering.com/installer/activesetup.txt
  7. Add the HKLM Active X keys AlwaysReclaimAssociations set to 2 and QTTaskRunFlags set to 0
  8. Set Desktop Shortcuts property to 0 and Schedule_Asuw to 0
  9. Under the InstallExecuteSequence table I did the following: Set the condition for Action "Launch_QTTask" to 0, set the sequence number for "QuickTimePostInstallMSIProc_immediate" to 4490, and set the sequence number for "QuickTimePostInstallMSIProc_deferred" to 4491
  10. Under the Property table I changed the value for "QT_TRAY_ICON" to #0, changed the value for "SCHEDULE_ASUW" to 0, and changed the value for "DESKTOP_SHORTCUTS" to 0.
  11. I then created an executable in wisescript to copy the .qtp file to the current user profile. Example below
    item: Get Registry Key Value
    Variable=APP_DATA
    Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
    Value Name=Local AppData
    Flags=00000010
    end
    item: Set Variable
    Variable=QUICKTIME
    Value=%APP_DATA%\Apple Computer\QuickTime
    end
    item: Remark
    end
    item: Install File
    Source=.\QuickTime.qtp
    Destination=%QUICKTIME%\QuickTime.qtp
    Flags=0000000000100010
    end
  12. Updated the transform MSI Script under the Execute Deferred tab to add the following before the "Installfinalize" action:
    If NOT Installed OR REINSTALL then
    Execute Program From Installation [QuickTime_Prefs] ~ name of wise executable you created
    End
  13. Compile and Test


Answered 11/13/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Hi Ed,
that depends on some parameters:
First of all: You find the correct paths in the first then posts of this thread.
Second: It depends, where you are deploying to XP or Vista.
Third: Apple has changed the path in Version 7.2. Earlier Versions are different.
Print out this thread and save it, you should find almost everything you need in it.
Regards, Nick
Answered 11/13/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I work for a school district and have a pretty unique environment to package for. The biggest challenge is that our students use mandatory roaming profiles, while all of our staff use standard roaming profiles. With over 400 different applications deployed in various combinations to 5000 client machines, I often need to come up with especially creative solutions. Almost every time a new version of QuickTime comes out, I have to rethink our deployment method because Apple often makes so many drastic changes to their distribution. With 7.3, their decision to move the default location of the .qtp to the local settings folder has proven to be a big headache here. For us, since so few users have a need to modify the .qtp once it's been set up properly for our environment, in the end it made the most sense to redirect the location of the .qtp back to all users. There's a HKCU key that allows this: HKEY_CURRENT_USER\Software\Apple Computer, Inc.\QuickTime\LocalUserPreferences\. I set the FolderPath value to C:\Documents and Settings\All Users\Application Data\Apple Computer\QuickTime\ and copy the modified .qtp to that location. Admittedly it's not the most elegant solution and probably won't be the preferred method for most of you, but it works for all my user types and gets this app off my plate for now.

Cheers-
Mike
Answered 11/13/2007 by: MrH
Orange Belt

Please log in to comment
0
MrH,

Actually I think I might prefer your method. I am going to go back and give this a try.
Answered 11/13/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Hi Aron,
that's ok. Just be aware, that 'QTPlayerSession.xml' still needs to go to the profile, if you want to deploy it.
That depends on how important you consider the 20 + options in that file.
As i mentioned earlier, i consider the transfer of the preference file to the profile as an important step in the right direction.
If they would transfer this stuff into an XML file or to the registry, that would make things even better.
But the info Mike gave, can be very important for certain scenarios and to maintain backward compatibility
Regards, Nick
Answered 11/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Mike and or Nick,

Thanks for sharing your knowledg of QucikTime, I am having trouble getting quicktime to push with the deafault file types intact. I have gotten the File Association prompt to stop comming up but I can't figure out how to keep the File associations to stay intact for the user. I'm using Mikes suggestion, and that was to change the Local User preference in the registry. My push then copies the *.QTP file to C:\Documents and Settings\All Users\Application Data\Apple Computer\QuickTime\ I also am copying the XMl file to Documents and Settings\%userprofile%\Application Data\Apple Computer\QuickTime.

Is there something I'm missing?

Thanks in advance for any help or suggestions you might be able to provide.
Answered 11/16/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
Hi Ed,
i think, i was wrong with that statement.
However, the best thing you can do, is to log that stuff and see which are the differences in both deployments.
As soon as i get to it, i will investigate this deeper. But this may take a while...
Regards, Nick
Answered 11/16/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Nick,

FYI, We are not using Roaming Profiles. Not sure if that matters at this point.
Answered 11/16/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0

Hi Nick,
I think I'm really close to having QuickTime packaged and ready to push. I am new to the world of Package development as you may be able to tell. Anyway I have Wise Package Studio and Zenworks as a delivery method. I have everything working in my package except the File Associations part. I read through the board a few time and I think my answer may lie in your post where you say this is most likely, done by the very last Sequence in the "InstallExecuteSequence". Set it to a condition, which is never true. I have the MSI pushing in a ZenWorks NAL object and it is silent. I have pushed it several time to different restricted test user's on my test box. It seems as though when I push it to the test user I used to create the known good QTP and XML files it seems to work fine. But If I install it for a different user the File Associations is empty, nothing is set. I opened the MSI with Orca and found the 'InstallExecuteSequesnce' Table but the is where I get lost. I'm hoping you might be able to elaborate on that part a bit more for me.
Answered 11/16/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
Mundoog,

Did you see my post above with the process I used? I was having the exact same issue and using that process I was able to get it working. One thing I forgot to include is the QT_Task gets put into the Runonce in the registry causing the taskbar icon to pop up. I removed this as well and so far so good.

Aaron
Answered 11/16/2007 by: FritzsCorner
Senior Yellow Belt

Please log in to comment
0
Aaron,

If you are referring to Post 30 with 13 steps. I'm not that advanced yet. All I'm doing it pushing apple's MSI unchanged and then scripting the changes to the registry and copying the files over. It seems to work for the user that I used to capture the xml and qtp file but if I push it to a different user then I see there are now files assoc set.

So at this point I'm wondering what the exact steps might be to successfully bring over the files assoc.

Sorry for my lack of knowledg, and do apprecciate any help you might be able to offer.
Answered 11/16/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
I'm a little closer to havign this figured out. Our user's have restricted access to the workstation. The file association is blank if the user is restricted but If I grant them local Admin rights they have file preferences. If I then remove them from the local admin group their file assiciations are gone. So it's a rights issue at this point but I'm, not sure to what?

Any clues
Answered 11/20/2007 by: mundoog
Senior Yellow Belt

Please log in to comment
0
QT needs to write to reg keys in order to 'steal' file association from it's rivals...
The following is not exhaustive and is not a definitive answer to your issue...
Use Regmon to look for AccDenied in HKClasses root...

‘Users:Full Control’ on the following keys:

"CLASSES_ROOT\QuickTime.sdp"
"CLASSES_ROOT\QuickTime.sd2"
"CLASSES_ROOT\QuickTime.qtl"
"CLASSES_ROOT\QuickTime.qtif"
"CLASSES_ROOT\QuickTime.qti"
"CLASSES_ROOT\QuickTime.qt"
"CLASSES_ROOT\QuickTime.qhtm"
"CLASSES_ROOT\QuickTime.qht"
"CLASSES_ROOT\QuickTime.pntg"
"CLASSES_ROOT\QuickTime.pnt"
"CLASSES_ROOT\QuickTime.pict"
"CLASSES_ROOT\QuickTime.pic"
"CLASSES_ROOT\QuickTime.pct"
"CLASSES_ROOT\QuickTime.mqv"
"CLASSES_ROOT\QuickTime.mp4"
"CLASSES_ROOT\QuickTime.mov"
"CLASSES_ROOT\QuickTime.mac"
"CLASSES_ROOT\QuickTime.gsm"
"CLASSES_ROOT\QuickTime.dv"
"CLASSES_ROOT\QuickTime.dif"
"CLASSES_ROOT\QuickTime.cdda"
"CLASSES_ROOT\QuickTime.caf"
"CLASSES_ROOT\QuickTime.amc"
"CLASSES_ROOT\QuickTime.aiff"
"CLASSES_ROOT\QuickTime.aifc"
"CLASSES_ROOT\QuickTime.aif"
"CLASSES_ROOT\QuickTime.adts"
"CLASSES_ROOT\QuickTime.aac"
"CLASSES_ROOT\QuickTime.3gpp"
"CLASSES_ROOT\QuickTime.3gp2"
"CLASSES_ROOT\QuickTime.3gp"
"CLASSES_ROOT\QuickTime.3g2"
"CLASSES_ROOT\MIME\Database"
"CLASSES_ROOT\CLSID\{4063BE15-3B08-470D-A0D5-B37161CFFD69}"
"CLASSES_ROOT\.sdp"
"CLASSES_ROOT\.sd2"
"CLASSES_ROOT\.qtl"
"CLASSES_ROOT\.qtif"
"CLASSES_ROOT\.qti"
"CLASSES_ROOT\.qt"
"CLASSES_ROOT\.qhtm"
"CLASSES_ROOT\.qht"
"CLASSES_ROOT\.pntg"
"CLASSES_ROOT\.pnt"
"CLASSES_ROOT\.pict"
"CLASSES_ROOT\.pic"
"CLASSES_ROOT\.pct"
"CLASSES_ROOT\.mqv"
"CLASSES_ROOT\.mp4"
"CLASSES_ROOT\.mov"
"CLASSES_ROOT\.mac"
"CLASSES_ROOT\.gsm"
"CLASSES_ROOT\.dv"
"CLASSES_ROOT\.dif"
"CLASSES_ROOT\.cdda"
"CLASSES_ROOT\.caf"
"CLASSES_ROOT\.amc"
"CLASSES_ROOT\.aiff"
"CLASSES_ROOT\.aifc"
"CLASSES_ROOT\.aif"
"CLASSES_ROOT\.adts"
"CLASSES_ROOT\.aac"
"CLASSES_ROOT\.3gpp"
"CLASSES_ROOT\.3gp2"
"CLASSES_ROOT\.3gp"
"CLASSES_ROOT\.3g2"
"CLASSES_ROOT\QuickTime.QuickTime"


Enjoy...
Regards,
Al
Answered 11/21/2007 by: AB
Purple Belt

Please log in to comment
0
Hi folks,
i think this shouldn't be a problem at all!
First of all: We deploy QT for more than 3 years now to locked down machines and never hat issues with assocs.
Standard users can override all associations in their profile.
the HKCR branch is a merge from 'HKLM\SOFTWARE\Classes' and 'HKCU\SOFTWARE\Classes'.
Regards, Nick
Answered 11/22/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
First, I want to thank Nick (nheim) and all the others who have posted on this thread. After weeks of intermittent work, I finally have a more or less working install that is pushed via AD and includes a transform. Largely, I followed the directions in #20.

The one issue I have been unable to resolve involves MIME file types, which appeared to be controlled by the quicktime.qtp settings file. No matter what I do I have been unable to "turn off" the check box that tell QT 7.3 to notify the user if other programs attempt to change MIME settings (ie checkbox that says "notify me if other applications modify these settings"). For a standard user (ie not an administrator of the PC) if I uncheck the box, press APPLY to save the change then close the settings, when I reopen the settings window the box is checked off again. By monitoring the time stamp, I can see that quicktime.qtp is updated as soon as I reopen the application. I tried monitoring the registry and could not find a key that was responsible. Several times I tried updating the MSI and transform using the steps posted by Nick but could not find a way to get this to work. Repeating that process several time resolved the other issues reported above related to file associations but not this one. (I even was able to resolve the same problem that affected the file association tab in QT settings.)

What I have now works well enough for me but I find that this is one stubborn application to get to work the way I want.

Cliff
Answered 11/26/2007 by: ccook13
Senior Yellow Belt

Please log in to comment
0
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
Answered 11/28/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Ok,

Apple screwed up again... There are major security holes in QT 7.3 (go figure...). So Apple released 7.3.1.. Great we all know how to do this! Following all the previous steps on the MSI for 7.3.1 I ran into an error:

Event Type: Error
Event Source: MsiInstaller
Event Category: None
Event ID: 10005
Date: 12/18/2007
Time: 10:05:02 AM
User: richard
Computer: LEX
Description:
Product: QuickTime -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2727. The arguments are: QuickTime, ,

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 7b 45 30 44 35 31 33 39 {E0D5139
0008: 34 2d 31 44 34 35 2d 34 4-1D45-4
0010: 36 30 41 2d 42 36 32 44 60A-B62D
0018: 2d 33 38 33 42 43 34 46 -383BC4F
0020: 38 42 33 33 35 7d 8B335}


Let me know.... Maybe we should update the topic or start a new thread with some of the info revised... The answer to fix this is just as important as why this happened so I can learn.

Thanx Guys,
Richard
Answered 12/18/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Hi Richard,
error 2727 means: "The directory entry '[2]' does not exist in the Directory table."
So, log the install and check the directory table for missing/wrong entries.
Regards, Nick
Answered 12/19/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Ok,

I checked the log and saw the error but I didn't see exactly which one failed. I may be missing something... Link... http://www.darkstarmediallc.com/log1.zip
MSI - http://www.darkstarmediallc.com/quicktime.zip - extract from archive
Have a look...
Richard
Answered 12/19/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Maybe this will give you a hint:
DEBUG: Error 2727: The directory entry 'QuickTime' does not exist in the Directory table
Answered 12/19/2007 by: AngelD
Red Belt

Please log in to comment
0
According to what i am reading (and I may be wrong) the line

MSI (s) (70:A0) [10:05:00:170]: Dir (target): Key: QuickTimeInstallFolder , Object: C:\Program Files\QuickTime\

in the log is the quicktime folder so I am confused where the error is coming from... Again I am new at readin these log files but I understand enough to be dangerous.

Richard
Answered 12/19/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Hi Richard,

The error occur while the InstallValidate action is executed.
I took a quick look in the MSI and there are two components referring to the QuickTime directory (Component table, Directory_ column).
So as the error message apply: Error 2727: The directory entry 'QuickTime' does not exist in the Directory table, the Directory table lacks the QuickTime directory entry.
Answered 12/19/2007 by: AngelD
Red Belt

Please log in to comment
0
Oh and a quick ICE03 validation would have given you these two errors:
ICE03 ERROR Not a valid foreign key; Table: Component, Column: Directory_, Key(s): UserSettingsRepair
ICE03 ERROR Not a valid foreign key; Table: Component, Column: Directory_, Key(s): UserSettingsRepairVista

As both the UserSettingsRepair and UserSettingsRepairVista components only contain registry entries and the keypath is set for these registry entries (RegUser1 / RegUser1Vista); also the msidbComponentAttributesRegistryKeyPath attribute bit is set for these components you should be able to just change the Directory_ column in the Component table for these components to TARGETDIR.
Answered 12/19/2007 by: AngelD
Red Belt

Please log in to comment
0
It works now... thankyou very much... I plan on trying to find a good book on MSI building and reading it over the xmas holiday...

Richard
Answered 12/19/2007 by: Dmention
Senior Yellow Belt

Please log in to comment
0
Richard,

You can get the "The Definitive Guide to Windows Installer Technology" ebook for free at http://nexus.realtimepublishers.com/DGWITSA.htm

This is a good starting point.
Answered 12/20/2007 by: AngelD
Red Belt

Please log in to comment
0
Hi,

I have been struggling with QuickTime 7.3.1 the last days, and have tried to follow the advices given in this thread, especially the recipe by FritzsCorner in post #79, without success. (I am not sure if FritzsCorner was packaging version 7.2 or 7.3 in that post.)

The way which now seem to work for me (although not done with the testing yet), is principally the same, but I have moved the WiseScript that copies the settings files (QuickTime.qtp and QTPlayerSession.xml) out of the MSI package. That is - I run the standalone WiseScript .EXE after installation of the MSI, and also have the Active Setup StubPath pointing to this .EXE. It seems to give the desired result, and I don't risk that the MSI tries to patch the .qtp file with default values, like we have experienced.

Right now I don't see any drawbacks with doing it this way, but perhaps some will show up, or other people here can think of some... Anyway I think this is simpler to implement than making a lot of changes to the MSI via an MST transform (I also specify the variables like DESKTOP_SHORTCUTS=0 on the msiexec command line).
Answered 01/11/2008 by: ajlande
Yellow Belt

Please log in to comment
0
I know this thread is a little old however post #19 nheim wrote still works for Quicktime v7.62.14.0. However I think this can be improved slightly (it seems to work for me)

Instead of Nesting the QuickTimeEssentials component under the new UserSettings component it would be better to have them as siblings under the root. Without changing this when the Activesetup is run the QuickTimeEssentials component is also invoked. With REINSTALLMODE=up setting I dont think it does anything else other than take longer to process. If QuickTimeEssentials isnt nested under UserSettings then when the Active setup runs with this setting REINSTALL=UserSettings it wont be reinstalling QuickTimeEssential, just UserSettings which of course copies the duplicate files.

IE this line

QuickTimeEssentials UserSettings QuickTime Essentials 2 1 INSTALLDIR 16

should read

QuickTimeEssentials QuickTime Essentials 2 1 INSTALLDIR 16

Also it appears that the com.apple.Quictime.plist component is not attached to a feature so a new line in the FeatureComponent table should read like so

QuickTimeEssentials com.apple.QuickTime.plist
Answered 06/10/2009 by: char1iecha1k
Yellow Belt

Please log in to comment
0
Please delete this post and re-post as a new thread.
Answered 09/24/2009 by: VBScab
Red Belt

Please log in to comment
0
I have followed Mr H's advice on this post and whilst QuickTime recognises the QuickTime.qtp file in the all users folder, I cannot get mov files to open as default with QuickTime. Also QuickTime does not show up on the Open With List. When I go into Edit-Preferences the property is set to .mov only. Ive noticed the checked option for video has a slight grey tinge tho it is still ticked.
Any Ideas?
Answered 11/02/2009 by: Nico_nz
Senior Yellow Belt

Please log in to comment
0
Hi All,
Please help in sorting out the problem with Apple Quick Time Installer.
while installing manually there appears two dialogue boxes(Install Desktop Shortcut and Automatically Update ) which i have to un check and then go for installation.
The problem is, soon after installation of msi the properties ChkOptInstShortcuts and ChkOptInstASU gets deleted, Even though i use to set these manually in Property table its not working.. i tried all the possible ways like custom action, control event table... but still the issue has not been solved .. it will be help full if some one replies with the solution
Answered 06/19/2011 by: devraj
Yellow Belt

Please log in to comment
0
Has anyone successfully packaged quicktime 7.70 or above for win7 and been able to surpress the auto updates? I have looked over many blogs but I didn't see any rescue for win7. Please help.

Thanks
su.deep
Answered 11/07/2011 by: su.deep
Senior Yellow Belt

Please log in to comment
0
Hi Sudip,
yes, of course ;-)
There is nothing new in there.
All the guidelines in this thread still apply.
Regards, Nick
Answered 11/09/2011 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I apologize for dredging up a very old thread, but thanks are due - this information saved me a ton of work (specifically, the info on the .plist file). Thank you very much!

- justsomeguy
Answered 12/19/2011 by: justsomeguy
Yellow Belt

Please log in to comment
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

Answered 06/14/2012 by: piyushnasa
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity