Friday, 23 March 2012

Apple quicktime MSI

Issues:-
1)      Suppressing the prompt of file associations.
2)      Disable auto updates

Type :- MSI

Solution :-

This application has at least two to three ways of resolving this issues.
Possibly one of the application where you might get to enrich your knowledge on packaging.
So, here we start .
The source provided is a executable file ,i.e. the .EXE  file.
This exe file extracts 3 MSIs to the %TEMP% location.
The names of these applications are “AppleApplicationSupport.msi” ,  “Quicktime” , “AppleSoftwareUpdate”.
The AppleSoftwareUpdate MSI need not be installed when you are making a package.
Apple application support MSI needs to be installed before installing the Quicktime.msi.
The customization for apple application support msi can be easily customized , without much trouble.

For the Quicktime.msi , we need to do certain customizations.
On launching the shortcuts, we get following windows, which asks for file associations to be done with Quicktime and picture viewer
cid:image004.png@01CD02D5.43731EC0

cid:image008.png@01CD02D5.43731EC0


The window or the Quicktime player can be suppressed by “Selecting Do not ask to perform this check again” and the select “NO”.
Once done this window will not come.
For the picture viewer shortcut the window cannot be suppressed the same way.
We can add a registry HKEY_CURRENT_USER\Software\Apple Computer, Inc.\QuickTime\LastFileAssociationCheck=dword:07668000.
This registry comes only when we select a “YES”.

For disabling the auto updates, launch quicktime player, goto edità preferencesàquicktime preferencesà Updates and uncheck the “Check for update ” checkbox.
This is the basic customization which is generally done.

For implementing these changes we need to now take the QuickTimeprefrences.qtp and the QTPSession.xml (the ones obtained after doing the above changes) and include it in package.
The QuickTimeprefrences.qtp is present at the location “%alluserprofile%appdata\LocalLow\Apple Computer\QuckTime.
The QTPSession.xml is present at the location “%alluserprofile%appdata\Local\Apple Computer\QuckTime.

To include these files there are various methods by which you can include it
1)      By adding active setup.
2)      By adding a custom action to copy these files.
3)      By changing the QTP file location to “%Programdata%l\Apple Computer\QuckTime\ QuickTimeprefrences.qtp
4)      By adding a VBScript file in active setup (to copy these setting files ).
5)   By copying the files on shortcut launch

Method 1

You can directly add these files at the mentioned locations
The QuickTimeprefrences.qtp at the location “%alluserprofile%appdata\LocalLow\Apple Computer\QuckTime.
The QTPSession.xml at the location “%alluserprofile%appdata\Local\Apple Computer\QuckTime.
Since the shortcuts are advertised, the MSI will heal in every user on first launch and the files will be placed.

RISK:- It might happen that the MSI might not heal in the User account. Hence this method might fail.
  
Method 2:-

By adding a custom action to copy these files. Add these files to INSTALLDIR and copy them to the required location using a script.
The issue that i found with this method was when i launched the shortcuts in USER account, the registry HKCU\Software\Apple Computer,Inc.\QuickTime\LocalUserPreferences\FolderPath had an incorrect path.

Method 3

By changing the QTP file location to “%Programdata%l\Apple Computer\QuckTime\ QuickTimeprefrences.qtp.
We need to also change the location in the registry HKCU\Software\Apple Computer,Inc.\QuickTime\LocalUserPreferences\FolderPath.
For this active setup is required.
RISK:- If your apple quicktme is not registred , it might prompt you for downloading quicktime PRO.

So now we have 2 methods, try any of them which should work. 

Method 4

For this method , copy all the files to the INSTALLDIR. Copy a script file (which will eventually copy the setting file (QTP and XML) files to their respective locations).
Add an active setup which point to this VBscript.
So for every user this Script will be executed.

Method 5

Create VBscript files for both the shortcuts (Quicktime and Picture viewer). Add these files in the package and point the shortcuts to these files.
In the VBscript we needs to have copy file mechanism as well as setting the registry HKEY_CURRENT_USER\Software\Apple Computer, Inc.\QuickTime\LastFileAssociationCheck=dword:07668000.
These shortcuts can be advertised  by having them in the same component as that of their VBscript files.

For me this application was a real learning experience. Tried all the methods and i would recomend you to use method 4 or 5.


2 comments:

Exponent Texture Analysis

Version :- 4.0.9.0 Type :- MSI Issue :- Drivers compatibility and post configuration. Solution :- 1] We have downloaded latest drivers...