tag:blogger.com,1999:blog-29452818.post6620336288019462867..comments2023-08-11T01:19:24.900-07:00Comments on Microsoft Installer: MSI: Re-Packaging Apple Quicktime 7.72.80.56 and later versionsPiyush Nasahttp://www.blogger.com/profile/11750828958665245404noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-29452818.post-40812513807873001912014-09-23T17:17:25.190-07:002014-09-23T17:17:25.190-07:00Hi Rob,
you need to write a script to copy data a...Hi Rob,<br /><br />you need to write a script to copy data and run it either in active setup or you need to run it by SCCM in user mode. I am not sure what deployment tool you are using, but I use SCCM to run the script after the install as I chain these installs.Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-61023389530483356762014-09-23T14:16:56.048-07:002014-09-23T14:16:56.048-07:00How do you handle the User data when you have an i...How do you handle the User data when you have an install tool that runs as the System account in a least privileged environment?<br /><br />QuickTime 7.75<br />09/23/2014Robnoreply@blogger.comtag:blogger.com,1999:blog-29452818.post-38750145429282677162014-01-10T15:22:54.364-08:002014-01-10T15:22:54.364-08:00THE PURE MSI WAY
run the install and grab the quic...THE PURE MSI WAY<br />run the install and grab the quicktime.qtp and qtplayersession.xml files as described already here<br /><br />Using InstallShield or Wise, make a new Transform for Quicktime.MSI<br /><br />Set the following properties<br />APPLEAPPLICATIONSUPPORTISINSTALLED {0C34B801-6AEC-4667-B053-03A67E2D0415} <br />ASUWISINSTALLED 0<br />REBOOT r<br />QT_TRAY_ICON #0<br />REGSRCH_DESKTOP_SHORTCUTS 0<br />SCHEDULE_ASUW 0<br /><br />go to the Directory Table. We are going to need to add some folders for the components to go to.<br /><br />these rows are for the folder AppData\Local\Apple Computer\Quicktime<br /><br />LocalAppDataFolder TARGETDIR LADF|LocalAppData<br />LADF_Apple LocalAppDataFolder APPLEC~1|Apple Computer<br />LADF_QuickTime LADF_Apple QUICKT~1|Quicktime<br /><br />these rows are for the folder AppData\LocalLow\Apple Computer\Quicktime<br /><br />LOCALLOWAPPDATA TARGETDIR .<br />LLAD_AppleComp LOCALLOWAPPDATA ac|Apple Computer<br />LLAD_QuickTime LLAD_AppleComp QuickTime<br /><br />Unfortunately AppData\LocalLow isn't a standard folder so we need to add a custom action to help locate it<br />Add this row into the CustomAction Table to have it set<br />SetLocalLow 35 LOCALLOWAPPDATA [%USERPROFILE]\Appdata\LocalLow<br /><br />and this row into the InstallExecuteSequence (1410 is before InstallInitialize)<br />SetLocalLow 1410<br /><br />Create two components in the QuickTimeEssentials feature.<br />call one of them qtplayersession.xml and the other quicktime.qtp<br />set qtplayersession.xml's destination folder to be LADF_QuickTime<br />set quicktime.qtp to LLAD_QuickTime<br /><br />add the appropriate files to the appropriate components, telling InstallShield to put the files into a CAB<br /><br />Go to the registry for component quicktime.qtp <br />add HKCU\software\Apple Computer, Inc.\QuickTime\LocalUserPreferences<br />Make a string entry called FolderPath<br />set [LLAD_QuickTime] as its value<br />set this value as the keypath for the component<br /><br />Go to the registry for component qtplayersession.xml<br />add HKCU\software\Apple Computer, Inc.\QuickTime<br />Make a string entry called Installed<br />set 1 as its value<br />set this value as the keypath for the component<br /><br />InstallShield saves the files in Data1.cab and we can have that cached by going to the MoveFile Table and adding the following row<br />Data1.cab QuickTimeInstallerCache Data1.cab SourceDir INSTALLERCACHE 0<br /><br />Push Save and test the MSI+MST+CAB togetherlooeeehttps://www.blogger.com/profile/08189937702895190891noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-39569348235656166022013-12-10T10:12:36.380-08:002013-12-10T10:12:36.380-08:00Piyush Nasa you're a start ThanksPiyush Nasa you're a start ThanksAnonymoushttps://www.blogger.com/profile/13685643056849043875noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-61630796642601433322013-07-09T22:36:11.986-07:002013-07-09T22:36:11.986-07:00You cannot do this through ORCA.
I used WISE Packa...You cannot do this through ORCA.<br />I used WISE Package Studio. You can use Installshield/Admin Studio or any other 3rd party tool which can help you achieve this.Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-61804076313389450932013-07-09T22:28:04.258-07:002013-07-09T22:28:04.258-07:00Hi Piyush,
Thanks for the post. But, I am little ...Hi Piyush,<br /><br />Thanks for the post. But, I am little lost and could not get this thing to work. How do you do this: "Now add these two scripts in your package in Custom Action to run just before Install Finalize and with Condition as NOT REMOVE~="ALL" in ORCA?<br /><br />Thanks,Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-29452818.post-29124265103810094342013-07-02T21:40:18.058-07:002013-07-02T21:40:18.058-07:00Thanks Cristhian for your input. I am glad my post...Thanks Cristhian for your input. I am glad my post helped you. Hope your input will be helpful to others as well here. :)Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-19130699672575809052013-07-02T21:32:25.187-07:002013-07-02T21:32:25.187-07:00Excellent work Piyush, this saved me a lot of time...Excellent work Piyush, this saved me a lot of time.<br /><br />I want to raise some things I encountered when packaging version 7.7.3 however, as originally I had followed this to the letter and had issues with it working properly.<br /><br />Mainly when running the install as a system user it would hang. Running it as an admin user, it seemed that the Quicktime Preferences screen would pop up towards the end of the install, a behaviour I found rather bizarre. <br /><br />I noticed the preferences .qtp file was not copying from the C:\ProgramData location to it's destination and even if I copied manually the Quicktime.qtp file, and had the HKCU registry key pointing to the right location, Quicktime would not load the preferences. I later discovered by installing the standard .exe that the HKCU\Software\Apple Computer, Inc.\QuickTime\LocalUserPreferences\FolderPath string points to C:\Users\\AppData\LocalLow...etc while the script itself writes %userprofile%\AppData\LocalLow...etc. Via modifying the key and relaunching Quicktime I confirmed that Quicktime does not recognise the environment variable for some reason. A quick fix for this was to add a couple of things to your script which I have copied below:<br />-----------------------------------<br />Option Explicit<br />Dim oShell,Temp,userprofile<br />Set oShell = CreateObject("WScript.Shell")<br />userprofile=oShell.ExpandEnvironmentStrings("%USERPROFILE%")<br />'HKEY_CURRENT_USER = HKCU<br />'HKEY_LOCAL_MACHINE = HKLM<br />'HKEY_CLASSES_ROOT = HKCR<br />'HKEY_USERS = HKEY_USERS<br />'HKEY_CURRENT_CONFIG = HKEY_CURRENT_CONFIG<br />Temp = WriteReg("HKCU\Software\Apple Computer, Inc.\QuickTime\LocalUserPreferences\FolderPath", userprofile & "\AppData\LocalLow\Apple Computer\QuickTime\","REG_SZ")<br /><br />Function WriteReg(RegPath, Value, RegType)<br /> 'Regtype should be "REG_SZ" for string, "REG_DWORD" for a integer,…<br /> '"REG_BINARY" for a binary or boolean, and "REG_EXPAND_SZ" for an expandable string<br /> Dim objRegistry, Key<br /> Set objRegistry = CreateObject("Wscript.shell")<br /> Key = objRegistry.RegWrite(RegPath, Value, RegType)<br /> WriteReg = Key<br />End Function<br />-----------------------------------<br /><br />This script will now expand the variable and write that to the key instead.<br /><br />Another issue I encountered is that the script which copies the .qtp file is pointing to "userprofile & "\Application Data\LocalLow\Apple Computer\QuickTime" this directory is not valid for Windows7 so as such the script should be modified to copy the .qtp file to:<br />-----------------------------------<br />On Error Resume Next<br />Set oShell = CreateObject("WScript.Shell")<br />userprofile=oShell.ExpandEnvironmentStrings("%USERPROFILE%")<br />systemdrive=oShell.ExpandEnvironmentStrings("%SYSTEMDRIVE%")<br />Set fso = CreateObject("Scripting.FileSystemObject")<br />Set afile = fso.GetFile(systemdrive & "\ProgramData\Apple Computer\QuickTime\QuickTime.qtp")<br />strDestination1 = userprofile & "\AppData\LocalLow\Apple Computer\QuickTime\QuickTime.qtp"<br /><br />fso.CreateFolder(userprofile & "\AppData\LocalLow\Apple Computer")<br />fso.CreateFolder(userprofile & "\AppData\LocalLow\Apple Computer\QuickTime") <br />afile.Copy(strDestination1)<br />-----------------------------------<br /><br />One final thing I would like to add is that the Quicktime.qtp only handles the Quicktime Preferences (Edit>Preferences>Quicktime Preferences). If you would like your package to also have preconfigured player preferences (such as disabling the Content Guide on startup) then you will need to apply a similar approach to a file called QTPlayerSession.xml, this file can be commonly found in %userprofile%\AppData\Local\Apple Computer\QuickTime.<br /><br />Anyway, that's about it, I felt it was necessary to share this information as this post helped me greatly in packaging Quicktime in a timely manner.<br /><br /><br />CristhianAnonymoushttps://www.blogger.com/profile/02269901038017293448noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-41482514729073553222013-06-19T16:50:51.281-07:002013-06-19T16:50:51.281-07:00I used WISE Package Studio. You can use Installshi...I used WISE Package Studio. You can use Installshield/Admin Studio or any other 3rd party tool which can help you achieve your task.Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-712156588532624042013-06-19T12:35:32.559-07:002013-06-19T12:35:32.559-07:00Hi, HOW DID YOU EXACTLY DO IT WHEN YOU SAID, "...Hi, HOW DID YOU EXACTLY DO IT WHEN YOU SAID, "Add this file to Transform in C:\ProgramData\Apple Computer\QuickTime\QuickTime.qtp". Is this purely in ORCA? Or you useda a 3rd party program to achieve this? aPeternoreply@blogger.comtag:blogger.com,1999:blog-29452818.post-30055905260199624692013-06-13T17:03:32.378-07:002013-06-13T17:03:32.378-07:00It would be little difficult to do this through OR...It would be little difficult to do this through ORCA. You can do it through any packaging tool like WISE, InstallshieldPiyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-24962998520062120362013-06-13T16:57:40.982-07:002013-06-13T16:57:40.982-07:00Hi, What do you mean and how do you this in Orca? ...Hi, What do you mean and how do you this in Orca? "Add this file to Transform in C:\ProgramData\Apple Computer\QuickTime\QuickTime.qtp."Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-29452818.post-7652874790682752012-07-02T16:32:20.702-07:002012-07-02T16:32:20.702-07:00Hi Dan, Somehow I have not had a good experience w...Hi Dan, Somehow I have not had a good experience with Duplicate File table so I try to avoid it. It is totally a packagers choice how he wants to deploy a thing. I have just showcased a way to do it.Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-58916077606469102042012-07-02T07:39:21.122-07:002012-07-02T07:39:21.122-07:00I personally try and avoid scripting when ever pos...I personally try and avoid scripting when ever possible...<br /><br />Personally I used the duplicate files table and self heal to place my custom qtp file.<br /><br />FYI duplicate file table is very handy at times, allows you to install a custom file in a central location (say installdir), then duplicate files table will copy it to another location during install/repair etc. Useful tool, I think I had to use this method because this product creates a custom source location (or is it itunes), so any files you add via mst will not be found during a repair (unless you copy the cab/files to the customer source location).<br /><br />Now this method does require you to build out your directory table to include the folders you need to place the file, to support both xp/w7 many times you have to duplicate entries due to the slight differences that may be need (sorry this is from memory, could be confusing itunes).<br /><br />Nothing terribly wrong with using vbs scripting, just know that you can may loose handy win installer features that could be leveraged during future upgrades etcDanhttps://www.blogger.com/profile/03341938373926862545noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-62056289410863544992012-06-27T16:26:23.474-07:002012-06-27T16:26:23.474-07:00I would suggest you to take a setup capture of wha...I would suggest you to take a setup capture of whatever customization you want and include it in your package.Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-74393545767131815432012-06-27T07:16:30.073-07:002012-06-27T07:16:30.073-07:00Excellent work!
A couple questions, is there a se...Excellent work!<br /><br />A couple questions, is there a setting to turn off the dialogue box that pops up asking for file association and a way to remove all the greyed PRO’s in the menus?<br />Thank you.MattMhttps://www.blogger.com/profile/10555490773100064934noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-17151485434629615252012-06-14T16:23:23.173-07:002012-06-14T16:23:23.173-07:00This is for Windows 7 specificaly. You can check t...This is for Windows 7 specificaly. You can check the path in XP by trying %appdata% and it should go there.<br />ProgramData is same as %allusersprofile%Piyush Nasahttps://www.blogger.com/profile/11750828958665245404noreply@blogger.comtag:blogger.com,1999:blog-29452818.post-58925747602299605642012-06-14T07:30:31.106-07:002012-06-14T07:30:31.106-07:00thanks for posting, are the paths mentioned specif...thanks for posting, are the paths mentioned specific to vista+7, what would the relevant XP path look like?<br /><br />thanksAnonymousnoreply@blogger.com